写点什么

训练成本 300 美元、比肩 ChatGPT 和 Bard,低成本开源聊天机器人 Vicuna 来了

  • 2023-04-13
    北京
  • 本文字数:2763 字

    阅读完需:约 9 分钟

训练成本300美元、比肩ChatGPT和Bard,低成本开源聊天机器人Vicuna来了

大语言模型(LLM)的快速发展彻底颠覆了聊天机器人系统,实现了前所未有的智能水平。OpenAI 的 ChatGPT 就是其中最典型的代表。虽然 ChatGPT 的性能令人印象深刻,但目前我们并不清楚 ChatGPT 的训练和架构细节,这也阻碍了该领域的研究和开源创新。


受 Meta LLaMA 和 Stanford Aplaca 项目的启发,近日,来自加州大学伯克利分校、卡内基梅隆大学、斯坦福大学、加州大学圣迭戈分校的研究人员们共同推出了一个开源聊天机器人 Vicuna-13B。这是一款通过 LLaMA 模型微调和 ShareGPT 用户共享对话训练而成的开源聊天机器人。以 GPT-4 作为比照对象的初步评估表明,Vicuna-13B 的质量可达 OpenAI ChatGPT 和 Google Bard 的 90% 以上,并在超过 90% 的情况下优于 LLaMA 和 Stanford Alpaca 等其他模型。


值得一提的是,Vicuna-13B 的训练成本仅为 300 美元(约合 2062 元人民币)。目前,Vicuna-13B 训练和服务代码及在线演示可向非商业用例开放。


在首个版本中,研究人员将在 GitHub repo 上共享训练、服务和评估代码: https://github.com/lm-sys/FastChat

Vicuna-13B 模型的权重链接:https://github.com/lm-sys/FastChat#vicuna-weights

Vicuna-13B 演示链接:https://chat.lmsys.org/

Vicuna 是如何炼成的?

工作流程概览


在一篇文章中,研究人员介绍了整体的工作流程。


首先,研究人员从 ShareGPT.com(一个供用户分享 ChatGPT 对话内容的网站)收集了约 7 万个对话,并增强了 Alpaca 提供的训练脚本,以更好地处理多轮对话和长序列。训练是在一天内通过 8 个 A100 GPU 配合 PyTOrch FSDP 完成的。为了提供演示服务,研究人员建立起一个轻量级的分布式服务系统,创建了一组 80 个不同问题,利用 GPT-4 来判断模型输出,借此对模型质量做初步评估。


为了比较两套不同模型,研究人员将各个模型的输出组合成各问题的单一提示,再将提示发送至 GPT-4,由 GPT-4 评估哪个模型做出的响应更好。LLaMA、Alpaca、ChatGPT 和 Vicuna 的具体比较如下表一所示。


表一:几大知名模型间的性能比较


模型名称LLaMAAlpacaVicunaBard/ChatGPT
数据集公开可用数据集(1T令牌)来自davinci-003 API的Self-instruct(52K样本)用户共享的对话(70K样本)N/A
训练代码N/A可用可用N/A
评估指标学术基准作者评估GPT-4评估混合
训练成本(7B)82K个GPU时500美元(数据)+100美元(训练)140美元(训练)N/A
训练成本(13B)135K个GPU时N/A300美元(训练)N/A


前文提到,Vicuna 是通过从 ShareGPT.com 的公共 API 收集到的约 70K 用户共享对话对 LLaMA 基础模型微调而成。为了确保数据质量,研究人员将 HTML 转换回 markdown 并过滤掉了一些不合适或低质量的样本。此外,研究人员还将冗长的对话拆分成多个小部分,以适应模型所能支持的最大上下文长度。


