中文 EN

系统设计 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 输入。

Workload

这些是输入,不是预设好的架构阶段。

推荐形态

当前架构路径
RLHF pipeline 架构图 RLHF 后训练 pipeline 的白板式架构图:训练数据、带 preference 数据的 SFT 阶段、一个 reward model、由 rollout generation、policy update 和冻结的 reference model 组成的 RL loop,最后是 eval、一个 model registry 和异步 logging。 数据 Data SFT Reward model RL loop Eval + registry Demonstrations SFT corpus Preference data chosen vs rejected SFT trainer base 到 policy RM trainer 拟合 preference Reward model 给 rollout 打分 Rollout gen policy inference Policy update PPO / DPO Reference model KL 锚点 Eval harness safety + 质量 Model registry 带版本的 checkpoint Metrics log 异步 telemetry
数据 Data
Demonstrations 人工写的 prompt 和理想回答,用于 supervised fine-tuning
Preference data 人类比较出来的成对数据,定义哪个回答更好
SFT
SFT trainer 在 demonstration 上 fine-tune base model,给 policy 打底
Reward model
RM trainer 从 preference pair 训练一个 reward model 来给回答打分
Reward model 在 loop 里为每个生成的 rollout 给出一个标量 reward
RL loop
Rollout gen policy 每个 step 生成大量 completion;通常是瓶颈
Policy update 把 policy 推向更高 reward 的 gradient step
Reference model 冻结的 reference,用 KL divergence 防止 policy 漂移
Eval + registry
Eval harness 跑 held-out 和 safety eval 来给 checkpoint 把关
Model registry 存储并管理已晋升的 policy checkpoint 的版本
Metrics log 在训练路径之外收集 reward、KL 和 rollout 指标

瓶颈

Rollout generation 负载

Reward + reference scoring

Policy 训练显存

KL 漂移风险

Eval / safety 覆盖需求

为什么会变

    决策权衡

    SFT vs preference data

    Reward model vs DPO

    Rollout-generation throughput

    分布式 policy 训练

    KL / reference 控制

    Eval + safety 把关

    有出处支撑的规则

    这些是模型背后那些经得起时间考验的 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 信号。