先这样答
GRPO 的损失由组内相对优势和策略梯度组成。对同一个 prompt 采样 G 个回答。第 i 个回答的优势写成 A_i = (r_i - mean(r)) / std(r)。再把这个优势放进 PPO 式的概率比率,并做 clip 优化。损失中还加入 KL 项,用来约束当前策略和参考模型的差异。
手算一个例子。设 G=4,四个回答的奖励是 [1,1,0,0]。组均值是 0.5,所以四个回答的中心化结果是 [0.5,0.5,-0.5,-0.5]。按题目给定的计算口径,优势为 [0.5,0.5,-0.5,-0.5]。前两个回答的优势为正,策略梯度会推动它们提高概率。后两个回答的优势为负,策略梯度会推动它们降低概率。实际损失还要结合概率比率、clip 结果和 KL 项计算。
面试官会怎么追问
-
「为什么要在同一个 prompt 的回答之间算优势?」 同一个 prompt 下的回答具有相同输入条件。组内比较可以直接反映回答之间的相对好坏。这样不需要单独依赖一个价值模型来提供优势估计。
-
「这个例子能直接算出最终损失吗?」 只能先算出组内优势,不能得到完整的数值损失。最终结果还需要当前策略与旧策略的概率比率、clip 范围,以及 KL 项的具体数值。底层手算采分点是均值和四个优势。
-
「PPO 式 clip 在这里解决什么问题?」 它限制策略更新时的概率比率变化。优势为正的回答不能无限提高概率,优势为负的回答也不能无限降低概率。KL 项进一步约束当前策略不要偏离参考模型过多。
回答的坑
-
不要只说 GRPO 使用奖励均值,却漏掉组内优势公式和 [1,1,0,0] 的手算过程。
-
不要把优势写成奖励本身,也不要漏掉 PPO 式概率比率、clip 和 KL 约束。
同系列的题
这家公司的面经实录
相关深度笔记