【AI热点技术】ChatGPT开源替代品——LLaMA系列之「羊驼家族」

news2024/11/14 16:45:17

ChatGPT开源替代品——LLaMA系列之「羊驼家族」

  • 1. Alpaca
  • 2. Vicuna
  • 3. Koala
  • 4. ChatLLaMA
  • 5. FreedomGPT
  • 6. ColossalChat
    • 完整的 ChatGPT 克隆解决方案
    • 中英双语训练数据集
    • 完整的RLHF管线
  • 相关链接

现在如果问什么最火,很多人第一反应肯定就是ChatGPT。的确,2023年开年以来AIGC的大火,ChatGPT称为热点话题。那么除了ChatGPT之外,还有没有其他类似的大语言模型呢?本文从一次意外的LLaMA泄漏开始,介绍开源LLM领域最大的创新火花。

LLaMA
与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
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美元。
Alpaca模型的诞生过程

2. Vicuna

2023年3月底,来自UC伯克利、卡内基梅隆大学、斯坦福大学和加州大学圣地亚哥分校的研究人员开源了Vicuna,这是一个与GPT-4性能相匹配的LLaMA微调版本。
Vicuna
简介 作者介绍了Vicuna-13B,这是一种由通过微型Llama培训的开源聊天机器人,该聊天机器人是从ShareGpt收集的用户共享对话中的。使用GPT-4作为法官的初步评估显示,Vicuna-13b在90%以上的Openai Chatgpt和Google bard质量中,在超过90%的案例中超过了其他模型,例如Llama和Stanford Alpaca等其他型号。训练Vicuna-13b的成本约为300美元。代码和权重以及在线演示,可公开用于非商业用途。
Chat with Open Large Language Models
Demo
图2 Workflow Overview
上图概述了作者团队的工作。 首先,从 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的不同之处在于使用网络获取的高质量数据进行训练
koala
在这篇文章中,作者介绍了考拉,这是一个聊天机器人,通过对从网络收集的对话数据微调Meta的LLaMA进行训练。作者描述了我们模型的数据集管理和训练过程,并介绍了一项用户研究的结果,该研究将该模型与ChatGPT和斯坦福大学的Alpaca进行了比较。研究结果表明,考拉可以有效地响应各种用户查询,生成的响应通常比羊驼更受欢迎,并且至少在超过一半的情况下与ChatGPT并列。
Klala
作者希望这些结果进一步有助于围绕大型闭源模型相对于小型公共模型的相对性能的讨论。特别是,它表明,足够小的模型可以在本地运行,如果仔细采集数据进行训练,就可以获得它们较大的表兄弟的大部分性能。这可能意味着,例如,社区应该投入更多的精力来管理高质量的数据集,因为这可能比简单地增加现有系统的大小更有助于建立更安全、更实际、更有能力的模型。作者强调,考拉是一个研究原型,虽然希望它的发布将提供一个有价值的社区资源,它仍然在内容,安全性和可靠性方面存在重大缺陷,不应该在研究之外使用。
Online interactive demo

4. ChatLLaMA

Nebuly开源了ChatLLaMA ,这是一个使用让我们使用自己的数据创建对话助手的框架。
ChatLLaMA
ChatLLaMA是一个库,允许您使用自己的数据和尽可能少的计算量创建超个性化的类似ChatGPT的助手。我们不再依赖于一个“统治我们所有人”的大型助手,而是设想未来我们每个人都可以创建自己的个性化版本的类似ChatGPT的助手。想象一下,未来许多处于“edge”的ChatLLaMA将支持人类的各种需求。但是,在“edge”创建个性化助手需要在多个方面进行巨大的优化工作:数据集创建、RLHF的高效训练和推理优化。
ChatLLaMA
这个库旨在简化超个性化ChatLLaMA助理的开发。它的目的是通过抽象计算优化和收集大量数据所需的工作,让开发人员安心。ChatLLaMA旨在帮助开发人员处理各种用例,所有用例都与RLHF训练和优化推理有关。以下是一些用例参考:

  • 为垂直特定任务(法律、医疗、游戏、学术研究等)创建类似ChatGPT的个性化助手;
  • 想在本地硬件基础设施上使用有限的数据,训练一个高效的类似ChatGPT的助手;
  • 想创建自己的个性化版本类ChatGPT助手,同时避免成本失控;
  • 想了解哪种模型架构(LLaMA、OPT、GPTJ等)最符合我在硬件、计算预算和性能方面的要求;
  • 想让助理与我的个人/公司价值观、文化、品牌和宣言保持一致。

5. FreedomGPT

