我们介绍了Alpaca 7B,它是在 52K 跟随演示中的指令 LLaMA 7B 模型微调模型。Alpaca 类似的行为 OpenAI 的 text-davinci-003,同时又小又容易/便宜地复制(<600 美元)。
网络演示   GitHub

重要新闻Alpaca:一个强大的开源指令跟随模型

概述

GPT-3.5 (text-davinci-003)、ChatGPT、Claude 和 Bing Chat 等待指令跟随模型变得越来越强大。许多用户现在定期与这些模型互动,甚至使用它们来工作。然而,尽管它们被广泛部署,但指令遵循模型仍然存在许多缺陷:它们产生虚假信息,传播社会刻板印象和有毒语言。

为了在解决这些紧迫问题方面取得最大进展,学术界的参与非常重要。不幸的是,由于没有开源模型接近闭源模型,例如,在学术界很难研究指令遵循模型,因此在功能上很难接近闭源模型 OpenAI 的 text-davinci-003。

我们正在发布我们关于跟随语言模型的指令的发现,它被称为Alpaca ,它是从 MetaLLaMA 7B 微调来自模型。我们使用它 text-davinci-003是通过自我指导生成的 52K 在演示中跟随指令训练羊驼模型。Alpaca 表现出许多相似之处 OpenAI 的 text-davinci-003 但也出奇的小,容易复制/便宜。

我们正在发布我们的训练配方和数据,并计划在未来发布模型权重。我们还举办了一个互动演示,让研究界更好地了解羊驼的行为。互动可以暴露意想不到的能力和失败,这将指导我们在未来评估这些模型。为了更好地理解和减少这些行为,我们还鼓励用户在我们的网络演示中报告任何相关行为。由于任何版本都有风险,我们稍后将在本博文中讨论我们对这个公开版本的思考过程。

我们强调 Alpaca仅用于学术研究,禁止任何商业用途。这个决定有三个因素:第一,基于LLAMA的Alpaca有非商业许可证,所以我们必须继承这个决定。第二,基于指令数据 OpenAI 的 text-davinci-禁止开发和使用003条款 OpenAI 竞争模型。最后,我们没有设计足够的安全措施,所以 Alpaca 还没有准备好部署到一般用途。

训练食谱

在学术预算下训练高质量的指令跟踪模型有两个重要挑战:强大的预训练语言模型和高质量的指令跟踪数据。Meta 最近发布的新 LLaMA 模型解决了第一个挑战。对于第二个挑战,self-instruct论文建议使用现有的强语言模型自动生成指令数据。特别是,Alpaca 它是一种来自语言模型的语言模型 LLaMA 7B 监督和学习模型 OpenAI 的 text-davinci-003 生成的 52K 指令在演示中跟随微调。

下图显示了我们是如何获得羊驼模型的。对于数据,我们在自我指导方法的基础上生成指令遵循演示。自我指导种子集中的175 手动编写的指令输出开始了。然后,我们提示 text-davinci-003 以种子集为上下文示例生成更多指令。通过简化生成管道(请参考GitHub中的详细信息),我们改进了自我指导方法,显著降低了成本。我们的数据生成过程产生 52K 使用独特的指令和相应的输出 OpenAI API 的成本不到 500 美元。

重要新闻Alpaca:一个强大的开源指令跟随模型

配备此指令跟踪数据集,然后我们使用它 Hugging Face 微调训练框架 LLaMA 模型采用完全分片数据并行和混合精度训练的技术。在 8 个 80GB A100 上微调一个 7B LLaMA 模型需要 3 对于大多数云计算提供商来说,一个小时的成本低于 100 美元。

初步评估

为了评估羊驼,我们对自我指导评估集的输入进行了人工评估(由 5 著名学生作者进行)。自我指导的作者收集了各种指导,包括电子邮件写作社交媒体和生产力工具。我们对 text-davinci-003 和 Alpaca 7B 通过盲配对比较,我们发现这两种模型的性能非常相似:Alpaca 在与 text-davinci-003 的比较中以 90 比 89 获胜。

考虑到小模型的大小和适度的指令跟踪数据,我们对结果感到非常惊讶。除了使用这个静态评估集,我们还一直在互动测试羊驼模型,发现羊驼在不同输入集中的性能通常是和 text-davinci-003 相似之处。我们正在发布Alpaca 互动演示,鼓励读者评估自己 Alpaca 并向我们提供反馈。

在本节的其他部分,我们包括几个交互示例来展示 Alpaca 功能和局限性。

重要新闻Alpaca:一个强大的开源指令跟随模型

重要新闻Alpaca:一个强大的开源指令跟随模型

 

上面的例子表明,Alpaca 输出通常写得很好。我们注意到羊驼反映了指令遵循数据集的一般风格。因此,Alpaca 答案通常比 ChatGPT 更短,反映出来 text-davinci-003 输出较短。

