ColossalChat:使用完整的 RLHF Pipeline复现ChatGPT 的开源解决方案

这篇具有很好参考价值的文章主要介绍了ColossalChat:使用完整的 RLHF Pipeline复现ChatGPT 的开源解决方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        ChatGPT、GPT-4等大型AI模型和应用在全球范围内风靡一时,成为技术产业革命和AGI(Artificial General Intelligence)发展的基础。 不仅科技巨头竞相发布新品,许多来自学术界和产业界的人工智能专家也加入了相关的创业浪潮。 生成式 AI 每天都在快速迭代,不断完善!

       然而,OpenAI 并没有将其模型开源,这让许多人对它们背后的技术细节感到好奇。

  1. 我们如何才能跟上潮流并参与这一技术发展浪潮?
  2. 如何降低构建和应用大型人工智能模型的高成本?
  3. 如何保护核心数据和IP不被第三方大模型API泄露?

      作为当今领先的开源大型人工智能模型解决方案,Colossal-AI 率先开源了完整的 RLHF 流水线,包括监督数据收集、监督微调、奖励模型训练和强化学习微调,基于 LLaMA预训练模型,分享最实用的开源项目ColossalChat,最接近ChatGPT原技术方案!

开源地址:https://github.com/hpcaitech/ColossalAI

 它包括以下内容:

Demo:无需注册或加入等候名单即可在线试用的交互式演示。
训练代码:开源完整的RLHF训练代码,包括7B和13B模型。
数据集:开源的104K中英文双语数据集。
推理:70 亿参数模型的 4 位量化推理,仅需要 4GB GPU 内存。
模型权重:在单台服务器上仅需少量算力即可实现快速复现。
将快速更新和添加其他更大的模型、数据集和其他优化。

可用模型,强大的功能(Affordable models, powerful capabilities)

ColossalChat只需要不到100亿个参数就可以达到中英文双语能力,通过在大语言模型基础上的RLHF微调,达到了与ChatGPT和GPT-3.5相当的效果。

例如,

一般知识测验

ColossalChat:使用完整的 RLHF Pipeline复现ChatGPT 的开源解决方案

用中文回答 

ColossalChat:使用完整的 RLHF Pipeline复现ChatGPT 的开源解决方案

写邮件 

ColossalChat:使用完整的 RLHF Pipeline复现ChatGPT 的开源解决方案

 写一个算法

ColossalChat:使用完整的 RLHF Pipeline复现ChatGPT 的开源解决方案

完整的 ChatGPT 克隆解决方案

虽然 GPT 系列中的模型,例如 ChatGPT 和 GPT-4,非常强大,但它们不太可能完全开源。 幸运的是,开源社区一直在努力解决这个问题。

例如,Meta 开源了 LLaMA 模型,它提供的参数大小从 70 亿到 650 亿不等。 在大多数基准测试中,一个 130 亿参数的模型可以胜过 1750 亿个 GPT-3 模型。 但是由于没有instruct tuning stage,实际生成的结果并不尽如人意。

斯坦福的AIpaca通过调用 OpenAI 的 API 以自我指导的方式生成训练数据。 这个轻量级模型只有 70 亿个参数,可以用一小部分成本进行微调,以实现类似于具有 1750 亿个参数的超大型语言模型(如 GPT-3.5)的会话性能。

然而,现有的开源解决方案在 RLHF(人类反馈强化学习)的第一阶段只能被视为有监督的微调模型,而不会执行后续的对齐和微调阶段。 此外,Alpaca 的训练数据集仅限于英语,这在一定程度上限制了模型的性能。

然而,ChatGPT 和 GPT-4 令人印象深刻的效果是由于在训练过程中引入了 RLHF,这增加了生成内容与人类价值观的一致性。

ColossalChat:使用完整的 RLHF Pipeline复现ChatGPT 的开源解决方案

RLHF的三个阶段

ColossalChat基于LLaMA模型,是第一个包含完整RLHF过程复制ChatGPT-like模型的实用开源项目,是最接近ChatGPT原技术路线的项目!

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

