用ChatGPT训练羊驼:「白泽」开源,轻松构建专属模型,可在线试玩

简介: 用ChatGPT训练羊驼:「白泽」开源,轻松构建专属模型,可在线试玩


高质量数据,由 ChatGPT「自我博弈」生成。


ChatGPT 出现之后,科技公司正在争相追赶,学界也在不断寻找开源且轻量的解决方案。

 

此前,人们基于 Meta 的 LLaMA 构建了一系列参数较少的新模型,只用几十亿参数就可以获得接近 GPT-3.5 的效果。然而从 ChatGPT 和 GPT-4 的发展中我们可以看到,高质量的标注数据至关重要,OpenAI 对数据和标注工作下了很大力气。


对于学界来说,很难在短期做同样的事。最近,有研究者尝试通过让 ChatGPT 自我对话生成多轮对话的「数据集」,最终训练出了强大的语言模型。


4 月 4 日,来自加州大学圣迭戈分校、中山大学和微软亚研的研究者提出了「白泽」。



论文《Baize: An Open-Source Chat Model with Parameter-Efficient Tuning on Self-Chat Data》:



论文链接:https://arxiv.org/abs/2304.01196


白泽目前包括四种英语模型:白泽 -7B、13B 和 30B(通用对话模型),以及一个垂直领域的白泽 - 医疗模型,供研究 / 非商业用途使用,并计划在未来发布中文的白泽模型。

 

白泽的数据处理、训练模型、Demo 等全部代码已经开源。




在新研究中,作者提出了一个自动收集 ChatGPT 对话的流水线,通过从特定数据集中采样「种子」的方式,让 ChatGPT 自我对话,批量生成高质量多轮对话数据集。其中如果使用领域特定数据集,比如医学问答数据集,就可以生成高质量垂直领域语料。

 

白泽提出的训练方法。通过利用 ChatGPT 的功能自动生成高质量的多轮聊天语料,让 ChatGPT 与自己进行对话,模拟用户和 AI 的响应。


为了在资源匮乏的环境中微调大语言模型,作者采用了有效利用计算资源的参数高效调优方法。该策略使最先进的语言模型保持了高性能和适应性。白泽改进了开源大型语言模型 LLaMA,通过使用新生成的聊天语料库对 LLaMA 进行微调,该模型在单个 GPU 上运行,使其可供更广泛的研究人员使用。


自聊天的过程是训练内容的基础,为了让 ChatGPT 能够有效生成数据,研究人员应用一个模板来定义格式和要求,让 ChatGPT 的 API 持续为对话双方生成抄本,直到达到自然停止点。对话以「种子」为中心,「种子」可以是一个问题,也可以是设置聊天主题的关键短语。


通过这样的方法,研究人员分别收集了 5 万条左右 Quora、StackOverflow(编程问答)和 MedQA(医学问答)的高质量问答语料,并已经全部开源。


ChatGPT 使用从 Quora 数据集采样的种子生成的自我聊天示例。


相比之下,Vicuna 使用从 sharegpt.com 上抓取的对话,这样做的一个好处是收集到的数据质量很高。但是,此来源可能存在严重的隐私和法律问题。值得注意的是,sharegpt.com 最近已经禁止抓取,这意味着该数据源不再可用,Vicuna 难以复现。


在取得这些数据后,作者使用 LoRA(low-rank adaptation)方法在英伟达 A100 单卡下训练了三种尺寸的白泽模型,最短训练时长只需要 5 小时(医疗模型),最长也只需要 36 小时(30B 通用对话模型)。训练的权重最大也仅有 54.6M 的参数量。


 

研究人员将白泽与 Alpaca-LoRA、ChatGPT 进行比较,展示了常识问答、事件分析、解释笑话、问题拒答、写代码,以及医疗模型的健康咨询等能力。

 

表 5:解释雷曼兄弟破产。总体而言,Baize-7B 提供了比 Alpaca-LoRA 更全面的答案,同时包含了 ChatGPT 答案中的大部分要点。另一方面,ChatGPT 提供了更长更详细的答案。


表 6:解释笑话的示例。Baize-13B 和 ChatGPT 可以成功解释这个笑话,Alpaca-LoRA 未能做到。


