从零实现带RLHF的类ChatGPT:逐行解析微软DeepSpeed Chat的源码
原文中文,约42500字,阅读约需102分钟。
📝
内容提要
本文介绍了DeepSpeed Chat中phase3的训练过程,包括使用RLHF Finetuning进行经验采集,对prompt进行flip翻转操作以避免不合理的生成,以及RM模型对对话评分的处理策略。同时,文章还介绍了模型的初始化和经验数据的获取过程。
🎯
关键要点
-
本文介绍了DeepSpeed Chat中phase3的训练过程。
-
使用RLHF Finetuning进行经验采集。
-
对prompt进行flip翻转操作以避免不合理的生成。
-
RM模型对对话评分的处理策略。
-
模型的初始化和经验数据的获取过程。
-
DeepSpeed Chat采用三阶段训练方式,分别为phase1、phase2、phase3。
-
phase1为监督微调,使用困惑度perplexity作为评估指标。
-
phase2为奖励模型微调,使用排序损失对数据对进行训练。
-
phase3为RLHF微调,使用DeepSpeedRLHFEngine进行模型初始化。
-
在phase3中,prompt需要进行翻转和填充以适应自回归生成。
-
经验数据的获取过程包括生成对话序列和计算奖励。
-
使用KL散度惩罚和优势函数来优化策略。
-
PPO训练过程中,actor和critic模型的损失计算方法。
-
无监督训练与RLHF训练相结合,以保持模型的生成能力。
-
DeepSpeed-Chat团队鼓励用户尝试不同的超参数设置。
🏷️