LMSYS 发布开源聊天模型 Vicuna-13B,以约 $300 成本微调 LLaMA 达到 ChatGPT 九成质量
Blog Vicuna: An Open-Source Chatbot Impressing GPT-4 with 90% ChatGPT Quality We introduce Vicuna-13B, an open-source chatbot trained by fine-tuning LLaMA on user-shared conversations collected from ShareGPT. Preliminary evaluation using GPT-4 as a judge shows Vicuna-13B achiev... The Vicuna Team March 30, 2023
LMSYS 联合 UC Berkeley、CMU、Stanford 等机构发布开源聊天模型 Vicuna-13B,通过在 ShareGPT 收集的约 70K 用户共享对话上微调 LLaMA 训练而成,训练成本约 $300。
原文给出训练数据、成本和 GPT-4 评测细节,读者可以据此了解低成本微调开源对话模型的完整做法。
我们推出 Vicuna-13B,这是一个开源聊天机器人,通过在从 ShareGPT 收集的用户共享对话上微调 LLaMA 训练而成。使用 GPT-4 作为评判的初步评估显示,Vicuna-13B 达到了 OpenAI ChatGPT 和 Google Bard 超过 90%* 的质量,同时在超过 90%* 的情况下优于 LLaMA 和 Stanford Alpaca 等其他模型。训练 Vicuna-13B 的成本约为 300 美元。代码和权重,以及在线演示,均已公开供非商业用途使用。

Vicuna(由 stable diffusion 2.1 生成)
*根据一项有趣且非科学的 GPT-4 评估。仍需进一步严格评估。
Vicuna 有多好?
在用 70K 条用户共享的 ChatGPT 对话微调 Vicuna 后,我们发现,与 Alpaca 相比,Vicuna 能够生成更详细、结构更完善的回答(见下方示例),质量与 ChatGPT 相当。
然而,评估聊天机器人从来都不是一项简单的任务。 随着 GPT-4 的最新进展,我们好奇其能力是否已达到类人水平,从而能够实现用于基准生成和性能评估的自动化评估框架。 我们的初步发现表明,在比较聊天机器人的回答时,GPT-4 能够产生高度一致的排名和详细评估(见上方 GPT-4 判断示例)。 基于 GPT-4 的初步评估总结于图 1,显示 Vicuna 达到了 Bard/ChatGPT 90%* 的能力。 虽然这一提出的框架显示出自动化聊天机器人评估的潜力,但它还不是一种严格的方法。 构建聊天机器人评估系统仍是一个有待进一步研究的开放问题。更多细节见评估部分。
图 1. 由 GPT-4* 评估的相对回答质量
在线演示
在这里试用 Vicuna-13B 演示!
概述
大语言模型(LLM)的快速发展已经彻底改变了聊天机器人系统,带来了前所未有的智能水平,正如 OpenAI 的 ChatGPT 所示。然而,尽管其性能令人印象深刻,ChatGPT 的训练和架构细节仍不清楚,阻碍了该领域的研究和开源创新。受 Meta LLaMA 和 Stanford Alpaca 项目的启发,我们推出 Vicuna-13B,这是一个开源聊天机器人,由增强的数据集和易于使用、可扩展的基础设施支持。通过在从 ShareGPT.com 收集的用户共享对话上微调 LLaMA 基础模型,Vicuna-13B 展现出与 Stanford Alpaca 等其他开源模型相比具有竞争力的性能。本博文对 Vicuna-13B 的性能进行了初步评估,并描述了其训练和服务基础设施。我们也邀请社区与我们的在线演示互动,以测试该聊天机器人的能力。

图 2. 工作流程概述
图 2 提供了我们工作的概览。首先,我们从 ShareGPT.com 收集了约 70K 对话,这是一个用户可以分享其 ChatGPT 对话的网站。接着,我们增强了 Alpaca 提供的训练脚本,以更好地处理多轮对话和长序列。训练在一天内使用 PyTorch FSDP 在 8 个 A100 GPU 上完成。为了演示服务,我们实现了一个轻量级分布式服务系统。我们通过创建一组 80 个多样化的提问并利用 GPT-4 来评判模型输出,对模型质量进行了初步评估。为了比较两个不同的模型,我们将每个模型的输出合并到每个问题的单一提示中。随后,这些提示被发送给 GPT-4,由其评估哪个模型提供了更好的回应。LLaMA、Alpaca、ChatGPT 和 Vicuna 的详细对比见下方表 1。
表 1. 几个知名模型的对比
| 模型名称 | LLaMA | Alpaca | Vicuna | Bard/ChatGPT |
| 数据集 | 公开可用的数据集 (1T token) |
来自 davinci-003 API 的自指令 (52K 样本) |
用户分享的对话 (70K 样本) |
不适用 |
| 训练代码 | 不适用 | 可用 | 可用 | 不适用 |
| 评估指标 | 学术基准 | 作者评估 | GPT-4 评估 | 混合 |
| 训练成本 (7B) |
82K GPU 小时 | $500(数据)+ $100(训练) | $140(训练) | 不适用 |
| 训练成本 (13B) |
135K GPU 小时 | 不适用 | $300(训练) | 不适用 |
训练
Vicuna 是通过使用从 ShareGPT.com 通过公共 API 收集的大约 70K 用户分享对话,对 LLaMA 基础模型进行微调而创建的。为了确保数据质量,我们将 HTML 转换回 markdown 并过滤掉一些不适当或低质量的样本。此外,我们将冗长的对话分割成更小的片段,以适应模型的最大上下文长度。
我们的训练方案建立在 Stanford 的 alpaca 基础上,并进行了以下改进。
- 多轮对话: 我们调整训练损失以考虑多轮对话,并仅基于聊天机器人的输出计算微调损失。
- 内存优化: 为了使 Vicuna 能够理解长上下文,我们将最大上下文长度从 alpaca 的 512 扩展到 2048,这大幅增加了 GPU 内存需求。我们通过利用 梯度检查点 和 闪存注意力 来应对内存压力。
- 通过竞价实例降低成本: 数据集扩大了 40 倍,训练序列长度增加了 4 倍,这对训练费用构成了相当大的挑战。我们采用 SkyPilot 托管竞价实例,通过利用更便宜的竞价实例以及针对抢占的自动恢复和自动区域切换来降低成本。此解决方案将训练 7B 模型的成本从
$500削减至约$140,并将 13B 模型的成本从约$1K削减至$300。
服务
我们构建了一个服务系统,能够通过分布式工作节点为多个模型提供服务。它支持灵活地插入来自本地集群和云端的 GPU 工作节点。通过利用 SkyPilot 中的容错控制器和托管竞价实例功能,该服务系统可以很好地与来自多个云的更便宜的竞价实例配合使用,以降低服务成本。它目前是一个轻量级实现,我们正在努力将更多最新的 研究 集成到其中。
如何评估聊天机器人?
评估 AI 聊天机器人是一项具有挑战性的任务,因为它需要考察语言理解、推理和上下文感知能力。随着 AI 聊天机器人变得越来越先进,当前的开源基准可能已不再足够。例如,斯坦福 Alpaca 中使用的评估数据集 self-instruct,SOTA 聊天机器人可以有效地回答,使得人类难以辨别性能差异。更多局限包括训练/测试数据污染以及创建新基准的潜在高成本。为了解决这些问题,我们提出了一个基于 GPT-4 的评估框架,以自动化聊天机器人性能评估。
首先,我们设计了八个问题类别,例如费米问题、角色扮演场景和编码/数学任务,以测试聊天机器人性能的各个方面。通过精心的提示工程,GPT-4 能够生成多样、具有挑战性的问题,而基线模型难以应对这些问题。我们每个类别选择十个问题,并从五个聊天机器人收集答案:LLaMA、Alpaca、ChatGPT、Bard 和 Vicuna。然后我们要求 GPT-4 根据有用性、相关性、准确性和细节来评价它们答案的质量。我们发现 GPT-4 不仅能产生相对一致的分数,还能详细解释为什么给出这样的分数(详细示例 链接)。然而,我们也注意到 GPT-4 不太擅长评判编码/数学任务。

图 3. 由 GPT-4 评估的响应比较
图 3 显示了所有基线与 Vicuna 之间的比较结果。GPT-4 在超过 90% 的问题上更偏好 Vicuna 而非最先进的开源模型(LLaMA、Alpaca),并且它对专有模型(ChatGPT、Bard)取得了有竞争力的性能。在 45% 的问题中,GPT-4 将 Vicuna 的响应评为优于或等于 ChatGPT 的响应。 由于 GPT-4 以 10 分制为每个响应分配一个定量分数,我们通过将每个模型在 80 个问题上获得的分数相加,计算每个(基线,Vicuna)比较对的总分。如表 2 所示,Vicuna 的总分是 ChatGPT 的 92%。尽管最近取得了进展,这些聊天机器人仍然面临局限,例如难以应对基础数学问题或编码能力有限。
表 2. 由 GPT-4 评估的总分。
| 基线 | 基线分数 | Vicuna 分数 |
| LLaMA-13B | 513.0 | 694.0 |
| Alpaca-13B | 583.0 | 704.0 |
| Bard | 664.0 | 655.5 |
| ChatGPT | 693.0 | 638.0 |
虽然这个提出的评估框架展示了评估聊天机器人的潜力,但它还不是一种严谨或成熟的方法,因为大型语言模型容易产生幻觉。为聊天机器人开发一个全面、标准化的评估系统仍然是一个需要进一步研究的开放问题。
编辑:在这篇博客文章之后,我们对这种基于 GPT4 的评估方法进行了更深入的研究。欢迎阅读我们的新论文 Judging LLM-as-a-judge 并尝试新的评估工具。
局限
我们注意到,与其他大型语言模型类似,Vicuna 也存在某些局限性。例如,它不擅长涉及推理或数学的任务,并且在准确识别自身或确保其输出的事实准确性方面可能存在局限。此外,它尚未经过充分优化以保证安全性或减轻潜在的毒性或偏见。为了解决安全问题,我们在在线演示中使用 OpenAI moderation API 来过滤不当的用户输入。尽管如此,我们预计 Vicuna 可以作为未来研究解决这些局限性的开放起点。
发布
在我们的首次发布中,我们将在 GitHub 仓库分享训练、服务和评估代码:https://github.com/lm-sys/FastChat。 我们还发布了 Vicuna-13B 模型权重。 没有计划发布数据集。加入我们的 Discord 服务器并关注我们的 Twitter 以获取最新更新。
许可证
在线演示是一个研究预览版,仅供非商业用途,受 LLaMA 的模型许可证、OpenAI 生成数据的使用条款以及 ShareGPT 的隐私实践约束。如果您发现任何潜在违规行为,请联系我们。 代码在 Apache License 2.0 下发布。
致谢
我们要感谢 BAIR 的 Xinyang Geng、Hao Liu 和 Eric Wallace;斯坦福 Alpaca 团队的 Xuecheng Li 和 Tianyi Zhang 提供的深刻讨论和反馈;MBZUAI 的 Qirong Ho 在服务集群上提供的支持。请查看 BAIR 关于其聊天机器人Koala并行工作的博客文章。
团队
这是与来自多个机构的合作者共同努力的成果,包括 UC Berkeley、CMU、斯坦福、UC San Diego 和 MBZUAI。
- 学生(按字母顺序): Wei-Lin Chiang、Zhuohan Li、Zi Lin、Ying Sheng、Zhanghao Wu、Hao Zhang(✉)、Lianmin Zheng(✉)、Siyuan Zhuang、Yonghao Zhuang
- 顾问(按字母顺序): Joseph E. Gonzalez、Ion Stoica、Eric P. Xing
✉ 通讯作者: Lianmin Zheng(lianminzheng@gmail.com)、Hao Zhang(sjtu.haozhang@gmail.com)或 LMSYS(lmsys.org@gmail.com)。
引用
@misc{vicuna2023,
title = {Vicuna: An Open-Source Chatbot Impressing GPT-4 with 90\%* ChatGPT Quality},
url = {https://lmsys.org/blog/2023-03-30-vicuna/},
author = {Chiang, Wei-Lin and Li, Zhuohan and Lin, Zi and Sheng, Ying and Wu, Zhanghao and Zhang, Hao and Zheng, Lianmin and Zhuang, Siyuan and Zhuang, Yonghao and Gonzalez, Joseph E. and Stoica, Ion and Xing, Eric P.},
month = {March},
year = {2023}
}
在这篇博客文章之后,我们扩展了基于 GPT-4 的评估理念,并撰写了一篇更正式的论文,系统地研究了这种“LLM-as-a-judge”方法。
欢迎阅读并引用这篇论文:
Judging LLM-as-a-judge with MT-Bench and Chatbot Arena。
来源:LMSYS:Blog(Chatbot Arena 团队) · lmsys.org