跳转到内容

输入关键词开始搜索

    资料摘要:personal chatgpt 30 — instructGPT 中的 reward modeling,概率建模与损失函数性质

    视频摘要更新 2026-08-02置信度 high待阅读原始来源 ↗#深度#大模型#课程#personal-chatgpt

    本讲由真实视频转录与作者 notebook/代码交叉整理。原始层:🔒 带时间戳视频转录;课程总览:personal chatgpt — LLMs 实践系列

    本讲回到 InstructGPT 的 Reward Modeling 理论:标注者对同一 prompt 的 KK 个回答排序,转成最多 (K2)\binom K2 个 chosen/rejected 比较;奖励模型分别输出标量,奖励差被解释为“chosen 胜过 rejected”的 log odds;sigmoid 把差值转成概率,负对数似然即 pairwise cross-entropy。课程还分析 logσ(δ)-\log\sigma(\delta) 的梯度与大 margin 饱和现象。

    课程回顾:

    1. SFT / 指令模型初始化;
    2. 人类比较多个 response,训练 Reward Model;
    3. PPO 用 Reward Model 分数优化 policy。

    第 16 讲给出 TRL 总览,第 23 讲实现 RewardTrainer;本讲补充第二阶段的统计解释。

    2. 为什么使用排序而不是绝对 rating

    Section titled “2. 为什么使用排序而不是绝对 rating”

    不同标注者的“3 分/4 分”刻度不一定一致,但对同一 prompt 的两个回答,哪一个更好通常更容易达成一致。Reward Model 因而采用双输入/共享参数的 Siamese 式评估:

    (x, y_w) -> r_w
    (x, y_l) -> r_l

    只约束 rwrlr_w-r_l,不要求 reward 的绝对零点有固定语义。

    P(ywylx)=erwerw+erl=σ(rwrl)P(y_w\succ y_l\mid x) =\frac{e^{r_w}}{e^{r_w}+e^{r_l}} =\sigma(r_w-r_l)

    δ=rwrl\delta=r_w-r_l,则:

    δ=logp1p=logodds\delta=\log\frac{p}{1-p}=\log\operatorname{odds}

    即奖励差是人类更偏好 chosen 的对数赔率。对于标签 y=1y=1,二元交叉熵退化为:

    (δ)=logp=logσ(δ)\ell(\delta)=-\log p=-\log\sigma(\delta)

    若一个 prompt 产生 KK 个 response,严格排序可构成:

    (K2)=K(K1)2\binom K2=\frac{K(K-1)}2

    • K=4K=4:6 对;
    • K=9K=9:36 对;
    • 外层 batch size 64、K=9K=9:最多 64×36=2304 个比较对。

    课程解释,标注者主要时间花在理解 prompt;理解多个答案后的追加排序成本低于线性增长,因此 K=9K=9 可较高效扩充比较数据。无法区分的 tie 在 InstructGPT 训练中被丢弃。

    5. 为什么同一 prompt 的比较放在同一 batch element

    Section titled “5. 为什么同一 prompt 的比较放在同一 batch element”

    notebook/论文公式对一个 prompt 的 (K2)\binom K2 项先平均:

    loss(θ)=1(K2)E[logσ(rθ(x,yw)rθ(x,yl))]\operatorname{loss}(\theta)= -\frac1{\binom K2}, \mathbb E\left[\log\sigma(r_\theta(x,y_w)-r_\theta(x,y_l))\right]

    一次前向得到 K 个 reward 后即可复用成所有 pair,计算更有效;若把每个 pair 完全独立打散,同一个 response 会在一个 epoch 内重复出现 K1K-1 次,更容易快速过拟合。

    =logσ(δ),ddδ=σ(δ)1\ell=-\log\sigma(\delta),\qquad \frac{d\ell}{d\delta}=\sigma(\delta)-1

    复核值:

    δ\delta pp loss gradient
    0 0.5000 0.6931 -0.5000
    1 0.7311 0.3133 -0.2689
    3 0.9526 0.0486 -0.0474
    -3 0.0474 3.0486 -0.9526
    -6 0.0025 6.0025 -0.9975

    因此 δ3\delta\gtrsim3 后 loss/梯度已经较小,继续拉大正 margin 的收益递减;排序错误的负 margin 会得到接近 -1 的梯度,推动 chosen 分数上升、rejected 分数下降。

    cell 22 同时计算 -F.logsigmoid(0)-np.log10(0.5)。Reward Model 公式使用自然对数,因此正确对照应是 -np.log(0.5)=ln 2≈0.6931,而不是十进制对数的 0.3010。该 cell 是演示代码不一致,草稿不能照抄为等式。

    loss = -F.logsigmoid(r_chosen - r_rejected).mean()
    delta = np.linspace(-10, 10, 1000)
    sigma = 1 / (1 + np.exp(-delta))
    loss = -np.log(sigma)
    grad = sigma - 1

    Bradley–Terry 概率对共同平移不敏感:rw,rlr_w,r_l 同时加常数不改变 pp;这也是 reward 绝对零点不可识别的原因。

    • 00:00:连接第 16、23 讲并说明本讲补理论。
    • 01:06:回顾 InstructGPT 三阶段。
    • 02:28:提出比较标签、reward difference 与 cross-entropy。
    • 03:05:进入 multiple responses 与 (K2)\binom K2
    • 04:14:解释同一 prompt 的比较组成一个 batch element。
    • 06:33:说明 tie 被 drop。
    • 07:00:算出 64×C(9,2)=2304
    • 08:00:写出 pairwise reward loss。
    • 10:58:把 reward difference 解释为 log odds。
    • 12:00:连接 sigmoid、概率与 Bradley–Terry。
    • 15:00:分析 K=9 的标注效率。
    • 16:45:正式写 Bradley–Terry 概率。
    • 17:43:推导 loss gradient。
    • 19:01:分析 δ3\delta\ge3 后的饱和。
    • notebook 是理论可视化,不训练真实 Reward Model;应用代码见第 23 讲。
    • (K2)\binom K2 是无 tie 的最大 pair 数;平局丢弃或不完全排序时实际数量更少。
    • δ3\delta\ge3 基本无梯度”是定性近似;在 δ=3\delta=3 时 gradient 仍约 -0.0474,不是严格为零。
    • Bradley–Terry 假设单一标量 utility 足以解释成对偏好;循环偏好、标注者群体差异和 prompt 分布漂移不由该基础模型解决。
    • 成对准确率高不等于 reward 在跨 prompt 间绝对可比,也不等于可直接安全地被 PPO 无约束最大化。
    • 前接第 16 讲:TRL 中 Value Head、Reward Modeling、PPO 的总体位置。
    • 前接第 23 讲RewardTrainer 的四字段与 loss 实现,本讲给出概率解释。
    • 前接第 27 讲:PPO 把 Reward Model 输出作为外部 score;本讲解释 score 的训练来源。
    • 向后延伸:DPO 同样把 Bradley–Terry 偏好模型作为推导起点,但消去显式 Reward Model 与 PPO。
    1. 如何从 erw/(erw+erl)e^{r_w}/(e^{r_w}+e^{r_l}) 化为 σ(rwrl)\sigma(r_w-r_l)
    2. 为什么同时给两个 reward 加常数不改变偏好概率?
    3. K=9K=9 最多有多少比较对,batch size 64 时最多多少?
    4. 为什么同一 prompt 的 pairs 不宜完全随机打散为独立样本?
    5. δ=3\delta=3 时梯度是严格为零吗?
    • 滴答清单抓取时学习状态:未完成
    • 视频正文采用自动语音识别;关键术语已用标题、notebook 与源码校正,无法确认的口语细节不扩写。
    • notebook 未执行的 CUDA、权重下载、训练或外部 API 单元,不表述为已复现实验。