已知限制

羊驼还表现出语言模型的几个常见缺陷,包括幻觉、毒性和刻板印象。尤其是幻觉似乎是羊驼的常见故障模式,即使与之相处 text-davinci-003 也是如此。

例如,在下图中,Alpaca 误以为坦桑尼亚的首都是达累斯萨拉姆,这是坦桑尼亚最大的城市。(它在那里。 1974 几年前一直是首都,后来被多马取代。)

重要新闻Alpaca:一个强大的开源指令跟随模型

此外,Alpaca 如下示例所示,可用于生成编写良好的输出来传播错误信息。

重要新闻Alpaca:一个强大的开源指令跟随模型

Alpaca 与底层语言模型和指令调优数据相关的许多其他限制可能包括在内。然而,我们相信工件对社区仍然有用,因为它提供了一个相对轻量级的模型,可以作为研究重要缺陷的基础。我们鼓励用户通过在网络演示中标记它们来帮助我们识别新类型的故障。总的来说,我们希望 Alpaca 发布可以促进对指令遵循模型及其与人类价值观一致性的进一步研究。

资产释放

今日发布以下资产:

  • Demo : 互动演示供大家试用 Alpaca。
  • 数据:用于微调 Alpaca 的52K 演示。
  • 数据生成过程:生成数据代码。
  • 超参数:用于使用 Hugging Face API微调 模型。

我们计划在不久的将来发布以下资产:

  • 模型权重:我们已联系 Meta 为了获得发布羊驼模型权重的指导,包括 7B 羊驼和较大的 LLaMA 微调版本的模型。
  • 训练代码:我们的代码使用LLAMA 的 Hugging Face 接口。到目前为止,支持 LLaMA 工作仍在进行中,不稳定。一旦 Hugging Face 正式支持 LLaMA,我们将给出准确的训练命令。

发布决定

我们相信,上述资产的发布将使学术界能够控制科学研究指令跟随语言模型,从而产生更好的科学和新技术来解决这些模型的现有缺陷。

同时,任何发布都有一定的风险。首先,我们意识到发布我们的训练配方揭示了某些能力的可行性。一方面,这使得更多的人(包括不良行为者)能够创建一个可能造成伤害(有意或无意)的模型。另一方面,这种意识可能会鼓励迅速采取防御行动,特别是来自学术界的行动,他们现在有能力对这些模型进行更深入的安全研究。总的来说,我们认为这个特定版本对研究社区的好处大于风险。

鉴于我们正在发布培训公式,我们相信发布数据、模型权重和培训代码将产生最小的进一步风险,因为公式非常简单。同时,发布这些资产对可重复的科学有很大的好处,使学术界可以使用标准的数据集、模型和代码进行控制、比较和探索和扩展。

为羊驼部署互动演示也会带来潜在的风险,比如更广泛地传播有害内容,减少垃圾邮件、欺诈或虚假信息的障碍。我们制定了两种风险缓解策略。首先,我们使用OpenAI 的内容审核 API可以根据内容过滤器实现内容过滤器 OpenAI 过滤掉有害内容的使用政策。第二,我们使用它 Kirchenbauer 等人描述的方法是向所有模型输出加水印 。2023年,让其他人(以一定概率)检测输出是否来自羊驼 7B。最后,我们对使用演示有严格的条款和条件;仅限于非商业用途和遵循LLAMA 使用许可协议。

我们知道,一旦我们发布模型权重或用户训练他们的指令来遵循模型,我们就可以避免这些缓解措施。然而,通过安装这些缓解措施,我们希望促进最佳实践,并最终制定社区规范,负责任地部署基本模型。

未来的发展方向

我们对羊驼的研究机会感到兴奋。未来有许多令人兴奋的方向:

  • 评价:我们需要更严格地评价羊驼。我们将从HELM开始 从语言模型的整体评价开始,它有望发展成为捕捉更多生成和指令遵循的场景。
  • 安全:我们希望通过自动红队、审计和自适应测试,进一步研究羊驼的风险,提高羊驼的安全性。
  • 理解:我们希望更好地理解训练配方中产生的能力。您需要什么属性的基本模型?当你扩大规模时会发生什么?需要指令数据的属性是什么?在 text-davinci-003 使用自我指导的替代方法是什么?

致谢

羊驼直接而关键地依赖于现有的作品。我们要感谢 Meta AI Research 训练和发布 LLaMA 模型,感谢自我指导团队为我们提供数据生成管道的基础 Hugging Face 谢谢你的训练代码 OpenAI 铺平道路,展示什么可以实现。

我们还想强调的是,指令是跟随的 LLM 还有许多其它开源项目与聊天模型,包括OpenChatKit。、Open Assistant和Carper AI。