训练方法以 Standford Alpaca 为基础,并做出以下改进。


  • 内存优化:为了使 Vicuna 能够理解长上下文,研究人员将 Alpaca 的最大上下文长度从 512 扩展至 2048,但这也大大增加了 GPU 内存需求。研究人员利用梯度检查点和闪存注意力的方式来解决内存压力。

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

  • 通过竞价实例降低成本:40 倍的大规模数据集和 4 倍的训练序列长度对训练成本提出了很大挑战。为此研究人员使用 SkyPilot 托管点来降低成本,希望使用更便宜的竞价实例并配合自动恢复以抢占/切换区域。该解决方案将 7B 模型的训练成本从 500 美元削减至 140 美元左右,将 13B 模型的训练成本从 1000 美元削减至 300 美元。研究人员构建了一套服务系统,能够使用分布式工作节点为多个模型提供服务,它支持来自本地集群和云 GPU 工作节点的多种灵活插件。通过使用 SkyPilot 中的容错控制器和托管点功能,这套服务系统能够很好地与来自多种云环境的低成本竞价实例配合运作,借此降低服务成本。其目前还只是轻量级实现,研究人员正努力将更多最新研究成果集成进来。

Vicuna 的优势与局限性


研究人员展示了 Alpaca 和 Vicuna 在基准问题上的回答示例。在使用 70K 用户共享的 ChatGPT 对话对 Vicuna 进行微调之后,与 Alpaca 相比,Vicuna 能够给出更详尽、结构更合理的答案(参见下图),且质量几乎与 ChatGPT 持平。




然而,评估聊天机器人绝非易事。随着 GPT-4 的最新进展,研究人员很好奇其能力是否已经达到了与人类相仿的水平,甚至可用于实现基准生成及性能评估的自动化框架。初步调查发现,在比较聊天机器人的答案时,GPT-4 可以给出非常一致的排名和详细评估(参见上图中的 GPT-4 判断示例)。


基于 GPT-4 的初步评估(见下图),可以看到 Vicuna 的能力已经达到 Bard/ChatGPT 的 90%。虽然这套框架能在一定程度上反映聊天机器人的潜力,但方法本身并不够严格。目前为聊天机器人建立评估系统仍是一个悬而未决的难题,尚需进一步研究。


GPT-4对相对响应质量做出的评估


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

如何评估聊天机器人?


对 AI 聊天机器人的评估是个老大难问题,需要验证其语言理解、推理和上下文感知能力。随着 AI 聊天机器人变得越来越先进,当前的开放基准可能不足以做出准确判断。例如,Standford Alpaca 使用的评估数据集 self-instruct,在领先聊天机器人中就能得到有效解答,导致人类很难辨别各模型间的性能差异。更多限制还包括训练/测试数据污染及创建新基准可能带来的高昂成本。


为了解决这些问题,研究人员提出了一套基于 GPT-4 的评估框架,借此自动评估聊天机器人性能。


首先,研究人员设计了 8 种问题类型,包括费米问题、角色扮演场景及编码/数学任务,借此测试聊天机器人的各方面性能。通过认真设计的提示工程,GPT-4 得以生成基准模型难以解决的多样化、极具挑战的问题。研究人员为各个类别具体选择 10 个问题,并从 5 款聊天机器人处收集答案:LLaMA、Alpaca、ChatGPT、Bard 以及 Vicuna。


