0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ChatGPT开源项目汇总表格

深度学习自然语言处理 来源:AI算法小喵 2023-03-22 14:11 次阅读

写在前面

最近正好在关注ChatGPT,所以对目前开源的包括ChatGPT全流程训练代码的项目做了一个整理。文章包括三部分内容:

  1. ChatGPT 开源项目汇总表格
  2. 介绍 ChatGPT 训练的思路
  3. 介绍每一个开源的项目的情况

阅读时间预估需要10min。

1. ChatGPT 开源项目汇总表格

下面是根据 star 数量进行排序的 ChatGPT 开源项目汇总,希望详细了解的开源项目可以通过目录进行跳转。

手机版目录在文章开始的地方,电脑版目录在网页左边。

4e0706d0-c862-11ed-bfe3-dac502259ad0.jpg

2. ChatGPT 全训练流程介绍

ChatGPT 完整训练包括三个流程:

  1. Supervised FineTune(SFT):使用人工编写的期望模型如何输出的数据集,对GPT-3进行微调
  2. Reward Model(RM):使用人工标注的排序数据,训练奖励模型,预测人类更喜欢哪个输出
  3. 强化学习微调 SFT:使用奖励模型作为强化学习优化目标,微调SFT模型

各个环节的一些训练细节:

  • SFT

    • GPT-3 175B 架构
    • 训练16epoch
    • 残差dropout 0.2
    • 1.3B和6B用32的bs+9.65e-6的lr
    • 175B用8bs+5.03e-6lr
  • RM

    • 模型输入是(prompt,response),输出是打分
    • GPT-3 6B 架构(175B会不稳定),最后一层替换成输出一个标量
    • 损失函数:最大化好回答和坏回答pair的得分差异
  • RL

    • GPT-3的模型结构
    • 训练2个epoch
    • 混合了10%的预训练数据
    • 为了不要学的太偏:增加模型之间的KL距离作为优化目标
    • 为了不降低通用性:增加通用NLP任务的性能作为优化目标

各个环节需要的数据量:

  1. SFT
  • 训练:标注员 1.1w,用户 1.4k
  • 验证:标注员 1.5k,用户 103
  1. RM
  • 训练:标注员 6.6k,用户 2.66w
  • 验证:标注员 3.49k,用户 1.44w
  1. PPO
  • 训练:用户 3.1w
  • 验证:验证 1.6w

强化学习在训练中起到的作用:

  • 人类的反馈是的模型生成的结果更偏向人类想要知道的结果,消除一些偏见和负面的信息
  • 强化学习只告诉模型结果好不好,但不限制模型如何去变好,可以增加模型的探索能力

下面整理了包括了全流程训练的开源项目,github 项目整理的 star 信息截止到 2023.2.23,欢迎大家纠正补充

3. TRL - 从头训练一个 ChatGPT 模型

https://github.com/lvwerra/trl[1]

Star 1.7k, Fork 180,代码更新 一天前,issue 13open 60 close

第一步:用 codeparrot 数据训练 GPT-2 124.2M 模型

  • 和 chatgpt 的区别在于,chatgpt 是微调已经预训练好的,这个是从头训练
  • 数据路径为https://huggingface.co/codeparrot/codeparrot[2]
  • 数据含义:输入一行代码,输出补全的代码

第二步:用sentiment训练奖励模型,模型用的是distilbert

  • 数据路径https://ai.stanford.edu/~amaas/data/sentiment/[3]
  • 数据含义:输入影评,输出得分(积极1,消极0)

第三步:RL训练

整体介绍文章:万字长文教你如何做出 ChatGPT

4. RLHF - transformers_tasks

https://github.com/HarderThenHarder/transformers_tasks/tree/main/RLHF[4]

Star 274,Fork 51,更新 五天前, Issue 1 open 16 closed

基于上面的TRL做的;

增加了基于人工打分的Reward模型训练,还提供了Reward数据的标注平台;