ColossalChat:使用完整的 RLHF Pipeline复现ChatGPT 的开源解决方案

ColossalChat 数据集收集过程

RLHF 算法fux

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

在 RLHF-Stage1 中,使用前面提到的数据集进行监督指令微调以微调模型。

在 RLHF-Stage2 中,奖励模型被训练为通过手动对同一提示的不同输出进行排序来分配相应的分数,然后监督奖励模型的训练。

在 RLHF-Stage3 中,使用了强化学习算法,这是训练过程中最复杂的部分: 

ColossalChat:使用完整的 RLHF Pipeline复现ChatGPT 的开源解决方案

在PPO部分,ColossalChat遵循两个阶段的过程:首先是make experience阶段,使用SFT(Supervised Fine-Tuning)、Actor、RM(Reward Model)和Critic模型计算生成的体验并存储在 缓冲。 然后是参数更新阶段,利用经验计算策略损失和价值损失。

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

快速开始 ColossalChat开源了基于LLaMA模型分三阶段低成本复制ChatGPT的完整代码。

ColossalChat开源了基于LLaMA模型分三阶段低成本复制ChatGPT的完整代码。

在第 1 阶段,训练 SFT 模型: 

# Training with a 4-GPU servers
colossalai run — nproc_per_node=4 train_sft.py \
— pretrain “/path/to/LLaMa-7B/” \
— model ‘llama’ \
— strategy colossalai_zero2 \
— log_interval 10 \
— save_path /path/to/Coati-7B \
— dataset /path/to/data.json \
— batch_size 4 \
— accimulation_steps 8 \
— lr 2e-5

 在第 2 阶段,RM 被训练:

# Training with a 4-GPU servers
colossalai run — nproc_per_node=4 train_reward_model.py \
— pretrain “/path/to/LLaMa-7B/” \
— model ‘llama’ \
— strategy colossalai_zero2 \
— dataset /path/to/datasets

一旦得到微调后的模型权重,就可以通过量化降低推理的硬件成本,并可以推出在线推理服务,仅需单GPU约4GB显存即可部署70亿参数模型推理服务。第 3 阶段,使用 RL 算法进行训练:

# Training with a 8-GPU servers
colossalai run — nproc_per_node=8 train_prompts.py prompts.csv \
— strategy colossalai_zero2 \
— pretrain “/path/to/Coati-7B” \
— model ‘llama’ \
— pretrain_dataset /path/to/dataset

一旦得到微调后的模型权重,就可以通过量化降低推理的硬件成本,并可以推出在线推理服务,仅需单GPU约4GB显存即可部署70亿参数模型推理服务。

python server.py /path/to/pretrained — quant 4bit — gptq_checkpoint /path/to/coati-7b-4bit-128g.pt — gptq_group_size 128

系统性能优化与开发加速  

ColossalChat能够快速跟进ChatGPT复制的完整RLHF流程,很大程度上得益于Colossal-AI的基础设施和相关优化技术的底层支持。 在同等条件下,ColossalChat 的训练速度与 Alpaca 使用的 FSDP(Fully Sharded Data Parallel)相比可以提升近三倍。

系统基础设施Colossal-AI


AI大模型开发系统Colossal-AI为该项目提供了基础支持。 可高效快速部署基于PyTorch的AI大模型训练和推理,降低AI大模型应用成本。 Colossal-AI 是基于加州大学伯克利分校特聘教授 James Demmel 教授和新加坡国立大学校长青年教授杨佑教授的专业知识开发的。 自开源以来,Colossal-AI以约20000个GitHub star多次登上GitHub Trending榜首,并成功被SC、AAAI、PPoPP、CVPR、 和国际学习中心。

零+Gemini 减少内存冗余

Colossal-AI 支持 ZeRO(零冗余优化器)以提高内存使用效率,能够以更低的成本容纳更大的模型,同时不影响计算粒度和通信效率。 自动分块机制可以通过提高内存使用效率、降低通信频率、避免内存碎片,进一步提升ZeRO的性能。 异构内存空间管理器Gemini支持将优化器状态从GPU内存卸载到CPU内存或硬盘空间,以克服GPU内存容量的限制,扩大可训练模型的规模,降低大型AI模型应用的成本。

