我们介绍了 Alpaca 7B,这是一款在 52K 上从 LLaMA 7B 模型微调而来的模型 遵循说明的演示。在我们对以下单轮指令的初步评估中,Alpaca 的行为在质量上与 OpenAI 的 text-davinci-003 相似,同时体积小且易于/廉价复制 (<600$)。在 GitHub 上查看我们的代码版本。
更新:公开演示现已禁用。发布演示的最初目的是以一种易于理解的方式传播我们的研究。我们觉得我们已经基本实现了这个目标,考虑到托管成本和内容过滤器的不足,我们决定降低演示。
[图片上传中...(image-a5d4a-1713951512067-5)]
概述
GPT-3.5 (text-davinci-003)、ChatGPT、Claude 和 Bing Chat 等指令跟踪模型变得越来越强大。 许多用户现在定期与这些模型进行交互,甚至将它们用于工作。 然而,尽管它们被广泛部署,指令遵循模型仍然存在许多缺陷: 它们可以产生虚假信息,传播社会刻板印象,并产生有毒语言。
为了在解决这些紧迫问题方面取得最大进展, 学术界的参与很重要。 不幸的是,在学术界对指令遵循模型进行研究一直很困难, 因为没有易于访问的模型在功能上接近闭源模型,例如 OpenAI 的 text-davinci-003。
我们正在发布关于指令遵循语言模型的发现,称为 Alpaca, 它是从 Meta 的 LLaMA 7B 模型微调而来的。 我们在使用 text-davinci-003 以自指令风格生成的 52K 指令遵循演示上训练 Alpaca 模型。 在自指令评估集上,Alpaca 表现出许多类似于 OpenAI 的 text-davinci-003 的行为,但也出奇地小且易于/廉价复制。
我们正在发布我们的训练配方和数据,并打算在未来发布模型权重。 我们还将举办一个互动演示,使研究界能够更好地了解羊驼的行为。 交互可能会暴露意想不到的功能和故障,这将指导我们未来对这些模型的评估。 我们还鼓励用户在我们的 Web 演示中报告任何相关的行为,以便我们更好地了解和缓解这些行为。 由于任何版本都存在风险,因此我们将在稍后的这篇博文中讨论我们对这个开放版本的思考过程。
我们强调,羊驼仅用于学术研究,禁止任何商业用途。 此决定有三个因素: 首先,Alpaca 是基于 LLaMA 的,LLaMA 拥有非商业许可,因此我们必然继承这一决定。 其次,指令数据基于 OpenAI 的 text-davinci-003, 其使用条款禁止开发与 OpenAI 竞争的模型。 最后,我们没有设计足够的安全措施,因此羊驼还没有准备好用于一般用途。
训练食谱
在学术预算下训练高质量的教学遵循模型有两个重要挑战: 强大的预训练语言模型和高质量的指令跟踪数据。 Meta 最近发布的新 LLaMA 模型解决了第一个挑战。 对于第二个挑战,自指导论文建议使用现有的强语言模型来自动生成指令数据。 特别是,Alpaca 是一种语言模型,使用 LLaMA 7B 模型的监督学习对 OpenAI 的 text-davinci-003 生成的 52K 指令遵循演示进行微调。
下图说明了我们是如何获得羊驼模型的。 对于数据,我们通过构建自指令方法生成了指令跟踪演示。 我们从自指令种子集中的 175 个人工编写的指令-输出对开始。 然后,我们提示 text-davinci-003 使用种子集作为上下文示例生成更多指令。 我们通过简化生成管道(请参阅 GitHub 中的详细信息)改进了自指令方法,并显着降低了成本。 我们的数据生成过程会产生 52K 条唯一指令和相应的输出,使用 OpenAI API 的成本不到 500 美元。
[图片上传失败...(image-a33b4-1713951512067)]
有了这个指令跟踪数据集,我们随后使用 Hugging Face 的训练框架对 LLaMA 模型进行了微调,并利用了完全分片数据并行和混合精度训练等技术。在我们的初始运行中,在 8 个 80GB A100 上微调 7B LLaMA 模型需要 3 个小时,这在大多数云计算提供商上的成本不到 100 美元。我们注意到,培训效率可以提高,以进一步降低成本。
初步评估
为了评估羊驼,我们对自学评估集的输入进行了人工评估(由 5 名学生作者进行)。 该评估集由自学作者收集,涵盖了各种面向用户的说明列表,包括电子邮件写作、社交媒体和生产力工具。 我们对 text-davinci-003 和 Alpaca 7B 进行了盲成对比较,发现这两个模型的性能非常相似: Alpaca 在与 text-davinci-003 的比较中以 90 比 89 获胜。
我们对这个结果感到非常惊讶,因为模型尺寸很小,而且遵循数据的指令量适中。 除了利用这个静态评估集之外,我们还以交互方式测试了 Alpaca 模型,发现 Alpaca 在各种输入集上的行为通常与 text-davinci-003 相似。 我们承认,我们的评估可能在规模和多样性方面受到限制。因此,我们发布了一个羊驼的互动演示,并鼓励读者自己评估羊驼并给我们反馈。
在本节的其余部分,我们将包括几个交互示例来展示 Alpaca 的功能和局限性。
[图片上传失败...(image-20690a-1713951512067)]
[图片上传中...(image-4bbc53-1713951512067-2)]
上面的例子表明,Alpaca 的输出通常写得很好。我们注意到 Alpaca 反映了指令跟踪数据集的一般风格。因此,Alpaca 的答案通常比 ChatGPT 短,反映了 text-davinci-003 的输出更短。
已知限制
羊驼还表现出语言模型的几个常见缺陷,包括幻觉、毒性和刻板印象。 尤其是幻觉似乎是羊驼的常见故障模式,即使与文本-davinci-003 相比也是如此。
例如,在下图中,Alpaca错误地将坦桑尼亚的首都说成是坦桑尼亚最大的城市达累斯萨拉姆。 (直到 1974 年,它一直是首都,后来被 Dodoma 取代。
[图片上传失败...(image-1538bd-1713951512067)]
此外,Alpaca 可用于生成编写良好的输出来传播错误信息,如以下示例所示。
[图片上传失败...(image-bf2e3e-1713951512067)]
Alpaca 可能包含许多其他与底层语言模型和指令调优数据相关的限制。但是,我们相信该工件对社区仍然有用,因为它提供了一个相对轻量级的模型,可以作为研究重要缺陷的基础。我们鼓励用户通过在 Web 演示中标记它们来帮助我们识别新型故障。 总的来说,我们希望Alpaca的发布能够促进对指令遵循模型及其与人类价值观的一致性的进一步研究。
已发布的资产
我们今天将发布以下资产:
我们打算在不久的将来发布以下资产:
- 模型权重:我们已联系 Meta,以获得有关发布 Alpaca 模型权重的指导,包括 7B Alpaca 和较大 LLaMA 模型的微调版本。
发布决定
我们相信,发布上述资产将使学术界能够 对遵循指令的语言模型进行受控科学研究, 从而产生更好的科学和最终的新技术,以解决这些模型的现有缺陷。
同时,任何发布都会带来一些风险。 首先,我们认识到发布我们的训练配方揭示了某些能力的可行性。 一方面,这使更多的人(包括不良行为者)成为可能 创建可能造成伤害的模型(有意或无意)。 另一方面,这种意识可能会激励迅速采取防御行动, 特别是来自学术界,现在有能力对此类模型进行更深入的安全研究。 总体而言,我们认为此特定版本对研究界的好处大于风险。
鉴于我们正在发布训练配方, 我们认为,发布数据、模型权重和训练代码 鉴于配方的简单性,进一步的风险最小。 同时,释放这些资产对可重复的科学有巨大的好处, 以便学术界可以使用标准数据集、模型和代码 执行受控比较并探索扩展。
为 Alpaca 部署交互式演示也会带来潜在风险,例如更广泛的风险 传播有害内容并降低垃圾邮件、欺诈或虚假信息的障碍。 我们已制定了两项风险缓解策略。首先,我们实现了内容过滤器 使用 OpenAI 的内容审核 API, 过滤掉 OpenAI 定义的有害内容 使用策略。其次,我们使用 Kirchenbauer 等人 2023 年描述的方法对所有模型输出进行水印, 以便其他人可以(有一定的概率)检测输出是否来自 Alpaca 7B。 最后,我们对使用演示有严格的条款和条件; 它仅限于非商业用途和遵循 LLaMA 许可协议的用途。
我们知道,一旦我们释放了模型权重,或者用户训练了自己的指令跟踪模型,这些缓解措施就可以被规避。 但是,通过安装这些缓解措施,我们希望推进最佳实践,并最终为负责任地部署基础模型制定社区规范。
未来方向
我们对羊驼带来的研究机会感到兴奋。未来有许多令人兴奋的方向:
- 评估:我们需要更严格地评估羊驼。 我们将从 HELM(语言模型的整体评估)开始, 希望这将发展到捕获更多生成性的、遵循指令的场景。
- 安全性:我们想进一步研究羊驼的风险,并使用自动红队、审核和自适应测试等方法提高其安全性。
- 理解:我们希望更好地了解能力是如何从培训配方中产生的。 您需要基础模型的哪些属性?扩大规模后会发生什么? 需要指令数据的哪些属性?在 text-davinci-003 上使用自指令的替代方法是什么?
确认
这项工作是在斯坦福大学以人为本的人工智能研究所(HAI)和斯坦福大学自然语言处理(NLP)小组的支持下在基础模型研究中心(CRFM)完成的。我们还特别感谢 Yifan Mai 为演示部署提供的有用的工程支持。
羊驼直接和关键地依赖于现有作品。 我们要感谢 Meta AI Research 训练和发布 LLaMA 模型, 自学团队为我们提供了数据生成管道的基础, Hugging Face 用于训练代码, 和 OpenAI 铺平道路并展示可以实现的目标。
我们还想强调的是,对于指令遵循 LLM 和聊天模型,还有许多其他开放的努力,包括 OpenChatKit、Open Assistant 和 Carper AI。
原文地址:https://crfm.stanford.edu/2023/03/13/alpaca.html
原创声明:本文为本人原创作品,首发于AI ONES https://wuxiongwei.com,如果转载,请保留本文链接,谢谢。