2.0 KiB
2.0 KiB
Day 6 Prereading: 蒸馏与 GRPO/CISPO 后训练
今日目标
今天选择一个后训练方向深入:白盒蒸馏或 GRPO/CISPO。推荐优先读 GRPO,因为你当前打开的是 train_grpo.py,但如果 reward model 没准备好,可以把实跑换成蒸馏代码理解。
必须掌握的基础概念
蒸馏
- Black-box distillation:学习 teacher 生成的硬标签答案。
- White-box distillation:学习 teacher logits/probability distribution。
- Temperature:软化概率分布。
- KL divergence:衡量 teacher/student 分布差异。
GRPO/CISPO
- On-policy rollout:用当前模型实时采样。
- Reward model:给回答打分。
- Reference model:限制 policy 偏离原模型。
- Advantage:回答比同组其他回答好多少。
- KL penalty:防止 reward hacking 和分布漂移。
- CISPO:把 clipped ratio 作为权重,保留 logprob 梯度路径。
面试考点
- DPO、PPO、GRPO 的主要区别是什么?
- GRPO 为什么可以不训练 critic?
- 为什么每个 prompt 要采样多个 responses?
- KL penalty 防什么?
- 蒸馏中的 temperature 为什么要乘
T^2? - Reward hacking 是什么?
工业要求
- RL 后训练必须监控 reward、KL、response length、advantage std。
- 只看 reward 上升很危险,可能是 reward hacking。
- 小模型 RL 容易奖励稀疏,要选择能力边界内任务。
- 蒸馏要确认 teacher/student vocab 对齐或正确裁剪。
- 后训练前必须保留 SFT baseline,便于回退和对比。
项目中要看的文件
trainer/train_grpo.pytrainer/train_agent.pytrainer/rollout_engine.pytrainer/train_distillation.pydataset/lm_dataset.py::RLAIFDatasettrainer/trainer_utils.py::LMForRewardModel
今日建议
如果 reward model 已准备好:
cd trainer
python train_grpo.py --debug_mode --debug_interval 5
如果没有 reward model:
- 先只读代码。
- 或选择
train_distillation.py做理解。