LoRA的低成本微调

Colossal-AI 包括用于对大型模型进行低成本微调的低秩适应 (LoRA) 方法。 LoRA 方法假设大型语言模型是过度参数化的,并且微调期间的参数变化是一个低秩矩阵。 因此,这个矩阵可以分解为两个更小的矩阵的乘积。 fine-tuning时固定大模型的参数,只调整低秩矩阵的参数,显着减少训练所需的参数数量,降低成本。

Low-cost Quantized Inference

ColossalChat:使用完整的 RLHF Pipeline复现ChatGPT 的开源解决方案

GPTQ quantization

为了降低推理部署的成本,Colossal-AI 使用 GPTQ 4 位量化推理。 在 GPT/OPT/BLOOM 模型上,它可以获得比传统 RTN(round-to-nearest)量化技术更好的 Perplexity 结果。 与普通的 FP16 推理相比,它可以减少 75% 的内存消耗,同时只牺牲少量的吞吐速度和 Perplexity 性能。

例如,使用ColossalChat-7B,使用4位量化推理,70亿参数模型只需要大约4GB的GPU内存就可以完成短序列(128长度生成)推理,这可以在普通的消费级GPU上完成 就像只有一行代码的 RTX 3060。

if args.quant == ‘4bit’:
model = load_quant(args.pretrained, args.gptq_checkpoint, 4, args.gptq_group_size)

 ColossalChat 与Alpaca

 ColossalChat 是第一个开源完整的 RLHF 流水线的,而斯坦福大学的 Alpaca 还没有实现 RLHF,这意味着他们不包括 Stage 2 和 Stage 3。
ColossalChat 展示了卓越的性能和更广泛的会话覆盖范围。 它的显着改进是由于使用了更大和更高质量的数据集,以及实施强化学习以使响应更接近于类人答案。
ColossalChat 的训练过程结合了 Colossal-AI 的各种系统优化,在使用相同的数据集和模型大小时,训练时间比 Alpaca 快约三倍。 这使研究人员和中小型企业能够独立训练和部署自己的聊天机器人。
ColossalChat 团队收集了一个更大的训练数据集,包括大约 2400 万个英文词条和 3000 万个中文词条,总共约 5400 万个词条。 值得注意的是,ColossalChat 独立收集了 600 万个英文代币和 1800 万个中文代币。
以下是 ColossalChat 和 Alpaca 在语言对话方面的一些性能对比。

ColossalChat:使用完整的 RLHF Pipeline复现ChatGPT 的开源解决方案

ColossalChat:使用完整的 RLHF Pipeline复现ChatGPT 的开源解决方案

 写一封电子邮件给教授以获得推荐信

局限性

虽然进一步引入了RLHF,但受限于算力和数据集,在某些场景下实际性能仍有提升空间。文章来源地址https://www.toymoban.com/news/detail-423128.html

