ChatGPT开源替代品——LLaMA系列之「羊驼家族」
- 1. Alpaca
- 2. Vicuna
- 3. Koala
- 4. ChatLLaMA
- 5. FreedomGPT
- 6. ColossalChat
- 完整的 ChatGPT 克隆解决方案
- 中英双语训练数据集
- 完整的RLHF管线
- 相关链接
现在如果问什么最火,很多人第一反应肯定就是ChatGPT。的确,2023年开年以来AIGC的大火,ChatGPT称为热点话题。那么除了ChatGPT之外,还有没有其他类似的大语言模型呢?本文从一次意外的LLaMA泄漏开始,介绍开源LLM领域最大的创新火花。
与OpenAI推出ChatGPT相对应的,Meta AI(原Facebook)也推出了自己的大语言模型LLaMA 。它有不同的版本,包括7B、13B、33B和65B的参数,虽然它比GPT-3小,但在许多任务上,它都能和GPT-3的性能相媲美。然而,一次意外的泄露,导致LLM领域最大的创新火花。
很短时间内,诞生了基于LLaMA的一系列创新应用,例如Alpaca、Vicuna、Koala、ChatLLaMA 、FreedomGPT、ColossalChat…… 。它们统称为「羊驼家族」。
1. Alpaca
Alpaca是由Meta的LLaMA 7B微调而来的全新模型,仅用了52k数据,性能约等于GPT-3.5。更为关键是训练成本奇低,不到600美元。
地址:https://crfm.stanford.edu/2023/03/13/alpaca.html
简介 GPT-3.5(text-davinci-003)、ChatGPT、Claude和Bing Chat等指令遵循模型的功能越来越强大。现在,许多用户定期与这些模型交互,甚至在工作中使用它们。然而,尽管指令遵循模型得到了广泛部署,但仍有许多不足之处:它们会产生虚假信息,传播社会刻板印象,并产生有毒语言。
为了在解决这些紧迫问题方面取得最大进展,学术界的参与至关重要。不幸的是,在学术界对指令遵循模型进行研究一直很困难,因为没有一个易于访问的模型在功能上接近OpenAI的text-davinci-003等闭源模型。
斯坦福大学发布了一个名为Alpaca的指令遵循语言模型的研究结果,该模型是从Meta的LLaMA 7B模型中微调而来的。作者团队在52K指令上训练Alpaca模型,随后使用text-davinci-003以自学风格生成演示。在自我指导的评估集上,Alpaca表现出许多类似于OpenAI的text-davinci-003的行为,但它也出奇地小,易于复制/便宜。
作者团队正在发布我们的训练配方和数据,并打算在未来发布模型权重。他们还举办了一个互动演示,使研究团体能够更好地了解 Alpaca 的行为。交互可以暴露意外的功能和失败,这将指导作者团队以后对这些模型的评估。也鼓励用户在我们的网络演示中报告任何相关的行为,以便能够更好地理解和减轻这些行为。由于任何版本都有风险,将在本文后面讨论这个开放版本的思考过程。
作者强调,Alpaca仅用于学术研究,禁止任何商业用途。这个决定有三个因素:首先,Alpaca是基于LLaMA的,它有非商业许可证,所以必须继承这个决定。其次,指令数据基于OpenAI的text-davinci-003,其使用条款禁止开发与OpenAI竞争的模型。最后,没有设计足够的安全措施,因此Alpaca还没有准备好用于一般用途。
下图说明了作者团队如何获得Alpaca模型。对于数据,通过构建自我教学方法来生成遵循指令的演示。从self-instruct seed set的175个人写的指令输出对开始。然后,提示Text-Davinci-003使用种子集作为文本示例来生成更多说明。通过简化了生成管道(请参阅GitHub中的详细信息),并大大降低了成本,从而改善了自我教学方法。数据生成过程产生了52K唯一的说明和相应的输出,使用OpenAI API售价不到500美元。
2. Vicuna
2023年3月底,来自UC伯克利、卡内基梅隆大学、斯坦福大学和加州大学圣地亚哥分校的研究人员开源了Vicuna,这是一个与GPT-4性能相匹配的LLaMA微调版本。
简介 作者介绍了Vicuna-13B,这是一种由通过微型Llama培训的开源聊天机器人,该聊天机器人是从ShareGpt收集的用户共享对话中的。使用GPT-4作为法官的初步评估显示,Vicuna-13b在90%以上的Openai Chatgpt和Google bard质量中,在超过90%的案例中超过了其他模型,例如Llama和Stanford Alpaca等其他型号。训练Vicuna-13b的成本约为300美元。代码和权重以及在线演示,可公开用于非商业用途。
上图概述了作者团队的工作。 首先,从 ShareGPT.com 收集了大约 7 万个对话,ShareGPT.com 是一个用户可以分享他们的 ChatGPT 对话的网站。 接下来,增强了 Alpaca 提供的训练脚本,以更好地处理多轮对话和长序列。 训练是在一天内在 8 个 A100 GPU 上使用 PyTorch FSDP 完成的。 为了提供演示服务,作者实现了一个轻量级的分布式服务系统。 通过创建一组 80 个不同的问题并利用 GPT-4 来判断模型输出,对模型质量进行了初步评估。 为了比较两个不同的模型,将每个模型的输出组合成每个问题的单个提示。 然后将提示发送到 GPT-4,GPT-4 评估哪个模型提供更好的响应。
3. Koala
UC伯克利 AI Research Institute(BAIR)发布的一个新模型「考拉」(Koala),相比之前使用OpenAI的GPT数据进行指令微调,Koala的不同之处在于使用网络获取的高质量数据进行训练。
在这篇文章中,作者介绍了考拉,这是一个聊天机器人,通过对从网络收集的对话数据微调Meta的LLaMA进行训练。作者描述了我们模型的数据集管理和训练过程,并介绍了一项用户研究的结果,该研究将该模型与ChatGPT和斯坦福大学的Alpaca进行了比较。研究结果表明,考拉可以有效地响应各种用户查询,生成的响应通常比羊驼更受欢迎,并且至少在超过一半的情况下与ChatGPT并列。
作者希望这些结果进一步有助于围绕大型闭源模型相对于小型公共模型的相对性能的讨论。特别是,它表明,足够小的模型可以在本地运行,如果仔细采集数据进行训练,就可以获得它们较大的表兄弟的大部分性能。这可能意味着,例如,社区应该投入更多的精力来管理高质量的数据集,因为这可能比简单地增加现有系统的大小更有助于建立更安全、更实际、更有能力的模型。作者强调,考拉是一个研究原型,虽然希望它的发布将提供一个有价值的社区资源,它仍然在内容,安全性和可靠性方面存在重大缺陷,不应该在研究之外使用。
Online interactive demo
4. ChatLLaMA
Nebuly开源了ChatLLaMA ,这是一个使用让我们使用自己的数据创建对话助手的框架。
ChatLLaMA是一个库,允许您使用自己的数据和尽可能少的计算量创建超个性化的类似ChatGPT的助手。我们不再依赖于一个“统治我们所有人”的大型助手,而是设想未来我们每个人都可以创建自己的个性化版本的类似ChatGPT的助手。想象一下,未来许多处于“edge”的ChatLLaMA将支持人类的各种需求。但是,在“edge”创建个性化助手需要在多个方面进行巨大的优化工作:数据集创建、RLHF的高效训练和推理优化。
这个库旨在简化超个性化ChatLLaMA助理的开发。它的目的是通过抽象计算优化和收集大量数据所需的工作,让开发人员安心。ChatLLaMA旨在帮助开发人员处理各种用例,所有用例都与RLHF训练和优化推理有关。以下是一些用例参考:
- 为垂直特定任务(法律、医疗、游戏、学术研究等)创建类似ChatGPT的个性化助手;
- 想在本地硬件基础设施上使用有限的数据,训练一个高效的类似ChatGPT的助手;
- 想创建自己的个性化版本类ChatGPT助手,同时避免成本失控;
- 想了解哪种模型架构(LLaMA、OPT、GPTJ等)最符合我在硬件、计算预算和性能方面的要求;
- 想让助理与我的个人/公司价值观、文化、品牌和宣言保持一致。
5. FreedomGPT
FreedomGPT使用Electron 和 React构建,它是一个桌面应用程序,允许用户在他们的本地机器上运行LLaMA。
FreedomGPT的特色,从它的名字上就可见一斑——它回答的问题不受任何审查或安全过滤。这个程序由AI风险投资公司Age of AI开发。FreedomGPT 建立在 Alpaca 之上。FreedomGPT使用Alpaca的显著特征,因为与其他模型相比,Alpaca相对更易于访问和定制。
ChatGPT遵循OpenAI的使用政策,限制仇恨、自残、威胁、暴力、性方面的内容。与ChatGPT不同,FreedomGPT回答问题时没有偏见或偏袒,并且会毫不犹豫地回答有争议或争论性的话题。
FreedomGPT甚至还回答了「如何在家制造炸弹」,而OpenAI专门从GPT-4中删除了这一点。FreedomGPT很独特,因为它克服了审查限制,在没有任何保障的情况下迎合有争议的话题。它的标志是自由女神像,因为这个独特而大胆的大语言模型象征了自由。
FreedomGPT甚至可以在不需要联网的情况下,就能在计算机上本地运行。
6. ColossalChat
Colossal人工智能是基于加州大学伯克利分校杰出教授James Demmel教授和新加坡国立大学总统青年教授Yang You教授的专业知识开发的。自开源发布以来,Colossal AI已多次在GitHub Trending上排名第一,拥有约20000名GitHub stars,并成功被接受为SC、AAAI、PPoPP、CVPR和ISC等国际人工智能和HPC顶级会议的官方教程。
ColossalChat只需要不到100亿个参数就可以达到中英文双语能力,效果与ChatGPT和GPT-3.5相当。此外,基于LLaMA模型的ColossalChat,还复刻了完整的RLHF过程,是目前最接近ChatGPT原始技术路线的开源项目。
完整的 ChatGPT 克隆解决方案
ColossalChat是第一个基于LLaMA预训练模型开源完整RLHF pipline实现,包括有监督数据收集、有监督微调、奖励模型训练和强化学习微调。可以用1.6GB的GPU内存复制ChatGPT训练过程,并在训练过程中体验7.73倍的加速。它包括以下内容:
- 演示:一个交互式演示,无需注册或等候名单即可在线试用。
- 训练代码:开源完整的RLHF训练代码,包括7B和13B模型。
- 数据集:开源的104K中英文双语数据集。
- 推理:70 亿参数模型的 4 位量化推理,仅需要 4GB GPU 内存。
- 模型权重:单台服务器仅需少量算力即可实现快速复现。
- 其他更大的模型、数据集和其他优化将被快速更新和添加。
虽然 GPT 系列中的模型,例如 ChatGPT 和 GPT-4,非常强大,但它们不太可能完全开源。幸运的是,开源社区一直在努力解决这个问题。
例如,Meta 开源了 LLaMA 模型,它提供的参数大小从 70 亿到 650 亿不等。在大多数基准测试中,一个 130 亿参数的模型可以胜过 1750 亿个 GPT-3 模型。然而,由于它没有指令调整阶段,其实际生成的结果并不令人满意。
Stanford 的 Alpaca 通过调用 OpenAI 的 API 以自我指导的方式生成训练数据。这个轻量级模型只有 70 亿个参数,可以用一小部分成本进行微调,以实现类似于具有 1750 亿个参数的超大型语言模型(如 GPT-3.5)的会话性能。
然而,现有的开源解决方案在 RLHF(人类反馈强化学习)的第一阶段只能被视为有监督的微调模型,而不会执行后续的对齐和微调阶段。此外,Alpaca 的训练数据集仅限于英语,这在一定程度上限制了模型的性能。
然而,ChatGPT 和 GPT-4 令人印象深刻的效果是由于在训练过程中引入了 RLHF,这增加了生成内容与人类价值观的一致性。
中英双语训练数据集
ColossalChat发布了一个双语数据集,其中包含大约100,000个中英文问答对。该数据集是从社交媒体平台上的真实问题场景中收集和清理的,作为种子数据集,使用self-instruct进行扩展,标注成本约为900美元。与其他self-instruct方法生成的数据集相比,该数据集包含更真实和多样化的种子数据,涵盖更广泛的主题。该数据集适用于微调和RLHF训练。在提供优质数据的情况下,ColossalChat可以实现更好的对话交互,同时也支持中文。
完整的RLHF管线
RLHF 算法复刻涉及三个阶段:
- 在 RLHF-Stage1 中,使用前面提到的数据集进行监督指令微调以微调模型。
- 在 RLHF-Stage2 中,通过对同一提示的不同输出手动排序来训练奖励模型分配相应的分数,然后监督奖励模型的训练。
- 在 RLHF-Stage3 中,使用了强化学习算法,这是训练过程中最复杂的部分:
在PPO部分,ColossalChat遵循两个阶段的流程:首先是make experience阶段,使用SFT(Supervised Fine-Tuning)、Actor、RM(Reward Model)和Critic模型计算生成的体验并存储在buffer中. 然后是参数更新阶段,利用经验计算策略损失和价值损失。
在 PTX 部分,ColossalChat 计算了 Actor 的输出响应与输入语料库的响应部分之间的交叉熵损失。这个loss用于在PPO梯度上加入预训练梯度,以保持语言模型原有的性能,防止遗忘。最后,将策略损失、价值损失和 PTX 损失相加用于反向传播和参数更新。
相关链接
- Vicuna: An Open-Source Chatbot Impressing GPT-4 with 90%* ChatGPT Quality
- Koala: A Dialogue Model for Academic Research
- ColossalChat:用于克隆 ChatGPT 和完整 RLHF 管道的开源解决方案
- ColossalChat:完整RLHF平替ChatGPT的开源方案