FreedomGPT使用Electron 和 React构建,它是一个桌面应用程序,允许用户在他们的本地机器上运行LLaMA。
FreedomGPT
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原始技术路线的开源项目。
https://chat.colossalai.org/

完整的 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,这增加了生成内容与人类价值观的一致性。
RLHF

中英双语训练数据集

ColossalChat发布了一个双语数据集,其中包含大约100,000个中英文问答对。该数据集是从社交媒体平台上的真实问题场景中收集和清理的,作为种子数据集,使用self-instruct进行扩展,标注成本约为900美元。与其他self-instruct方法生成的数据集相比,该数据集包含更真实和多样化的种子数据,涵盖更广泛的主题。该数据集适用于微调和RLHF训练。在提供优质数据的情况下,ColossalChat可以实现更好的对话交互,同时也支持中文。
双语训练数据集

完整的RLHF管线

RLHF 算法复刻涉及三个阶段:

  • 在 RLHF-Stage1 中,使用前面提到的数据集进行监督指令微调以微调模型。
  • 在 RLHF-Stage2 中,通过对同一提示的不同输出手动排序来训练奖励模型分配相应的分数,然后监督奖励模型的训练。
  • 在 RLHF-Stage3 中,使用了强化学习算法,这是训练过程中最复杂的部分:
    RLHF-Stage3
    在PPO部分,ColossalChat遵循两个阶段的流程:首先是make experience阶段,使用SFT(Supervised Fine-Tuning)、Actor、RM(Reward Model)和Critic模型计算生成的体验并存储在buffer中. 然后是参数更新阶段,利用经验计算策略损失和价值损失。

在 PTX 部分,ColossalChat 计算了 Actor 的输出响应与输入语料库的响应部分之间的交叉熵损失。这个loss用于在PPO梯度上加入预训练梯度,以保持语言模型原有的性能,防止遗忘。最后,将策略损失、价值损失和 PTX 损失相加用于反向传播和参数更新。

相关链接

  1. Vicuna: An Open-Source Chatbot Impressing GPT-4 with 90%* ChatGPT Quality
  2. Koala: A Dialogue Model for Academic Research
  3. ColossalChat:用于克隆 ChatGPT 和完整 RLHF 管道的开源解决方案
  4. ColossalChat:完整RLHF平替ChatGPT的开源方案

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/431745.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis集群模式下使用config set 命令所有节点都会生效吗?

Redis集群模式下使用config set 命令所有节点都会生效吗? 问题: Redis集群模式下使用config set 命令所有节点都会生效吗? 实践检验真理: 前置准备 Redis版本:5.0.5版本 Redis集群模式:三主三从 操作步骤: 分别连接7001节点与7002节点,准备在7001节点使用”config get”…

交友项目【查询好友动态,查询推荐动态】实现

目录 1:圈子 1.1:查询好友动态 1.1.1:接口分析 1.1.2:流程分析 1.1.2:代码实现 1.2:查询推荐动态 1.2.1:接口分析 1.2.2:流程分析 1.2.3:代码实现 1&#xff1a…

Python教程:如何用PIL将图片转换为ASCII艺术

Python教程:如何用PIL将图片转换为ASCII艺术 ASCII 艺术是一种将图像转换为由字符组成的艺术形式。Python 是一种灵活而强大的编程语言,可以使用它来将图片转换为 ASCII 艺术。本文将介绍如何使用 Python 和 PIL 库来实现这一功能。 文末有完整代码 效…

数学建模第一天:数学建模先导课之MATLAB的入门

目录 一、MATLAB的简介 二、Matlab基础知识 1. 变量 ①命名规则 ②特殊变量名 2、数学符号与函数调用 ①符号 ②数学函数 ③自定义函数 三、数组与矩阵 1、数组 ①创建数组 ②访问数组元素 ③数组运算 2、矩阵 ①定义 ②特殊矩阵 ③矩阵运算 四、控制流 …

若依项目springcloud启动

若依项目springcloud启动 参考:http://doc.ruoyi.vip/ruoyi-cloud/document/hjbs.html 1、概述 1.1、学习前提 熟练使用springboot相关技术了解springcloud相关技术电脑配置可以支持 1.2、需要的配置 JDK > 1.8 (推荐1.8版本) Mysql > 5.7.0 (推荐5.7版…

若依数据隔离 ${params.dataScope} 替换 优化为sql 替换

若依数据隔离 ${params.dataScope} 替换 优化为sql 替换 安全问题:有风险的SQL查询:MyBatis解决 若依框架的数据隔离是通过 ${params.dataScope} 实现的 但是在代码安全扫描的时候$ 符会提示有风险的SQL查询:MyBatis 所以我们这里需要进行优化参考: M…

凌恩生物文献分享|IF31.316→一网打尽与婴儿疾病相关的病毒组研究

