从零实现带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团队鼓励用户尝试不同的超参数设置。
➡️

继续阅读