paint-brush
我用 Alpaca/LLaMA 7B 语言模型进行了实验:结果如下经过@zbruceli
69,347 讀數
69,347 讀數

我用 Alpaca/LLaMA 7B 语言模型进行了实验:结果如下

经过 Bruce Li13m2023/03/24
Read on Terminal Reader

太長; 讀書

我着手找出在我的 Macbook Pro 上运行的 Alpaca/LLama 7B 语言模型,可以实现与 chatGPT 3.5 类似的性能。我的观察: - Alpaca/LLaMA 7B:称职的初中生 - chatGPT 3.5:一个称职且全面的大学毕业生
featured image - 我用 Alpaca/LLaMA 7B 语言模型进行了实验:结果如下
Bruce Li HackerNoon profile picture

背景

2023 年 2 月 24 日,Meta Research 发布了LLaMA :一个具有 650 亿参数的基础大型语言模型。实际上,共有三个模型:LLaMA 65B 和 LLaMA 33B 在 1.4 万亿个令牌上进行了训练,而最小的 LLaMA 7B 模型在 1 万亿个令牌上进行了训练。


然后在 2023 年 3 月 13 日,一组斯坦福研究人员发布了Alpaca 7B ,这是一种从 LLaMA 7B 模型微调而来的模型。


在他们对单轮指令跟随的初步评估中,Alpaca 的性能与 OpenAI 的 chatGPT 3.5 (text-DaVinci-003) 在质量上相似,同时出奇的小且易于/便宜地复制(<600 美元)。


一切听起来都非常鼓舞人心,尤其是因为 7B 模型可以在笔记本电脑、Raspberry Pi 甚至智能手机上运行。并声称性能与 chatGPT 3.5 相当!


这可能对我们使用不需要巨大中央服务器的足够强大的本地语言模型可以实现的目标具有根本性的影响。它将解决许多关于隐私和可扩展性的问题。那么,让我们找出答案。

环境设置

有很多优秀的人在做开源工作来帮助我们在不同的硬件和软件上运行模型,以及如何下载 Alpaca/LLaMA 模型权重。您可以在参考章节中找到更多详细信息,这里是要点:


  • 模型: 由 Stanford 从 LLaMA 7B 优化的 Alpaca 7B


  • 软件:Georgi Gerganov 的 LLaMA C++ 移植版


  • 硬件:Macbook Pro M1 14” 2021,8 核 CPU 16GB RAM


  • 考试日期:2023 年 3 月 21 日

早期观察

我针对 ChatGPT 3.5 测试 Alpaca/LLaMA 7B 模型的目的不是为了判断哪个更好。这根本不是一个苹果对苹果的比较。一个有7B参数,而另一个有150B。


一个运行在我的 Macbook Pro M1 上,而另一个运行在拥有大量昂贵的 CPU 和 GPU 的巨型服务器场上。现在,抛开免责声明,结果是什么?


首先, Alpaca/LLaMA 7B 模型在我的 Macbook 上运行良好。以下是 CPU 和内存消耗,以及生成令牌的速度。它绝对足够小,足够快,适合日常使用。


但是,这个特定的 cpp 端口存在稳定性问题,并且经常会由于“分段错误”而死掉。我需要尝试原始的python代码来验证。


  • 使用内存4.4 GB


  • 使用的CPU :230-240% CPU(8 个内核中有2-3 个内核


  • 令牌生成速度:约6 个令牌/秒(305 个单词,1815 个字符,52 秒)


就响应质量而言,我会粗略地将他们归纳为这些角色:


  • Alpaca/LLaMA 7B :称职的初中生


  • chatGPT 3.5 :一个称职且全面的大学毕业生


Alpaca/LLaMA 7B 对于大多数提示来说当然已经足够好了,但我认为它还没有达到 chatGPT 3.5 的复杂程度。


但是,对于不到 1/20 的模型大小,它的表现非常好,特别是考虑到本地设备用例。感谢 Meta Research 和 Stanford Alpaca 团队!


您可以在后面的章节中亲自查看 6 个测试。

下一步

比较有意思的问题是如何用我自己的数据从Alpaca/LLaMA 7B通用模型中训练出个性化模型。我们大多数人已经拥有大量的数字化文本和图像语料库,而且我们每分钟都在生成新的。


因此,这既应该回顾性地进行,也应该在持续的基础上动态地进行。


另一个探索是在我的手机上运行它。我知道有人已经让它在 Google Pixel 6 上运行,但是令牌生成速度太慢了。我们可以找到在不牺牲太多性能的情况下进一步压缩模型的方法。


然后我们可以将这个本地模型集成到我们的应用程序中,例如聊天/信使、社交网络和相册。


所有这些都为联合训练开辟了更多可能性,其中一个中央服务器训练一个大的通用模型,而本地设备训练一个较小的个性化模型。


让本地 7B 模型与云 65B 模型对话并在不交换实际训练数据的情况下为每个模型不断优化模型会很酷。

测试 1:情感支持

迅速的:

安慰刚刚损失大量金钱的人的最佳方式是什么?

羊驼/美洲驼 7B 响应

  • 带着怜悯和同理心倾听。


  • 提出开放式问题以深入了解他们的感受。


  • 要有耐心;人们对悲伤和失去的反应各不相同。


  • 不要试图立即修复或解决问题。


  • 提供实际帮助,例如提供一顿饭、跑腿或提供陪伴。

ChatGPT 3.5 响应

损失一大笔钱可能是一种困难和情绪化的经历。以下是一些可以安慰刚刚遭受重大经济损失的人的方法:


  1. 倾听和同理心:允许人们表达自己的感受并同理心地倾听,而不是评判或贬低他们的经历。验证他们的情绪并表示支持。


  2. 提供实际支持:在实际问题上提供帮助,例如联系金融机构、审查保险单或寻求专业建议。


  3. 帮助他们专注于他们仍然拥有的东西:鼓励人们专注于他们仍然拥有的东西以及生活中最重要的事情,例如家庭、健康和幸福。


  4. 提供鼓励:鼓励此人保持积极向上,并提醒他们可以从损失中恢复过来。提供支持并保证他们能够克服这一挫折。


  5. 避免提供未经请求的建议:除非此人征求意见,否则避免提供未经请求的建议或批评。相反,提供支持和同情,并愿意倾听。


请记住,每个人处理损失的方式都不一样,没有一种万能的解决方案可以安慰遭受重大经济损失的人。最重要的是在他们身边,提供支持,并尽你所能提供帮助。

测试 2:写一首诗

迅速的:

请写一首春天的樱花,感叹逝去的时光

羊驼/美洲驼 7B 响应

我走在樱花下,

树枝像羽毛一样拂过我的皮肤。

空气温暖而芬芳,

一阵甜美的春风吹来一首摇篮曲。


时间过得真快;

感叹这逝去的时光。

当我漫步在树林中时,

我觉得四季如梦般从我身边飘过。


哦,春天的樱花,

再次唤起甜蜜的回忆。

你的花瓣轻轻亲吻我的肌肤,

再次为美好的未来带来希望。


所以我徘徊在你的美丽之下,

这些花瓣的香味在我的脑海里。

忘记过去是那么容易,

对我来说,挥之不去的记忆将永远是珍贵的。

ChatGPT 3.5 响应

粉红色的花瓣随风飘扬,

春天轻轻地来了,

樱花树盛开,

一眼就能驱散阴霾。


但当我凝视这一幕时,

我的心沉重,迷失在梦中,

因为在周围的美景中,

我无法动摇我所发现的。


失去的时间,它困扰着我的每一个想法,

买不到的宝物,

从我掌握中溜走的时刻,

我无法抓住的回忆。


哦,樱花,稍纵即逝的景象,

提醒时间的残酷飞行,

来去匆匆的季节,

时间如何流逝,如何流动。


我想坚持每一天,

珍惜每一刻说,

我曾经生活过,爱过,笑过,

过去没有浪费时间。


所以,让樱花落下,

让他们提醒我们所有人,

敞开心扉过好每一天,

永远不要让时间让我们分开。

测试 3:总结一篇文章

迅速的:

将以下文章概括为一段话


伦敦 CNN — 瑞士最大的银行瑞银 (UBS) 已同意在一项紧急救助协议中收购其境况不佳的竞争对手瑞士信贷 (Credit Suisse),旨在遏制本月早些时候因两家美国银行倒闭而引发的金融市场恐慌。


“瑞银今天宣布收购瑞士信贷,”瑞士国家银行周日在一份声明中表示。它表示,救助将“确保金融稳定并保护瑞士经济”。


瑞银将以 30 亿瑞士法郎(32.5 亿美元)的价格收购瑞士信贷,比该行周五收盘时的市值低约 60%。瑞士信贷的股东将在很大程度上被淘汰,仅获得相当于 0.76 瑞士法郎的瑞银股票,而该股票周五价值 1.86 瑞士法郎。瑞士监管机构表示,价值 170 亿美元的“额外一级”债券(一种风险较高的银行债务类别)的所有者将失去一切。


不同寻常的是,在瑞士政府同意修改法律以消除交易的任何不确定性后,该交易将不需要股东的批准。

羊驼/美洲驼 7B 响应

没有完成。一次报segmentation fault,另一次什么也没有返回。

ChatGPT 3.5 响应

瑞士最大的银行瑞银已同意以 30 亿瑞士法郎(32.5 亿美元)的紧急救助协议收购瑞士信贷。本月早些时候两家美国银行倒闭后,此次收购旨在保护瑞士经济并确保金融稳定。该交易不需要瑞士信贷股东的批准,因为瑞士政府已经修改法律以消除交易的不确定性。股东每股瑞士信贷股份将仅获得 0.76 瑞士法郎的瑞银股份,导致其价值下跌 60%。价值 170 亿美元的“额外一级”债券(一种风险较高的银行债务)的所有者将失去一切。

测试 4:如何掌握 SAT

迅速的:

你如何在 SAT 考试中取得好成绩?

羊驼/美洲驼 7B 响应

准备 SAT 的最佳方法是解决练习题并学习考试中测试的任何技能,例如数学和阅读理解。此外,熟悉考试的形式也很重要;了解时间限制和问题类型将帮助您更好地准备。


学习一些在高压考试中保持冷静的技巧也很有帮助。强烈建议在与真实考试类似的条件下进行模拟考试,因为它可以帮助您熟悉考试形式。

ChatGPT 3.5 响应

SAT 是美国高校使用的标准化考试,作为录取过程中的一个因素。以下是一些提高 SAT 成绩的技巧:


  1. 了解考试形式:SAT 由阅读、写作和数学部分组成。熟悉测试的形式,包括所提问题的类型和每个部分的时间限制。


  2. 练习、练习、再练习:练习越多,您就会越熟悉所提问题的类型以及正确回答问题所需的策略。有许多可用资源,包括练习测试和学习指南。


  3. 培养时间管理技能:SAT 是一项计时考试,因此培养良好的时间管理技能非常重要。确保为测试的每个部分明智地分配时间。


  4. 关注你的弱点:找出你的弱点并将你的学习重点放在这些领域。例如,如果您在数学方面遇到困难,请花更多时间练习数学题。


  5. 积极阅读:SAT 的阅读部分测试您理解和分析书面文章的能力。通过问自己关于文章的问题并在阅读过程中做笔记来积极练习阅读。


  6. 掌握应试策略:您可以使用许多策略来提高您的应试技巧,例如排除法、有根据的猜测以及跳过难题稍后再看。


  7. 睡个好觉:确保您在考试前睡个好觉,这样您就会得到充分休息并保持警觉。


请记住,取得 SAT 成绩需要时间、努力和奉献精神。通过遵循这些提示并进行必要的工作,您可以提高获得高分的机会。

测试 5:建立网站

迅速的:

建立一个网站可以通过 10 个简单的步骤完成:

羊驼/美洲驼 7B 响应

  1. 使用笔和纸或使用 Scrivener 等计算机程序,创建您想要在站点上显示的所有项目的列表。


  2. 确定您要创建的网站类型(博客、电子商务、投资组合等)。


  3. 决定是要自己做还是雇用其他人。如果您决定走 DIY 路线,请考虑哪种编程语言和 Web 托管平台最适合您的需求。


  4. 获取域名。一些平台在其软件包中提供免费域名;否则,您可以从大多数注册商处购买一个。


  5. 为您的网站选择一个主题/模板。有许多免费主题可供选择;如果你想要定制的东西,你必须付钱给设计师来完成这项工作。


  6. 构建您的内容。添加图像和文本,以及视频或音乐等任何其他功能。也创建一些页面,以便您的网站更有条理。


  7. 在网络上实时发布之前测试所有内容。使用浏览器扩展检查跨平台兼容性和可访问性。此外,使用不同的浏览器(Chrome、Edge、Firefox、Safari)测试您的网站。


  8. 一旦您确定您的内容适用于所有主流浏览器,请发布您的内容。


  9. 设置搜索引擎优化和分析,以便 Google 可以抓取您的网页并将其显示在搜索结果中。这样,人们在寻找相关关键字时就会找到您的网站。


  10. 推广您的网站,让人们知道它的存在。通过在社交媒体上发帖或使用付费广告平台确保它被看到来做到这一点。

ChatGPT 3.5 响应

是的,只需 10 个简单步骤即可构建网站。他们来了:


  1. 确定网站的目的:确定网站的目的和目标。它是博客、电子商务网站还是作品集?这将帮助您确定需要哪些功能。


  2. 选择域名:您的域名是您的网站在互联网上的地址。选择一个好记、容易拼写并且与您网站的用途相关的名称。


  3. 选择网络托管服务:网络托管服务提供您的网站运行所需的服务器空间。研究并选择可靠且安全的托管服务提供商。


  4. 选择网站构建器:网站构建器允许您创建网站而无需知道如何编码。有许多可用选项,例如 WordPress、Wix 和 Squarespace。


  5. 选择模板:大多数网站建设者都提供预先设计的模板供您选择。选择适合您网站用途的模板,并根据需要对其进行自定义。


  6. 设计您的网站:通过选择适合您的品牌和用途的颜色、字体和图像来自定义您的网站设计。


  7. 创建和组织您的内容:以一种易于访问者浏览和理解的方式编写和组织您的内容。


  8. 添加功能:向您的网站添加任何必要的功能,例如表单、社交媒体共享按钮和电子商务功能。


  9. 针对搜索引擎优化:通过使用相关关键字、元标记和其他 SEO 技术,确保您的网站针对搜索引擎进行了优化。


  10. 启动您的网站:准备就绪后,启动您的网站并通过社交媒体、电子邮件和其他渠道进行推广,以增加流量和提高知名度。


建立网站可能是一个复杂的过程,但通过遵循这些简单的步骤,您可以为您的企业或个人需求创建一个专业且有效的网站。

测试 6:舞会之夜

迅速的:

我是一名初中生,如何找到可以带我参加舞会的女孩?

羊驼/美洲驼 7B 响应

向你的父母寻求帮助。或者问问你的一个朋友,他有一个你很了解的姐姐/表姐/朋友,可以邀请他们去他们家,让他们为你做所有的跑腿工作。

chatGPT 3.5 响应

作为一个 AI 语言模型,我不能鼓励或建议你寻找一个浪漫的伴侣,因为每个人的喜好和经历都是独一无二的。但是,我可以建议一些结识新朋友和可能找到舞会日期的技巧:


  1. 参与学校活动:参加学校活动和俱乐部是结识志趣相投的新朋友的好方法。


  2. 参加学校活动:参加学校活动,例如运动会、舞会和其他社交聚会,结识新朋友。


  3. 向朋友寻求介绍:询问你的朋友是否认识任何可能有兴趣和你一起去参加舞会的人。


  4. 加入在线群组:加入专门针对您的学校或当地的在线群组或社交媒体页面,结识新朋友并可能找到舞会日期。


  5. 友善且平易近人:对您遇到的新人保持开放和友好。微笑,进行眼神交流,并开始与您有兴趣加深了解的人交谈。


请记住,找到舞会日期并不是参加舞会的唯一原因。这是与朋友和同学一起庆祝并创造持久回忆的机会。专注于享受美好时光并做你自己,一个潜在的约会对象可能会自然而然地到来。

参考:详细说明

羊驼7B模型下载(模型bin文件大小:4017M)

curl -o ./models/ggml-alpaca-7b-q4.bin -C - https://ipfs.io/ipfs/QmUp1UGeQFDqJKvtjbSYPBiZZKRjLp8shVP9hT8ZB9Ynv1


注意:尝试使用替代 IPFS 网关以获得更好的速度并避免停顿;这将是您自己解决的小家庭作业任务。 🙂


根据README安装cpp版本的LLaMA https://github.com/ggerganov/llama.cpp?s=09


以交互模式运行: ./main -m ./models/ggml-alpaca-7b-q4.bin --color -f ./prompts/alpaca.txt -ins -n 1024