继草泥马后,斯坦福联手 CMU、UC 伯克利等机构的学者再次发布了 130 亿参数模型骆马(Vicuna),仅需 300 美元就能实现 ChatGPT 90% 的性能。
继 Meta 的 LLaMA 模型开源后,AI 界研究人员就在这个模型基础上衍生出许多版本。
前段时间,斯坦福发布了 Alpaca,是由 Meta 的 LLaMA 7B 微调而来,仅用了 52k 数据,性能可以与 GPT-3.5 匹敌。
今天,斯坦福学者联手 CMU、UC 伯克利等,再次推出一个全新模型 ——130 亿参数的 Vicuna,俗称「小羊驼」。
Vicuna 是通过在 ShareGPT 收集的用户共享对话上对 LLaMA 进行微调训练而来,训练成本近 300 美元。
研究人员设计了 8 个问题类别,包括数学、写作、编码,对 Vicuna-13B 与其他四个模型进行了性能测试。
测试过程使用 GPT-4 作为评判标准,结果显示 Vicuna-13B 在超过 90% 的情况下实现了与 ChatGPT 和 Bard 相匹敌的能力。
同时,在在超过 90% 的情况下胜过了其他模型,如 LLaMA 和斯坦福的 Alpaca。
团队成员来自加州大学伯克利分校、卡内基梅隆大学、斯坦福大学、加州大学圣地亚哥分校和穆罕默德?本?扎耶德人工智能大学。
90% 匹敌 ChatGPT
研究人员让斯坦福的 Alpaca 和 Vicuna 来了一轮大比拼,分别对基准问题回答进行了演示。
在使用 70K 用户共享的 ChatGPT 对话数据对 Vicuna 进行微调后,研究发现 Vicuna 能够生成比 Alpaca 更详细、结构更合理的答案。
问:写一篇关于最近去夏威夷旅行的有趣的旅游博客文章,强调文化体验和必看景点。
Alpaca 的回答可以说是一个浓缩版,短短几行就写完了,没有按照要求完成任务。它仅是提到了自己写了一篇博客,并对博客内容做了一个概述。
再来看 Vicuna,撰写了一篇详细且引人入胜的旅行博客文章,不仅内容有趣,还详细地介绍了夏威夷的文化体验和必看景点。
由此,让 GPT-4 给打分,Alpaca7 分,Vicuna 满分。
那么和 ChatGPT 对打,Vicuna 的表现又如何呢?
两者双双得了 9 分!
可以看到,这两个模型提供一次夏威夷之旅的文章不仅引人入胜,而且文笔流畅。
另外,两个回答中的详细程度和准确性都很出色,而且两个模型都有效地传达了夏威夷之旅的兴奋和美丽。
此外,研究人员还将 Vicuna 与 LLaMA,以及谷歌的 Bard 模型进行了测试,测试结果显示,LLaMA 表现最差,几乎没有回应。
Bard 回答的准确性和相关性也是比较高,有 9 分的成绩,但是在更具吸引力回答方面,略低于 Vicuna。
除了写作,研究人员在编码、数学、角色扮演、常识等方面分别对 Vicuna 模型与其他四个模型的能力进行了对比,总共 80 道题。
最后,研究人员基于 GPT-4 的初步评估总结如图所示。可以看到,Vicuna 达到了 Bard / ChatGPT 的 90% 以上的能力。
由 GPT-4 评估的相对响应质量
有趣的是,在这次 Vicuna 的 demo 中,团队还加入了 Alpaca 和 LLaMA 的试用,而前者刚被关闭不久。
模型介绍
ChatGPT 横空出世让人兴奋不已,但 OpenAI 不 Open 的事实让圈内人实在懊恼。
恰恰,Meta 的 LLaMA 模型开源,为许多研究人员动手研发自己的模型提供了选择。
Vicuna-13B 诞生正是受到 LLaMA 和斯坦福 Alpaca 项目的启发。这是一个基于增强数据集和易于使用、可扩展的基础设施的开源聊天机器人。
该模型的训练数据来自于 ShareGPT 收集的用户分享的对话,然后研究人员通过对 LLaMA 基本模型进行微调,Vicuna-13B 就诞生了。
Vicuna-13B 展示了与其他开源模型相媲美的性能。
研究人员对 Vicuna-13B 的性能进行了初步评估,并描述了其训练和服务基础设施。
同时,这一模型演示 demo 已经上线,所有研究人员都能参与在线演示互动,以测试这个聊天机器人的能力。
工作流程概述
对于 Vicuna-13B 训练流程,具体如下:
首先,研究人员从 ChatGPT 对话分享网站 ShareGPT 上,收集了大约 70K 对话。
接下来,研究人员优化了 Alpaca 提供的训练脚本,使模型能够更好地处理多轮对话和长序列。之后利用 PyTorch FSDP 在 8 个 A100 GPU 上进行了一天的训练。
在模型的质量评估方面,研究人员创建了 80 个不同的问题,并用 GPT-4 对模型输出进行了评价。
为了比较不同的模型,研究人员将每个模型的输出组合成一个单独的提示,然后让 GPT-4 评估哪个模型给出的回答更好。
LLaMA、Alpaca、Vicuna 和 ChatGPT 的对比
训练
Vicuna 是通过使用来自 ShareGPT 公共 API 收集的约 70K 用户分享对话数据微调创建的。
为了确保数据质量,研究人员将 HTML 转换回 markdown,并过滤掉一些不适当或质量较低的样本。
另外,研究人员将较长的对话划分为较小的片段,以适应模型的最大上下文长度。
Vicuna 的训练方法建立在斯坦福的 Alpaca 基础上,并进行了以下改进:
内存优化:
为了使 Vicuna 能够理解长上下文,将最大上下文长度从 Alpaca 的 512 扩展到 2048,这大大增加了 GPU 内存需求。在此,研究人员通过使用梯度检查点和闪存注意力来解决内存压力。
多轮对话:
通过调整训练损失以考虑多轮对话,并仅在聊天机器人的输出上计算微调损失。
通过 Spot 实例降低成本:
40 倍的数据集和 4 倍的序列长度对训练带来了相当大的挑战。研究人员采用 SkyPilot 托管的 Spot 实例来降低成本,通过利用自动恢复抢占与自动区域切换进而减少成本。
这种解决方案将 7B 模型的训练成本从 500 美元降低到约 140 美元,将 13B 模型的训练成本从约 1000 美元降低到 300 美元。
评估
评估 AI 聊天机器人是一项具有挑战性的任务,因为它需要检查语言理解、推理和上下文意识。随着 AI 聊天机器人变得越来越先进,现有的开放基准可能不再足够。
例如,斯坦福 Alpaca 中使用的评估数据集 self-instruct,可以被 SOTA 聊天机器人有效地回答,这使得人类难以分辨性能差异。更多的限制包括训练 / 测试数据污染和创建新基准的潜在高成本。
为了解决这些问题,研究人员提出了一个基于 GPT-4 的评估框架,从而实现对聊天机器人性能的自动评估。
首先,通过精心设计的提示,让 GPT-4 能够生成多样化且具有挑战性的问题。并利用 8 个不同类别共 80 道题,如角色扮演、编码 / 数学任务等,来测试这些模型在不同领域上表现出的性能。
然后,研究人员要求 GPT-4 根据帮助程度、相关性、准确性和细节对答案的质量进行评分。结果显示,GPT-4 不仅可以产生相对一致的分数,还可以提供详细的解释来说明为什么给出这样的分数。但是,GPT-4 并不擅长评判编码 / 数学任务。
GPT-4 在超过 90% 的问题中更喜欢 Vicuna,而不是现有的 SOTA 开源模型。
在 45% 的问题中,GPT-4 认为 Vicuna 的回答和 ChatGPT 差不多甚至更好。
综合来看,Vicuna 在总分上达到 ChatGPT 的 92%。
局限
研究人员指出,与其他大语言模型类似,Vicuna 也存在着一定的局限性。
比如,Vicuna 在涉及编程、推理、数学以及事实准确性的任务上表现不佳。
此外,它也没有经过充分优化以保证安全性或减轻潜在的毒性或偏见。
为解决安全方面的问题,研究人员在 demo 中采用了 OpenAI 的审查 API 来过滤掉不适当的用户输入。
剩下的名字不多了
现在,除了美洲驼,羊驼(Alpaca),驼马(Vicuna)都安排上了。
研究人员要赶快冲,因为留给你们的名字不多了。
参考资料: