加州大学伯克利分校、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% * 能力。虽然这个提议的框架显示了自动化聊天机器人评估的潜力,但它还不是一个严格的方法。为聊天机器人建立评估系统仍然是一个悬而未决的问题,需要进一步研究。评估部分提供了更多详细信息。 演示: 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局限 |
|