到了这里,关于ColossalChat:使用完整的 RLHF Pipeline复现ChatGPT 的开源解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • NLP:palm-rlhf-pytorch(一种类ChatGPT的开源替代方案PaLM+RLHF)的简介、安装、使用方法之详细攻略

    NLP:palm-rlhf-pytorch(一种类ChatGPT的开源替代方案PaLM+RLHF)的简介、安装、使用方法之详细攻略 目录 palm-rlhf-pytorch(一种类ChatGPT的开源替代方案PaLM+RLHF)的简介 palm-rlhf-pytorc的安装 palm-rlhf-pytorc的使用方法 1、基础用法       palm-rlhf-pytorch是基于PaLM架构的RLHF(人类反馈强化学习)的实现

    2024年02月06日
    浏览(52)
  • AI大模型日报#04-08:多模态医疗视觉、复现OpenAI RLHF、Mistral Large引入Amazon

    导读: 欢迎阅读《AI大模型日报》,内容基于Python爬虫和LLM自动生成。目前采用“文心一言”生成了每条资讯的摘要。 标题: 超10秒高分辨率,北大Open Sora视频生成更强了,还支持华为芯片   摘要:  北大团队与兔展联合发起的Open Sora Plan旨在通过开源社区复现OpenAI的Sora视频

    2024年04月17日
    浏览(70)
  • 开源方案复现ChatGPT流程!1.62GB显存即可体验,单机训练提速7.73倍

    火爆全网的ChatGPT,仿佛开启了第四次工业革命,让微软、谷歌等全球科技巨头打得昏天黑地,引得各路玩家纷纷入局,抢占赛道。 然而由于OpenAI没有开源ChatGPT,如何有效复现ChatGPT已成为摆在大家面前的头号难题,急需可靠的开源共建方案。 Colossal-AI快速跟进, 首个开源低

    2023年04月15日
    浏览(36)
  • 类ChatGPT逐行代码解读(2/2):从零实现ChatLLaMA、ColossalChat、DeepSpeed Chat

    本文为《类ChatGPT逐行代码解读》系列的第二篇,上一篇是:从零实现Transformer、ChatGLM-6B:从位置编码/缩放点积注意力/多头注意力开始 本文模型的特点是都加了RLHF,对于这4个模型而言:TRL、ChatLLaMA、ColossalChat、DeepSpeed Chat 如果只关注两个 则可以更多关注下ColossalChat、DeepS

    2024年02月03日
    浏览(50)
  • 解读ChatGPT中的RLHF

    无论是 ChatGPT 还是 GPT-4,它们的核心技术机制之一都是基于人类反馈的强化学习(Reinforcement Learning from Human Feedback,RLHF)。这是大型语言模型生成领域的新训练范式,即以强化学习方式依据人类反馈优化语言模型。那么,什么是 RLHF 呢? RLHF 背后的基本思想是采用预先训练好

    2024年02月15日
    浏览(37)
  • Trigger +Pipeline 完整实战案例

    2.4.1 案例环境说明 示例项目:http://code.icloud2native.com/root/spring-boot-helloWorld.git 触发机制: 用户推送代码至项目仓库 由Push Hook 自东触发pipeline的流水线的执行 2.4.2 项目实现 1、在k8s上部署一个gitlab,前面上节已经完成。 2、运行的任何一个eventlistener的webhook不允许匿名推事件,所

    2024年02月06日
    浏览(38)
  • iOS 集成Jenkins pipeline 完整流程

    选择参数化构建构成,如上图所示,通过该参数配置分支,然后我们选择 ‘选项参数’ 选项,如下图 然后我们填入参数名称和选项 手动进行archive ,获取一个 ExportOptions.plist 文件,然后将该文件放到工程中, 后面进行自动化打包需要用到里面的配置,文件位置如图 我这里选

    2024年02月13日
    浏览(34)
  • ChatGPT 中的人类反馈强化学习 (RLHF) 实战

    团队博客: CSDN AI小组 相关阅读 ChatGPT 简介 大语言模型浅探一 关于 ChatGPT 必看的 10 篇论文 从 ELMo 到 ChatGPT:历数 NLP 近 5 年必看大模型 在当今数字化的时代,ChatGPT 的火热程度不断升级。ChatGPT 可以处理复杂的语言任务,从而解放人力资源,提高工作效率,减少成本。ChatGPT

    2023年04月25日
    浏览(86)
  • AI:DeepSpeed Chat(一款帮用户训练自己模型的工具且简单/低成本/快 RLHF 训练类ChatGPT高质量大模型)的简介、安装、使用方法之详细攻略

    AI:DeepSpeed Chat(一款帮用户训练自己模型的工具且简单/低成本/快 RLHF 训练类ChatGPT高质量大模型)的简介、安装、使用方法之详细攻略 目录 DeepSpeed Chat的简介 DeepSpeed-Chat的产生背景 DeepSpeed-Chat的简介 DeepSpeed-Chat的三大功能 DeepSpeed-RLHF 系统三大优势 DeepSpeed Chat的安装和使用方法

    2023年04月22日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包