表 7:聊天模型如何响应用户不道德请求的示例。Baize 和 ChatGPT 拒绝回答不道德的问题,而 Alpaca-LoRA 提供答案。


表 8:生成代码示意。


除了一般模型外,研究人员还在医疗从业者的帮助下测试了 Baize-Healthcare,专业人员已确认白泽有关医疗问题的回应是适当的。


目前,「白泽」支持 20 种语言,对于英语以外的内容质量有限,继承了 LLaMA 的知识,可能会出现幻觉,或用过时知识进行回答。

 

下一步,研究人员计划探索引入强化学习以进一步提高白泽模型的性能。

相关文章
|
4月前
|
人工智能 自然语言处理 搜索推荐
微软开源基于ChatGPT的,超级文本代码智能体
【7月更文挑战第17天】微软的TaskWeaver是开源的LLM框架,聚焦领域特定数据分析与个性化需求。它以代码优先,将用户请求转为可执行代码,增强处理复杂任务的效率和准确性。通过用户定义插件实现定制,适应多种场景。然而,转化请求可能引入复杂性和错误,非技术用户使用插件有难度,且开源带来的安全与隐私问题需关注。[论文链接](https://arxiv.org/abs/2311.17541)**
53 4
|
26天前
|
机器学习/深度学习 人工智能 并行计算
DeepSpeed Chat: 一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍
DeepSpeed Chat 是一款革命性的平台,专为简化和加速类ChatGPT模型的训练而设计。通过一键式脚本,用户可以轻松完成从预训练模型到生成自定义ChatGPT模型的全过程。该系统复刻了InstructGPT的RLHF训练方法,并集成了一系列优化技术,如DeepSpeed Hybrid Engine,大幅提升了训练效率和经济性。使用DeepSpeed Chat,即使是拥有数千亿参数的大模型,也能在短时间内完成训练,且成本显著降低。无论是单GPU还是多GPU集群环境,DeepSpeed Chat都能提供卓越的性能和易用性,让RLHF训练变得更加普及。
DeepSpeed Chat: 一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍
|
23天前
|
机器学习/深度学习 人工智能 自然语言处理
【AI大模型】ChatGPT模型原理介绍(下)
【AI大模型】ChatGPT模型原理介绍(下)
|
23天前
|
机器学习/深度学习 人工智能 自然语言处理
【AI大模型】ChatGPT模型原理介绍(上)
【AI大模型】ChatGPT模型原理介绍(上)
|
3月前
|
人工智能 开发者 芯片
【51单片机】单片机开发者的福音: 让AI看电路图帮你编写程序(使用ChatGPT 中训练好的单片机工程师模型)
使用AI大语言模型编写 单片机程序. 使用的是 OpenAI公司发布的 ChatGPT .在ChatGPT上有别人训练好的 单片机工程师 with Keil uVision 5 - C Code Explainer模型, 可以上传电路图改模型可以通过这个用户所给的电路图进行编程.
178 0
【51单片机】单片机开发者的福音: 让AI看电路图帮你编写程序(使用ChatGPT 中训练好的单片机工程师模型)
|
2月前
|
存储 Linux API
物理地址模型 【ChatGPT】
物理地址模型 【ChatGPT】
|
2月前
|
Linux API 调度
设备的能量模型【ChatGPT】
设备的能量模型【ChatGPT】
|
2月前
|
Linux 程序员 编译器
将驱动程序移植到新的驱动模型 【ChatGPT】
将驱动程序移植到新的驱动模型 【ChatGPT】
|
2月前
|
设计模式 Linux
驱动模型 【ChatGPT】
驱动模型 【ChatGPT】
|
4月前
|
数据采集 编解码 人工智能
破解ChatGPT惊人耗电!DeepMind新算法训练提效13倍,能耗暴降10倍
【7月更文挑战第19天】DeepMind的JEST算法革新AI训练,提升效率13倍,节能10倍。通过联合数据批次选择,预训练指导及多分辨率训练,优化资源利用,降低能耗。实验显示性能提升,达到SOTA水平,但实施需大量资源,依赖优质参考模型。[论文链接](https://arxiv.org/pdf/2406.17711)
65 10