之后,研究人员要求 GPT-4 根据指导性、相关性、准确性和细节度秋评估答案质量。最终发现,GPT-4 不仅能够生成相对一致的评分,还能具体解释为什么给出这样的评分(详见https://vicuna.lmsys.org/eval)。但是,研究人员也注意到 GPT-4 似乎不太擅长判断编码/数学任务。


GPT-4对各模型响应给出的比较评分


如上图所示,为各基准与 Vicuna 间的比较结果。在超过 90%的问题中,GPT-4 更支持 Vicuna 而非其他先进开源模型(LLaMA 和 Alpaca)的答案,而且在性能上与专有模型(ChatGPT、Bard)等相差不大。在 45%的问题中,GPT-4 都将 Vicuna 的回答评为优于或等于 ChatGPT 的回答。GPT-4 会以 10 分为满分为各个回答做出定量评分,因此研究人员将各个模型在 80 个问题上获得的分数相加以计算其与 Vicuna 之间的总分比较。


如表二所示,Vicuna 的部分为 ChatGPT 的 92%。尽管近来取得巨大进步,但这些聊天机器人仍有自己的局限,例如难以解决基本的数学问题且编码能力有限。


表二:GPT-4 给出的评估总分


基准模型基准得分Vicuna得分
LLaMA-13B513.0694.0
Alpaca-13B583.0704.0
Bard664.0655.5
ChatGPT693.0638.0


虽然这套评估框架确实具有一定的聊天机器人评估潜力,但尚不足以作为严格或成熟的评判方法,特别是无法处理大语言模型容易产生的幻觉问题。为聊天机器人开发一套全面、标准化的评估系统,仍是一个悬而未决、有待进一步研究的问题。


参考链接:

https://vicuna.lmsys.org/

2023-04-13 10:375211

评论

发布
暂无评论
发现更多内容

C++面试必备:常见C++面试题汇总及详细解析

小万哥

面试 软件开发 C/C++ 常见 汇总

ChatGPT4.0,基础生产力的变革!

老张

人工智能 ChatGPT ChatGPT4

ChatGPT研究(一)——AI平民化的里程碑

Chares

人工智能 机器学习 AIGC ChatGPT

Spring事务失效场景

TaurusCode

Spring Boot 事务 java基础 事务失效 事务回滚

WordPress 网站 Error Establishing a Database Connection(建立数据库连接时出错)

HoneyMoose

Linux 查看 SELinux 的状态

HoneyMoose

Jetpack-Compose 学习笔记(三)—— Compose 的自定义“View”

修之竹

android Compose JetPack android jetpack

功能全面的数据库软件:DBeaverUltimate 中文旗舰版

真大的脸盆

Mac 数据库管理 Mac 软件 管理数据库 数据库工具

联想Yoga Book 9i双屏笔记本发布:两块13寸2.8K触摸屏

Geek_2d6073

寻找“乘风破浪”的出海创新势力丨 2023出海企业创新价值榜报名启动

创业邦

百度获CCIA数安委《数据安全和个人信息保护社会责任指南》首批试点示范单位

百度安全

秒懂算法 | 链表

TiAmo

算法 链表 C++ STL 静态链表 动态链表

浙江杭州|Hi TECH 2023 年全球青年创业大赛

科兴未来News

数字经济 杭州 新能源 生物医药 #双创赛事#

比尔·盖茨最新AI演讲:人工智能时代已经开启

Chares

人工智能 机器学习 微软 ChatGPT

IT 数字化转型

L3C老司机

数字化转型 产品研发 工程效能 项目交付 胜任力模型

WordPress 插件 g5plus 修改属性

HoneyMoose

开心档之MySQL 序列使用

分享交流丨九科信息董事&产品VP傅恺受邀出席第三届ISIG中国产业智能大会并分享企业优秀案例

九科Ninetech

新能源的B面:下沉市场的机会与变量

Alter

新能源 下沉市场

《零代码应用实例》,从案例到使用

明道云

IntelliJ IDEA 2023.1 版本添加了包中类的列表功能

HoneyMoose

Linux 开启或关闭 SELinux

HoneyMoose

强大的绘图软件:OmniGraffle中文激活版

真大的脸盆

Mac Mac 软件 绘图软件 绘图工具

电商秒杀系统

Ryan

Spring 项目运行提示错误 Not a managed type

HoneyMoose

发声全球边缘计算大会,火山引擎荣获“最佳边缘云服务商”称号

火山引擎边缘云

火山引擎 边缘云 火山引擎边缘计算

好用的无损播放器:Audirvana v3.5.50中文激活版

真大的脸盆

Mac 软件 音乐播放 无损播放器

开心档之MySQL WHERE 子句

百度荣获 CCIA数据安全工作委员会突出贡献奖

百度安全

Jenkins 修改启动的端口

HoneyMoose

训练成本300美元、比肩ChatGPT和Bard,低成本开源聊天机器人Vicuna来了_开源_凌敏_InfoQ精选文章