写在前面最近正好在关注ChatGPT,所以对目前开源的包括ChatGPT全流程训练代码的项目做了一个整理。文章包括三部分内容:
阅读时间预估需要10min。 1. ChatGPT 开源项目汇总表格下面是根据 star 数量进行排序的 ChatGPT 开源项目汇总,希望详细了解的开源项目可以通过目录进行跳转。 手机版目录在文章开始的地方,电脑版目录在网页左边。 2. ChatGPT 全训练流程介绍ChatGPT 完整训练包括三个流程:
各个环节的一些训练细节:
各个环节需要的数据量:
强化学习在训练中起到的作用:
下面整理了包括了全流程训练的开源项目,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 模型
第二步:用sentiment训练奖励模型,模型用的是distilbert
第三步:RL训练 整体介绍文章:万字长文教你如何做出 ChatGPT 4. RLHF - transformers_taskshttps://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 和 RL 两个是独立的训练,不支持把训练好的 RM 模型放到 RL 里面去加载 文章介绍:【AI】想训练ChatGPT?得先弄明白Reward Model怎么训(附源码) 5. OpenAssistanthttps://github.com/LAION-AI/Open-Assistant[5] Star 16.8k,Fork 1.3k,Issue 308open,535closed,代码更新三天前 文档:https://projects./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 - CarperAIhttps://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 WangGitHub - 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. ChatRWKVhttps://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. RL4LMshttps://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:///abs/2210.01241[17] 10. ColossalAI ChatGPThttps://github.com/hpcaitech/ColossalAI/tree/main/applications/ChatGPT[18] Star 15.5k, Fork 1.6k,代码更新 一天前,issue 212open 337close 训练 Reward 模型的 rm-static 数据
训练 Prompt 模型的 awesome-chatgpt-prompts 数据
README里面介绍的步骤和chatgpt训练步骤的对应关系如下:
目前应该还没有包括 SFT 的训练部分。 另外训练好的 Reward 模型暂时还不支持放到 RL 里面去用,目前作者们正在解决。 感谢作者 @BlueRum[21] 热心帮我解决之前遇到的问题,后面更新了以后我会再尝试一下使用的。 11. Nebullvmgithub: https://github.com/nebuly-ai/nebullvm[22] Star 5.7k, 更新 一天前,Issue 33open,68close Meta 最近发布了 LLaMA,这是一组包含 7 到 650 亿个参数的基础大型语言模型。LLaMA 正在引起很多兴奋,因为它比 GPT-3 更小,但性能更好。 ChatLLaMA可以做到:
参考资料https://github.com/lvwerra/trl: https://github.com/lvwerra/trl [2]https:///codeparrot/codeparrot: https:///codeparrot/codeparrot [3]https://ai./~amaas/data/sentiment/: https://ai./~amaas/data/sentiment/ [4]https://github.com/HarderThenHarder/transformers_tasks/tree/main/RLHF: https://github.com/HarderThenHarder/transformers_tasks/tree/main/RLHF [5]https://github.com/LAION-AI/Open-Assistant: https://link.zhihu.com/?target=https%3A//github.com/LAION-AI/Open-Assistant [6]https://projects./Open-Assistant/docs/intro: https://link.zhihu.com/?target=https%3A//projects./Open-Assistant/docs/intro [7]OpenAssistant (OpenAssistant): https://link.zhihu.com/?target=https%3A///OpenAssistant [8]https://github.com/LAION-AI/Open-Assistant/blob/363a3a124471217e723d57b084122ae1ca41ab2a/notebooks/data-augmentation/stackexchange-builder/README.md: https://link.zhihu.com/?target=https%3A//github.com/LAION-AI/Open-Assistant/blob/363a3a124471217e723d57b084122ae1ca41ab2a/notebooks/data-augmentation/stackexchange-builder/README.md [9]yuannnn:Open Assistant 全流程训练细节(GPT3+RL): https://zhuanlan.zhihu.com/p/609003237 [10]https://github.com/CarperAI/trlx: https://link.zhihu.com/?target=https%3A//github.com/CarperAI/trlx [11]GitHub - lucidrains/PaLM-rlhf-pytorch: Implementation of RLHF (Reinforcement Learning with Human Feedback) on top of the PaLM architecture. Basically ChatGPT but with PaLM: https://link.zhihu.com/?target=https%3A//github.com/lucidrains/PaLM-rlhf-pytorch [12]https://github.com/BlinkDL/RWKV-LM: https://link.zhihu.com/?target=https%3A//github.com/BlinkDL/RWKV-LM [13]Rwkv 14b - a Hugging Face Space by yahma: https://link.zhihu.com/?target=https%3A///spaces/yahma/rwkv-14b [14]@PENG Bo: https://www.zhihu.com/people/64d972cc5bae62489442e35b32dc0fce [15]PENG Bo:参与 ChatRWKV 项目,做开源 ChatGPT(可以在每个人电脑和手机直接运行的): https://zhuanlan.zhihu.com/p/603840957?utm_campaign=shareopn&utm_medium=social&utm_oi=55152379691008&utm_psn=1605899783687872512&utm_source=wechat_session&utm_id=0&wechatShare=1&s_r=0 [16]https://github.com/allenai/RL4LMs: https://link.zhihu.com/?target=https%3A//github.com/allenai/RL4LMs [17]https:///abs/2210.01241: https://link.zhihu.com/?target=https%3A//links.jianshu.com/go%3Fto%3Dhttps%253A%252F%252F%252Fabs%252F2210.01241 [18]https://github.com/hpcaitech/ColossalAI/tree/main/applications/ChatGPT: https://link.zhihu.com/?target=https%3A//github.com/hpcaitech/ColossalAI/tree/main/applications/ChatGPT [19]https:///datasets/Dahoas/rm-static/tree/main: https://link.zhihu.com/?target=https%3A///datasets/Dahoas/rm-static/tree/main [20]https:///datasets/fka/awesome-chatgpt-prompts/tree/main: https://link.zhihu.com/?target=https%3A///datasets/fka/awesome-chatgpt-prompts/tree/main [21]@BlueRum: https://www.zhihu.com/people/ce5c9d2de623b21ddf4985151176a5bd [22]https://github.com/nebuly-ai/nebullvm: https://link.zhihu.com/?target=https%3A//github.com/nebuly-ai/nebullvm 文章来源:https://zhuanlan.zhihu.com/p/608705255?utm_id=0 |
|