限时领|《AI 百问百答》专栏课+实体书(包邮)! 了解详情
写点什么

训练成本 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:375758

评论

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

百度智能云遇到三一重机,工程机械维保有了新方案

百度大脑

人工智能 三一重工

Spark 架构剖析:一个任务是怎么运行的

程序员赤小豆

大数据 spark 架构

第一次凡尔赛,字节跳动3面+腾讯6面一次过,谈谈我的大厂面经

Java~~~

Java 面试 微服务 多线程 架构师

限12小时删!白嫖对标阿里P5—P8的Java学习路线+大厂刷题秘籍

Java架构追梦

Java 阿里巴巴 架构 面试

看完字节大佬的算法刷题宝典,我直接手撕了500道算法算法题

Java~~~

Java 面试 算法 二叉树 架构师

FIL分币平台|FIL算力系统软件开发技术

量化系统19942438797

#区块链# fil币

Python代码阅读(第4篇):过滤掉列表中的唯一值

Felix

Python 编程 Code Programing 阅读代码

阿里云-云开发平台入门篇——静态网站的全生命周期实战

若尘

阿里云 8月日更

iOS开发-为 iOS 编写 Kotlin Parcelize 编译器插件

iOSer

ios 编译器 编译器原理 iOS 知识体系 Kotlin Parcelize

基于香港服务器的应用开发中测试数据管理的 3 个最佳实践

九河云安全

Serverless 全能选手,再添一“金”

Serverless Devs

Serverless 互联网 云原生

【Vue2.x 源码学习】第二十七篇 - Vue 生命周期的实现

Brave

源码 vue2 8月日更

632页!我熬夜读完这份“高分宝典”,竟4面拿下字节跳动offer

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

不愧为京东内部Spring Boot全解笔记,真的是把精髓全总结出来了

Java~~~

Java 面试 Spring Boot 架构师 京东

阿里首席官珍藏,SpringCloud精通日记,血汗全在这了

Java~~~

Java 面试 微服务 Spring Cloud 架构师

防止数据丢失和减轻勒索软件攻击的 5 种方法

九河云安全

在阿里晋升3次,5年拿下P8岗位,这份pdf记录了我的整个成长过程

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

面试阿里P6,过关斩将直通2面,结果3面找了个架构师来吊打我?

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

九大核心专题,630页内容,熬夜23天吃透,我收割了3个大厂offer

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

写作7堂课——【1.框架式写作】

LeifChen

框架 结构化思维 写作技巧 8月日更

50 亿观众的 “云上奥运”,顶级媒体背后的数智化力量

阿里云CloudImagine

阿里云 直播技术 视频制作 视频云 奥运

去中心化市值管理机器人开发|去中心化做市机器人

Geek_23f0c3

量化交易机器人系统开发 市值管理机器人系统开发 去中心化市值管理机器人

【共识专栏】Quorum机制与PBFT

趣链科技

区块链 共识机制 PBFT 共识算法

为什么拥抱能源的数字未来意味着在云上全力以赴

九河云安全

一个弱鸡管理者如何带领一支牛逼的队伍?

弱鸡管理者

安全 技术人 创新 技术人应知的创新思维模型 管理经验

华为大神珍藏版:SpringBoot全优笔记,面面俱到太全了

Java~~~

Java 面试 微服务 Spring Boot 架构师

番外1. OpenCV 图像处理之图片加载与视频加载

梦想橡皮擦

8月日更

如何保存数据并更快地从勒索软件攻击中恢复

九河云安全

这本“算法宝典”讲得透彻,完全掌握后,我竟拿到字节跳动offer

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

三面阿里被挂,竟获内推名额,历经5面拿下口碑offer(Java后台)

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

Ipfs未来价值怎么样?Ipfs值得投资吗?

区块链 分布式存储 IPFS fil IPFS未来价值

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