期刊:Cell Host & Microbe 影响因子:31.316 发表时间:2022年4月 研究团队:清华大学医学院梁冠翔课题组与宾夕法尼亚大学医学院Frederic Bushman课题组 一、研究背景 已知微生物为人类提供营养物质和代谢物&…

AD、PADS、Cadence各有什么优势?

读者中有很大一部分是电子工程师,先想问下大家:你们画PCB常用什么软件? **函第一的AD? 还是最贵Cadence(Allegro)? 看到有读者在问:AD、PADS、Cadence各有什么优势? 这里就简单分…

一文吃透Java线程池——实现机制篇

前言 本篇博客是《一文吃透Java线程池》系列博客的下半部分。 上半部分链接:一文吃透Java线程池——基础篇 实现机制(源码解析) 根据前面的学习,我们知道,线程池是如下的运作机制 解析: 一开始&#…

Flutter插件开发-(进阶篇)

一、概述 Flutter也有自己的Dart Packages仓库。插件的开发和复用能够提高开发效率,降低工程的耦合度,像网络请求(http)、用户授权(permission_handler)等客户端开发常用的功能模块,我们只需要引入对应插件就可以为项目快速集成相关能力&…

2023-04-15 学习记录--C/C++-mac vscode配置并运行C/C++

mac vscode配置并运行C/C 一、vscode安装 ⭐️ 去官网下载安装mac版的vscode。 二、vscode配置 ⭐️ (一)、安装C/C扩展插件及必装好用插件 1、点击左边的 图标(扩展: 商店),如下图: 2、先安装 C/C、C/CExtension Pack插件&…

大话数据结构-C(2)

二:算法 解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。 2.1 算法的特性 算法具有五个基本特性:输入、输出、有穷性、确定性、可行性。 1)输入输出: 算法具…

Python --- 文件操作

目录 前言 一、open()函数 1.只读模式 r 2.只写模式 w 3.追加模式 a 二、操作其他文件 1.Python 操作二进制 2.Python 操作 json 文件 三、关闭文件 四、上下文管理器 五、文件指针位置 前言 在实际操作中,通常需要将数据写入到本地文件或者从本地文件中…

南方猛将加盟西方手机完全是臆测,他不会希望落得兔死狗烹的结局

早前南方某科技企业因为命名的问题闹得沸沸扬扬,于是一些业界人士就猜测该猛将会加盟西方手机,对于这种猜测可以嗤之以鼻,从西方手机以往的作风就可以看出来它向来缺乏容纳猛将的气量。一、没有猛将的西方手机迅速沉沦曾几何时,西…

【项目】bxg基于SaaS的餐掌柜项目实战(2023)

基于SaaS的餐掌柜项目实战 餐掌柜是一款基于SaaS思想打造的餐饮系统,采用分布式系统架构进行多服务研发,共包含4个子系统,分别为平台运营端、管家端(门店)、收银端、小程序端,为餐饮商家打造一站式餐饮服务…

如何用ChatGPT翻译?ChatGPT提升翻译速度,亲测有效

作为翻译新手,你是否为翻译不准确不地道而烦恼? 随着ChatGPT的大火,很多聪明的翻译已经开始使用ChatGPT辅助自己提升翻译能力和速度了。 想用ChatGPT翻译,首先要知道在哪里可以使用ChatGPT!在国内选择不用注册不用登录…

python实现批量生成带内容的文件夹

我工作的时候经常遇到这个问题:需要批量生成带内容的文件夹来辅助工作。 我有8种不同名字的文件夹 每个文件夹下面都有以日期命名的文件夹 日期文件夹里面会记录我当天需要记录的东西。 我需要实现的功能是: 1.输入一个天数N,生成N天以前…

机器学习 day05(多元线性回归,向量化)

单个特征(变量)的线性回归模型 房子的价格仅由房子的大小决定,如图: 多个特征(变量)的线性回归模型 房子的价格由房子的大小,房子有多少个卧室,房子有几层,房子住了多…

代码随想录|day44|动态规划part06● 完全背包● 518. 零钱兑换 II ● 377. 组合总和 Ⅳ

完全背包 理论基础 视频:带你学透完全背包问题! 和 01背包有什么差别?遍历顺序上有什么讲究?_哔哩哔哩_bilibili 链接:代码随想录 //先遍历背包还是先遍历物品是没有影响的。可以和01背包保持一致,都先遍历…

vue-自定义指令

需求1:定义一个v-big指令,和v-text功能类似,但会把绑定的数值放大10倍。 需求2:定义一个v-fbind指令,和v-bind功能类似,但可以让其所绑定的input元素默认获取焦点。 语法: 局部使用&#xff…