分享

实现92%的GPT4能力的离线版ChatGPT——Vicuña(骆马?)大部分由中国人贡献

 风声之家 2023-04-07 发布于江苏

加州大学伯克利分校、CMU、斯坦福大学和加州大学圣地亚哥分校的团队成员训练了一个新的开源离线版聊天机器人,称之为Vicuna。

实在没想到羊驼有那么多亲戚:vicuña是南美的一种哺乳动物,属于骆驼科,包括美洲驼、羊驼和骆驼。它发现于秘鲁、玻利维亚、智利和阿根廷的安第斯山脉。

vicuña是一种小而优雅的动物,肩高约3英尺,体重约90磅。它的羊毛柔软而细腻,质量非常好,被认为是世界上最好的天然纤维之一。vicuña羊毛非常昂贵,经常被用来制作高端奢侈服装,如大衣、围巾和披肩。

你可以直接从这里试用,当然也可以自建:

https://chat./

自建:https://github.com/lm-sys/FastChat

Vicuna英语原文地址:

https://vicuna./


我们介绍了 Vicuna-13B,这是一种开源聊天机器人,通过微调 LLaMA 对从 ShareGPT 收集的用户共享对话进行训练。使用 GPT-4 作为判断的初步评估表明,Vicuna-13B 实现了 OpenAI ChatGPT 和 Google Bard 90% 以上的 * 质量,同时在超过 90% * 的情况下优于 LLaMA 和 Stanford Alpaca 等其他模型。培训 Vicuna-13B 的费用约为 300 美元。培训和服务代码以及在线演示可公开用于非商业用途。

Vicuna? 骆马有多好?

我们展示了羊驼和骆驼对基准问题的回答示例。在使用 70K 用户共享的 ChatGPT 对话对 Vicuna 进行微调后,我们发现与 Alpaca 相比,Vicuna 能够生成更详细、结构更合理的答案(参见下面的示例),并且质量与 ChatGPT 相当。

然而,评估聊天机器人绝非易事。随着 GPT-4 的最新进展,我们很好奇它的能力是否已经达到了类似人类的水平,从而可以实现用于基准生成和性能评估的自动化评估框架。我们的初步发现表明,在比较聊天机器人的答案时,GPT-4 可以产生高度一致的排名和详细的评估(参见上面的 GPT-4 判断示例)。基于 GPT-4 的初步评估(如图 1 所示)表明,Vicuna 实现了 Bard/ChatGPT 的 90% * 能力。虽然这个提议的框架显示了自动化聊天机器人评估的潜力,但它还不是一个严格的方法。为聊天机器人建立评估系统仍然是一个悬而未决的问题,需要进一步研究。评估部分提供了更多详细信息。

演示:

00:59

Overview

大型语言模型 (LLM) 的快速发展彻底改变了聊天机器人系统,从而实现了前所未有的智能水平,如 OpenAI 的 ChatGPT 所示。然而,尽管性能令人印象深刻,但 ChatGPT 的训练和架构细节仍不清楚,阻碍了该领域的研究和开源创新。受 Meta LLaMA 和 Stanford Alpaca 项目的启发,我们推出了 Vicuna-13B,这是一个开源聊天机器人,由增强的数据集和易于使用、可扩展的基础设施支持。通过根据从 ShareGPT.com 收集的用户共享对话微调 LLaMA 基础模型,Vicuna-13B 与 Stanford Alpaca 等其他开源模型相比展示了具有竞争力的性能。这篇博文对 Vicuna-13B 的性能进行了初步评估,并描述了其训练和服务基础设施。我们还邀请社区与我们的在线演示进行互动,以测试该聊天机器人的功能。

上图 概述了我们的工作。首先,我们从 ShareGPT.com 收集了大约 7 万个对话,ShareGPT.com 是一个用户可以分享他们的 ChatGPT 对话的网站。接下来,我们增强了 Alpaca 提供的训练脚本,以更好地处理多轮对话和长序列。训练是在一天内在 8 个 A100 GPU 上使用 PyTorch FSDP 完成的。为了提供演示服务,我们实现了一个轻量级的分布式服务系统。我们通过创建一组 80 个不同的问题并利用 GPT-4 来判断模型输出,对模型质量进行了初步评估。为了比较两个不同的模型,我们将每个模型的输出组合成每个问题的单个提示。然后将提示发送到 GPT-4,GPT-4 评估哪个模型提供更好的响应。 LLaMA、Alpaca、ChatGPT 和 Vicuna 的详细比较如下表 1 所示。

Training训练

Vicuna 是通过使用从 ShareGPT.com 使用公共 API 收集的大约 70K 用户共享对话微调 LLaMA 基础模型创建的。为了确保数据质量,我们将 HTML 转换回 markdown 并过滤掉一些不合适或低质量的样本。此外,我们将冗长的对话分成更小的部分,以适应模型的最大上下文长度。

我们的训练方法建立在斯坦福羊驼的基础上,并进行了以下改进。

-内存优化:为了使 Vicuna 能够理解长上下文,我们将最大上下文长度从羊驼中的 512 扩展到 2048,这大大增加了 GPU 内存需求。我们通过利用梯度检查点和闪存注意力来解决内存压力。

-多轮对话:我们调整训练损失以考虑多轮对话,并仅根据聊天机器人的输出计算微调损失。

-通过 Spot 实例降低成本:40 倍大的数据集和 4 倍的训练序列长度对训练费用提出了相当大的挑战。我们使用 SkyPilot 托管点来降低成本,方法是利用更便宜的点实例以及自动恢复抢占和自动区域切换。该解决方案将 7B 模型的训练成本从 500 美元削减至 140 美元左右,将 13B 模型的训练成本从 1000 美元左右削减至 300 美元。

Serving

我们构建了一个服务系统,该系统能够使用分布式工作人员为多个模型提供服务。它支持来自本地集群和云的 GPU worker 的灵活插件。通过利用 SkyPilot 中的容错控制器和托管点功能,该服务系统可以很好地与来自多个云的更便宜的点实例一起工作,以降低服务成本。它目前是一个轻量级的实现,我们正在努力将更多的最新研究成果集成到其中。

How To Evaluate a Chatbot? 如何评估聊天机器人?

评估 AI 聊天机器人是一项具有挑战性的任务,因为它需要检查语言理解、推理和上下文感知。随着 AI 聊天机器人变得越来越先进,当前的开放基准可能不再足够。例如,斯坦福羊驼使用的评估数据集,self-instruct,可以通过 SOTA 聊天机器人有效地回答,使得人类很难辨别性能差异。更多限制包括训练/测试数据污染和创建新基准的潜在高成本。为了解决这些问题,我们提出了一个基于 GPT-4 的评估框架来自动评估聊天机器人的性能。

首先,我们设计了八个问题类别,例如费米问题、角色扮演场景和编码/数学任务,以测试聊天机器人性能的各个方面。通过仔细的提示工程,GPT-4 能够生成基线模型难以解决的多样化、具有挑战性的问题。我们为每个类别选择十个问题,并从五个聊天机器人收集答案:LLaMA、Alpaca、ChatGPT、Bard 和 Vicuna。然后,我们要求 GPT-4 根据有用性、相关性、准确性和细节来评估他们答案的质量。我们发现 GPT-4 不仅可以产生相对一致的分数,而且可以详细解释为什么给出这样的分数(详细示例链接)。但是,我们也注意到 GPT-4 不太擅长判断编码/数学任务。

上图显示了所有基线和 Vicuna 之间的比较结果。在超过 90% 的问题中,GPT-4 更喜欢 Vicuna 而不是最先进的开源模型(LLaMA、Alpaca),并且它实现了与专有模型(ChatGPT、Bard)竞争的性能。在 45% 的问题中,GPT-4 将 Vicuna 的回答评为优于或等于 ChatGPT 的回答。由于 GPT-4 在 10 分的范围内为每个回答分配了一个定量分数,我们通过将每个模型在 80 个问题上获得的分数相加来计算每个(基线,Vicuna)比较对的总分。如表 2 所示,Vicuna 的总分是 ChatGPT 的 92%。尽管最近取得了进步,但这些聊天机器人仍然面临局限性,例如难以解决基本的数学问题或编码能力有限。

虽然这个提议的评估框架展示了评估聊天机器人的潜力,但它还不是一个严格或成熟的方法,因为大型语言模型容易产生幻觉。为聊天机器人开发一个全面、标准化的评估系统仍然是一个需要进一步研究的悬而未决的问题。

Limitations局限

我们注意到,与其他大型语言模型类似,Vicuna 有一定的局限性。例如,它不擅长涉及推理或数学的任务,并且在准确识别自己或确保其输出的事实准确性方面可能存在局限性。此外,它还没有得到充分优化以保证安全性或减轻潜在的毒性或偏见。为了解决安全问题,我们使用 OpenAI 审核 API 来过滤掉在线演示中不适当的用户输入。尽管如此,我们预计 Vicuna 可以作为未来研究解决这些限制的开放起点。

Release版本

在我们的第一个版本中,我们将在 GitHub 存储库上共享训练、服务和评估代码: https://github.com/lm-sys/FastChat 。我们还发布了 Vicuna-13B 模型权重,请在此处找到说明。没有发布数据集的计划。加入我们的 Discord 服务器并关注我们的 Twitter 以获取最新更新。

License许可

在线演示是仅供非商业用途的研究预览,受 LLaMA 模型许可、OpenAI 生成数据的使用条款和 ShareGPT 隐私惯例的约束。如果您发现任何潜在的违规行为,请联系我们。

The Team(几乎都是中文名字)

这是与来自多个机构的合作者的共同努力,包括加州大学伯克利分校、CMU、斯坦福大学、加州大学圣地亚哥分校和 MBZUAI。

Students (alphabetical order):
Wei-Lin Chiang, Zhuohan Li, Zi Lin, Ying Sheng, Zhanghao Wu, Hao Zhang, Lianmin Zheng, Siyuan Zhuang, Yonghao Zhuang

Advisors (alphabetical order):
Joseph E. Gonzalez, Ion Stoica, Eric P. Xing

Acknowledgment

我们要感谢来自 BAIR 的 Xinyang Geng、Hao Liu 和 Eric Wallace;来自斯坦福羊驼团队的 Xuecheng Li 和 Tianyi Zhang 进行了富有洞察力的讨论和反馈。 BAIR 很快将发布另一篇博客文章,介绍他们在聊天机器人 Koala 上的同步工作。


总结:

该视频讨论了如何使用CPU或GPU在本地计算机上运行Vicuna模型。Vicuna模型是一个开源的聊天机器人,通过使用从共享GPT收集的用户共享对话对Llama模型进行微调来训练。根据作者的说法,Vicuna模型达到了90%的Chat JVD质量,这是非常了不起的。作者还表示,Vicuna模型在90%以上的情况下能够超越Glamor和Stanford Alpaca等模型,使其优于现有模型。

研究人员使用GPT-4评估了不同的聊天机器人,它几乎具有人类水平的能力。他们还使用不同的问题类别,如费米问题、角色扮演场景、编码数学任务等等,来评估聊天机器人的表现。Vicuna模型也进行了优化,以理解较长的上下文和多轮对话,从而在与聊天机器人的对话中获得更好的能力和质量。

该视频的主要收获是

1. Vicuna模型是一个开源的聊天机器人,通过使用从共享GPT收集的用户共享对话对Llama模型进行微调来训练。
2. Vicuna模型达到90%的聊天JVD质量,并在90%以上的情况下优于Glamor和Stanford Alpaca等模型。
3. 研究人员使用GPT-4评估了不同的聊天机器人,它几乎具有人类水平的能力。
4. Vicuna模型经过优化,可以理解更长的上下文,上下文长度为2048。
5. Vicuna模型为多轮对话进行了优化,导致了更好的质量和能力。
6. GPT-4被用作聊天机器人的评估工具,因为它几乎具有人类水平的能力,使其更容易评估不同的模型。
7. Vicuna模型可供使用,提供培训和服务代码,以及在线演示。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多