M5-039M5: NLP & Large Language ModelsAlignment & RLHFHard
Mastery:
Alignment & RLHF: 解释 PPO 在 LLM 中的实现细节(token-level vs sequence-level)。
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: 动作是 token 但奖励是序列级;实现上 ratio 与 KL 按 token 算、优势广播到 token;只对回答 token 算损失。
📌 Key Takeaways
- •动作 = 每个 token;奖励 = 整个回答一个标量
- •ratio 与 KL 是 token 级;优势是序列级广播到 token
- •损失只算回答 token(指令部分 mask 掉)
📐 Mathematical Derivations
数学机理:<strong>LLM 中 RL 的形式化</strong>——把生成过程建模为 MDP:(a) <strong>状态</strong> s_t=(x, y_{<t})(prompt + 已生成的 token);(b) <strong>动作</strong> a_t=y_t(下一个 token);(c) <strong>奖励</strong> r 只在<strong>序列末尾</strong>给出(奖励模型对整个回答打分)——这是关键的特殊性(稀疏奖励);(d) <strong>转移</strong>是确定的(拼接 token)。<strong>实现细节</strong>:(1) <strong>ratio 是 token 级</strong>——r_t=π_θ(y_t|x,y_{<t})/π_old(y_t|x,y_{<t}),即每个 token 的概率比;PPO 的 clip 作用在<strong>每个 token</strong> 上。(2) <strong>优势的处理</strong>——严格地,优势 A_t 应反映'在 s_t 采取 a_t 的长期收益';但 LLM 中奖励只在末尾,且 γ=1 时中间步骤的 TD 残差主要由 Critic 给出。实践中常见两种简化:(a) <strong>用 Critic + GAE</strong>(标准做法,但 Critic 难训);(b) <strong>直接把序列级优势(或'奖励−基线')广播到所有 token</strong>(简化,GRPO/部分实现采用)。(3) <strong>KL 是 token 级</strong>——序列级 KL 分解为逐 token KL 之和,故实现为'每个 token 的奖励减 β·log(π_θ/π_ref)'。(4) <strong>损失只算回答 token</strong>——prompt 部分 mask 掉(与 SFT 一致),因为只有回答是'策略生成的'。(5) <strong>序列级聚合</strong>——最终损失是'所有回答 token 的 PPO 损失之和/平均'(可选按长度归一化)。<strong>与其他实现差异</strong>——(a) <strong>GRPO</strong>:去掉 Critic,用<strong>同一 prompt 的多个回答的平均奖励</strong>作为基线,优势 = (r_i − mean)/std(组内归一化),再广播到该回答的所有 token;(b) <strong>RLOO</strong>:用'留一法'的均值作为基线;(c) <strong>DPO</strong>:完全不做 RL 循环,直接用偏好对做对比损失。<strong>关键工程点</strong>——(a) 采样用 inference engine(vLLM)加速、训练用 trainer(权重同步);(b) 计算 log-prob 需要'重新前向'(因为采样时的 log-prob 可能未保存);(c) 数值稳定(log-ratio 的精度)。
🏭 Production Trade-offs
深度剖析与工程权衡:① <strong>'奖励稀疏'是 LLM RL 的核心特殊性</strong>——标准 RL 每步都有奖励,LLM 只有末尾一个;这使 (a) Critic 的训练更难(需从稀疏信号学价值)、(b) '把序列优势广播到 token'的近似更常见。② <strong>'token 级 KL'的必要性</strong>——若只在序列末尾加 KL,则中间的偏离不受约束;逐 token KL 提供了'每步的约束',是防止语言退化的关键。③ <strong>'重新前向算 log-prob'的开销</strong>——采样时通常不保存每个 token 的 log-prob(为省显存),故训练时需用当前/旧策略<strong>重新前向</strong>计算;这增加了一次前向的开销(是 RLHF 慢的原因之一)。④ <strong>与'长度归一化'的关系</strong>——序列级损失若按'token 数平均',则长回答的每个 token 权重更小;若按'序列求和',则长回答影响更大。选择会影响'是否鼓励长输出'。⑤ <strong>GRPO 的简化价值</strong>——去掉 Critic 省了一个模型与一套训练逻辑,且'组内均值基线'在 LLM 中效果良好;这使 GRPO 成为当前推理模型 RL 的主流(DeepSeek-R1 采用)。⑥ <strong>面试要点</strong>——被问'LLM 里的 PPO 与标准 PPO 有何不同',应给出'<strong>动作=token、奖励=序列级、ratio/KL 为 token 级、优势广播到 token、只算回答 token</strong>',并说明'GRPO 用组内均值替代 Critic';能指出'需重新前向算 log-prob'这一工程细节是深度理解的标志。
⚠️ Common Interview Pitfalls
- ✕把奖励当作 token 级(实际是序列级)
- ✕只在序列末尾加 KL(中间不受约束)
🎯 Interviewer Follow-ups
- ?为什么优势要广播到每个 token?
- ?token 级 KL 与序列级 KL 的关系?
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.