RM 模型训练:基于 ernie-3.0-base-zh 继续训练的;

RL 训练

  • RM:用的一个现成的情感分类模型,roberta-base-fintuned-jd-binary-chinese
  • 生成模型:用的gpt2-chinese-cluecorpussmall

目前 RM 和 RL 两个是独立的训练,不支持把训练好的 RM 模型放到 RL 里面去加载

文章介绍:【AI】想训练ChatGPT?得先弄明白Reward Model怎么训(附源码)

5. OpenAssistant

https://github.com/LAION-AI/Open-Assistant[5]

Star 16.8k,Fork 1.3k,Issue 308open,535closed,代码更新三天前

文档:https://projects.laion.ai/Open-Assistant/docs/intro[6]

在huggingface上面的模型:OpenAssistant (OpenAssistant)[7]

数据格式介绍:https://github.com/LAION-AI/Open-Assistant/blob/363a3a124471217e723d57b084122ae1ca41ab2a/notebooks/data-augmentation/stackexchange-builder/README.md[8]

是LAION机构开源的,全称为 Large-scale Artificial Intelligence Open Network,是一个非盈利的机器学习研究机构,致力于为公众提供 AI 模型、数据集和开源代码。

Stable Diffusion用的开放数据集,就是LAION-AI组织做的。

RL 训练部分用到了即将要介绍的 trlX库

网络训练丝滑如水,没有网络训练怀疑人生...

文档里下载 OA 那一段没有写太清楚,不知道去哪里下载

整体使用下来,这个库是目前训练下来最顺利的,库的代码也看起来最规范,文档支持也比较多的。

这里是全流程的训练指南:yuannnn:Open Assistant 全流程训练细节(GPT3+RL)[9]

文章介绍:https://mp.weixin.qq.com/s/qg5H6hBDMfrAeVF1Ia9CVA

6.trlX - CarperAI

https://github.com/CarperAI/trlx[10]

Star 2k, Fork 183, Issue 59open 95closed, 代码更新 6小时前

CarperAI 是EleutherAI研究小组的一个新实验室,其任务是“通过强化学习提高大型语言模型 (LLM) 的性能和安全性。” CarperAI 开源了 Transformer Reinforcement Learning X (trlX),这是一个使用 RLHF 微调 HuggingFace 语言模型的框架。

7.PaLM-rlhf-pytorch - Phil Wang

GitHub - lucidrains/PaLM-rlhf-pytorch: Implementation of RLHF (Reinforcement Learning with Human Feedback) on top of the PaLM architecture. Basically ChatGPT but with PaLM[11]

star 5.4k,Fork 412,Issue 8open 16 close,代码更新 4小时前

以Imagen和Make-A-Video等深度学习研究模型的开源实现而闻名的 AI 开发人员 Phil Wang分享了他正在为PaLM语言模型(称为 PaLM + RLHF)实施 RLHF 的工作。

其中,PaLM(Pathways Language Model)是谷歌在今年4月发布的5400亿参数全能大模型,基于Pathways系统训练,BERT之父Jacob Devlin为主要贡献者之一。

但是第一步的训练,这个项目中只有PaLM架构和代码,没有预先训练好的权重。所以还得自己重新训练一个。

8. ChatRWKV

https://github.com/BlinkDL/RWKV-LM[12]

Star 1.8k,Fork 182,Issue 7open 16closed,代码更新 7小时前

用 RWKV 架构(不是transformer结构)训练的chatgpt

开源了 14B 的模型,可以在 hugging face上面试用:Rwkv 14b - a Hugging Face Space by yahma[13]

支持分布式训练,感谢@PENG Bo[14]纠正

文章介绍:PENG Bo:参与 ChatRWKV 项目,做开源 ChatGPT(可以在每个人电脑和手机直接运行的)[15]

9. RL4LMs

https://github.com/allenai/RL4LMs[16]

Star 971,Fork 87,Issue 20open 7closed,代码更新一个月之前

