系统设计 Lab
RLHF pipeline 是一个训练循环,rollout generation、reward scoring 和 policy update 在抢同一批 GPU。
调节 preference 数据集、每个 PPO step 生成多少 rollout、policy 和 reward model 的规模、每个 batch 的 PPO epoch 数、KL penalty,以及多久 eval 一次。设计会从只有 SFT,演进到加上 reward model,再到完整的 PPO rollout loop,再到扩展 rollout generation(通常的瓶颈),最后到 eval gate 和一条把 RL loop 整个砍掉的 DPO 路线。
分步讲解
一步一步把它想清楚
要点
常规演进场景
从左到右点击,就是预设的演示路径。每张卡片都会改变 workload 输入。
推荐形态
瓶颈
为什么会变
决策权衡
有出处支撑的规则
这些是模型背后那些经得起时间考验的 system design 论断。而 slider 的具体阈值,则被刻意标注为教学用的假设。
InstructGPT:先 SFT,再 reward model,再用 PPO 对着一个带 KL penalty 的 reference 优化
经典的 RLHF 配方:在 demonstration 上 fine-tune,从比较数据训练一个 reward model,再用 PPO 优化 policy,并对 SFT reference 施加 per-token 的 KL penalty。
Ouyang et al., 2022 (InstructGPT)DPO 去掉了显式的 reward model 和 RL rollout loop
Direct Preference Optimization 证明 RLHF 目标可以用 preference pair 上一个简单的 classification loss 来优化,从而省掉了在线采样和单独的 reward model。
Rafailov et al., 2023 (DPO)PPO 是 RL 阶段用的 clipped policy-gradient 算法
Proximal Policy Optimization 用一个 clipped objective 对每一批采样出的 trajectory 做几轮优化 epoch,这正是 rollout 会在多个 PPO epoch 间被复用的原因。
Schulman et al., 2017 (PPO)Online RLHF 把 generation 和 training 耦合在一起;generation throughput 是主导
之所以用高吞吐的 batched inference engine 来生成 rollout,是因为在 online RL loop 里,从 policy 采样 completion 才是 throughput 瓶颈。
vLLM docs教学用假设
- 单 GPU 的 rollout-generation throughput 和显存预算都是保守的教学数字,不是厂商上限。
- reward 和 reference 的 scoring 成本各建模成每个 rollout 一次 inference forward pass;PPO 会把每个 rollout 复用所选的 epoch 数。
- KL 漂移风险由 KL coefficient 和 rollout 量近似得出;真实训练还会直接跟踪实测的 KL 和 reward-hacking 信号。