训练中文版chatgpt

时间:2024-10-28 07:13:48

文章目录

  • 1. 斯坦福的模型——小而低廉:Alpaca: A Strong Open-Source Instruction-Following Model
  • 2. Meta 模型:LLaMA:open and efficient foundation language models
  • 4.斯坦福开源机器人小羊驼Vicuna,130亿参数匹敌90%ChatGPT
    • 概述
    • 训练
    • 如何评估聊天机器人?
    • 局限性

1. 斯坦福的模型——小而低廉:Alpaca: A Strong Open-Source Instruction-Following Model

原文链接:/s/PqKue-D7HTne2gC7UzT4Xg
官网地址:/2023/03/13/
模型入口:/alpaca
github地址:/tatsu-lab/stanford_alpaca

为了提高模型性能,来自斯坦福的研究者帮助其完成了指令微调的工作,训练了一个名为 Alpaca(羊驼)的 70 亿参数新模型(基于 LLaMA 7B)。具体来说,他们让 OpenAI 的 text-davinci-003 模型以 self-instruct 方式生成 52K 指令遵循(instruction-following)样本,以此作为 Alpaca 的训练数据。实验结果表明,Alpaca 的很多行为都与 text-davinci-003 类似。也就是说,只有 7B 参数的轻量级模型 Alpaca 性能可媲美 GPT-3.5 这样的超大规模语言模型。

Alpaca是由Meta的LLaMA 7B微调而来的全新模型,仅用了52k数据,性能约等于GPT-3.5。关键是训练成本奇低,不到600美元。在8个80GB A100上训练了3个小时,不到100美元;生成数据使用OpenAI的API,500美元

但是,Alpaca是不能用于商业用途,只能用于学术研究。具体原因有三:

  1. LLaMA是一个非商业许可的模型,Alpaca是基于该模型生成的;

  2. 指令数据是基于OpenAI的text-davinci-003,其使用条款禁止开发与OpenAI竞争的模型;

  3. 没有设计足够多的安全措施,所以Alpaca还没有做好广泛使用的准备

除此之外,斯坦福研究人员总结了Alpaca未来研究会有三个方向。

评估:
从HELM(语言模型的整体评估)开始捕捉更多的生成性、遵循指令的场景。
安全:
进一步研究Alpaca的风险,并使用自动红队分组、审计和适应性测试等方法提高其安全性。
理解:
希望能更好地理解模型能力是如何从训练方法中产生的。需要基础模型的什么属性?扩大模型规模时会发生什么?需要指令数据的什么属性?在GPT-3.5上,除了使用自生成指令,还有什么替代方法?

2. Meta 模型:LLaMA:open and efficient foundation language models

论文地址:/publications/llama-open-and-efficient-foundation-language-models/

2023年2月底,Meta推出了最新的语言模型LLaMA,参数量分别是70亿(7B)、130亿(13B)、330亿(33B)和650亿(65B)。评测结果显示,其13B版本便可以与GPT-3相媲美。

原文链接:/view/24832

ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。ChatGLM-6B 使用了和 ChatGPT 相似的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答。

具体来说,ChatGLM-6B具备以下特点:

1、充分的中英双语预训练:ChatGLM-6B在1:1比例的中英语料上训练了1T的token量,兼具双语能力。
2、优化的模型架构和大小:吸取GLM-130B训练经验,修正了二维RoPE位置编码实现,使用传统FFN结构。6B(62亿)的参数大小,也使得研究者和个人开发者自己微调和部署ChatGLM-6B成为可能。
3、较低的部署门槛:FP16 半精度下,ChatGLM-6B 需要至少 13 GB 的显存进行推理,结合模型量化技术,这一需求可以进一步降低到 10GB(INT8) 和 6GB(INT4),使得 ChatGLM-6B 可以部署在消费级显卡上。
4、更长的序列长度:相比 GLM-10B(序列长度1024),ChatGLM-6B序列长度达2048,支持更长对话和应用。
5、人类意图对齐训练:使用了监督微调(Supervised Fine-Tuning)、反馈自助(Feedback Bootstrap)、人类反馈强化学习(Reinforcement Learning from Human Feedback)等方式,使模型初具理解人类指令意图的能力。输出格式为markdown,方便展示。

4.斯坦福开源机器人小羊驼Vicuna,130亿参数匹敌90%ChatGPT

原文链接:/view/25175
论文题目:Vicuna: An Open-Source Chatbot Impressing GPT-4 with 90%* ChatGPT Quality

  • 根据用GPT-4进行的有趣和非科学的评估。需要进一步严格的评估。

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

概述

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

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

训练

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

我们的训练食谱建立在斯坦福大学的Alpaca之上,并进行了以下改进。

内存优化:为了使 Vicuna 能够理解长上下文,我们将Vicuna的最大上下文长度从 512 扩展到 2048,这大大增加了 GPU 内存需求。我们通过利用梯度检查点和闪光注意力来解决内存压力。
多轮对话:我们调整训练损失以考虑多轮对话,并仅根据聊天机器人的输出计算微调损失。
通过竞价型实例降低成本:40 倍大的数据集和 4 倍的训练序列长度对训练费用提出了相当大的挑战。我们采用 SkyPilot 托管的 Spot 实例,通过利用具有自动恢复功能的更便宜的 Spot 实例来降低成本,以实现抢占和自动区域切换。该解决方案将训练 7B 模型的成本从 500 美元削减到 140 美元左右,将 13B 模型从大约 1 美元削减到 300 美元。
服务

如何评估聊天机器人?

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

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

在这里插入图片描述
图 3 显示了所有基线和Vicuna之间的比较结果。在超过4%的问题中,GPT-90更喜欢Vicuna而不是最先进的开源模型(LLaMA,Alpaca),并且它实现了与专有模型(ChatGPT,Bard)的竞争性能。在 45% 的问题中,GPT-4 将Vicuna的回答评为优于或等于 ChatGPT,Vicuna的总分达到 ChatGPT 的 92%(见表 2)。尽管取得了进步,但这些聊天机器人仍然面临局限性,例如在基本的数学问题上挣扎或编码能力有限。
在这里插入图片描述
虽然这个提议的评估框架展示了评估聊天机器人的潜力,但它还不是一种严格或成熟的方法,因为大型语言模型容易产生幻觉。为聊天机器人开发一个全面、标准化的评估系统仍然是一个悬而未决的问题,需要进一步研究。

局限性

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