这个库包括了比较多 RL 算法(PPO,NLPO,A2C和TRPO),它论文说在 2000 个实验里做了 RL 在 LLM 上面的训练。RL4LMs当前的计划包括分布式训练更大的模型和新的RL算法。

包括了多种语义度量(例如:BERTSCORE、BLEURT)

包括了多种任务特定指标(例如:PARENT、CIDER、SPICE)

包括了多种词法指标(例如:ROUGE、BLEU、SacreBLEU、METEOR)

包括了6种常见的 LLM 任务。

论文:https://arxiv.org/abs/2210.01241[17]

10. ColossalAI ChatGPT

https://github.com/hpcaitech/ColossalAI/tree/main/applications/ChatGPT[18]

Star 15.5k, Fork 1.6k,代码更新 一天前,issue 212open 337close

训练 Reward 模型的 rm-static 数据

  • 该数据包括同一个 prompt 的不同 response 的选择和拒绝的标签
  • https://huggingface.co/datasets/Dahoas/rm-static/tree/main[19]

训练 Prompt 模型的 awesome-chatgpt-prompts 数据

  • 该数据量比较小,大约 100 个prompt
  • https://huggingface.co/datasets/fka/awesome-chatgpt-prompts/tree/main[20]

README里面介绍的步骤和chatgpt训练步骤的对应关系如下:

  • train with dummy prompt data: 用随机生成的数据训练的第三步骤(RL来fintune sft)
  • train with real prompt data: 用真实数据训练的第三步骤(RL来fintune sft)
  • train with reward model:训练第二步的 reward 模型

目前应该还没有包括 SFT 的训练部分。

另外训练好的 Reward 模型暂时还不支持放到 RL 里面去用,目前作者们正在解决。

感谢作者@BlueRum[21]热心帮我解决之前遇到的问题,后面更新了以后我会再尝试一下使用的。

11. Nebullvm

github:https://github.com/nebuly-ai/nebullvm[22]

Star 5.7k, 更新 一天前,Issue 33open,68close

Meta 最近发布了 LLaMA,这是一组包含 7 到 650 亿个参数的基础大型语言模型。LLaMA 正在引起很多兴奋,因为它比 GPT-3 更小,但性能更好。

ChatLLaMA可以做到:

  • 一个完整的开源实现,使您能够基于预训练的 LLaMA 模型构建 ChatGPT 样式的服务。
  • 与原始的 ChatGPT 相比,利用 LLaMA 架构的较小尺寸,训练过程和单 GPU 推理更快、成本更低。
  • ChatLLaMA 内置了对 DeepSpeed ZERO 的支持,以加速微调过程。
  • 该库还支持所有 LLaMA 模型架构(7B、13B、33B、65B),因此您可以根据自己对训练时间和推理性能的偏好对模型进行微调。


审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开源
    +关注

    关注

    3

    文章

    3309

    浏览量

    42470
  • 语言模型
    +关注

    关注

    0

    文章

    520

    浏览量

    10268
  • ChatGPT
    +关注

    关注

    29

    文章

    1558

    浏览量

    7591

原文标题:写在前面

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    请教PROTEL99生成汇总表

    我的工程里有几块电路板,想生产元器件的汇总表,就是比如电容104在这几块板子里一共有多少个,该怎么操作啊?谢谢!
    发表于 08-14 11:11

    值得收藏的电子技术网站最新汇总表

    值得收藏的电子技术网站最新汇总表:;
    发表于 11-20 20:18

    开源汇总】精选开源硬件项目汇总

    本帖为开源硬件项目分享汇总帖,各位小伙伴可以在帖子下方分享自己的开源项目经历哦~PS.本帖会持续更新,欢迎大家分享各自的经验
    发表于 04-29 18:45

    CoreLink™ SSE-100子系统软件开发人员勘误表

    如果勘误表对文档来说是新的,则在本节中列出勘误表,如果勘误表文本有任何更改,则将勘误表标记为“已更新”。 已修复的勘误表不会显示为已更新,除非勘误表文本已更改。 第7页上的勘误表汇总表标识了每个产品版本中已修复的勘误表。
    发表于 08-30 07:17

    加班总汇表

    加班汇总表 部门:        姓名:       员工证号:           月份:日期 类别 起 讫   工作内容 累计时数 主管
    发表于 03-01 15:11 13次下载

    加班汇总表

    加班汇总表 部门:        姓名:       员工证号:           月份:日期 类别 起 讫   工作内容 累计时数 主管
    发表于 03-01 15:19 25次下载

    2006年照明电器产品认证技术协调会问题汇总表

    2006年照明电器产品认证技术协调会问题汇总表
    发表于 06-01 09:34 12次下载

    2009锂电池质量监测不合格商品汇总表

    2009锂电池质量监测不合格商品汇总表 深圳市市场监督管理局2009年3季度流通领域锂电池质量监测不合格商品汇总表
    发表于 11-07 17:12 756次阅读

    无人驾驶航空汇总表显示:有5759家无人机企业获取经营许可证

    近日,民航局通航管理系统公布3个通航行政许可汇总表:通用航空经营许可汇总表、非经营性通用航空登记汇总表、民用无人驾驶航空器经营许可汇总表。根据民用无人驾驶航空器经营许可
    的头像 发表于 07-24 15:24 4788次阅读
    无人驾驶航空<b class='flag-5'>汇总表</b>显示:有5759家无人机企业获取经营许可证

    STM32全系列调试接口汇总

    有时会有人问起STM32所支持的调试接口有哪些,本文做了一个汇总表。该表按照内核所属对各STM32系列分别做了介绍,里面还包括了各系列芯片所支持的硬件断点数、MCO输出脚【时钟输出脚个数】等
    发表于 02-08 15:37 3次下载
    STM32全系列调试接口<b class='flag-5'>汇总</b>

    ChatGPT的使用方式汇总

    汇总了国内能使用ChatGPT的方法。   1.注册ChatGPT账号   保姆级教程:[奶奶看了都会]ChatGPT保姆级注册教程   缺点:需要梯子,且香港的梯子
    发表于 02-10 11:54 6次下载
    <b class='flag-5'>ChatGPT</b>的使用方式<b class='flag-5'>汇总</b>

    ChatGPT以及相关开源项目体验

      本月初,ChatGPT以惊人的速度问世,在技术圈中引起了广泛讨论。在 GitHub 上近期还诞生了多个 ChatGPT相关的开源项目,数量之多令人瞠目结舌,甚至
    发表于 02-15 09:24 0次下载
    <b class='flag-5'>ChatGPT</b>以及相关<b class='flag-5'>开源</b><b class='flag-5'>项目</b>体验

    ChatGPT了的七个开源项目

      在看到网上给出的一系列chatGPT回答问题的例子和自己亲自体验之后,的确发现它效果非常令人惊艳。 chatGPT的火热程度在开源社区也有很明显的体现,刚推出不久,围绕chatGPT
    发表于 02-15 09:26 3次下载
    <b class='flag-5'>ChatGPT</b>了的七个<b class='flag-5'>开源</b><b class='flag-5'>项目</b>

    一个令人惊艳的ChatGPT项目开源了!

    而Visual ChatGPT这个项目则可以把ChatGPT和一系列视觉基础模型(VFM,Visual Foundation Model)给联系起来,以便实现在ChatGPT聊天的过程
    的头像 发表于 03-31 11:00 2250次阅读

    开源汇总】精选开源硬件设计项目汇总

    本文章为开源硬件项目分享汇总,各位小伙伴联系社区助理,提供相关电子设计作品,积极分享自己的开源项目经历哦~
    的头像 发表于 05-24 09:30 4656次阅读
    【<b class='flag-5'>开源</b><b class='flag-5'>汇总</b>】精选<b class='flag-5'>开源</b>硬件设计<b class='flag-5'>项目</b><b class='flag-5'>汇总</b>