0%

Score Centering 是 STE

还真是!《score-centering的前世今生》 与 《OPENAI的神秘RL算法只是个STE的近似吗?解密OAI的RL 后训练算法》 都是这么解释的。☺️

我学习了以上文章,做了阅读笔记。

先验知识

《BPO 与 Score Centering 笔记》

符号定义与前置

符号

在固定前缀(状态)$s$ 下,采样器按 $q(\cdot\mid s)$ 生成 token $a$,训练器给出 $p_\theta(\cdot\mid s)$。普通训练器 score 是

当 $a\sim p_\theta$ 时,$\mathbb E_p[s_p]=0$;当 $a\sim q$ 时,一般来说 $\mathbb E_q[s_p]\ne0$。

此非零均值使得 off-policy 更新对奖励零点、减 baseline 敏感。Score Centering(SC)减掉这个均值:

若有完整的 $q$ 分布,构造 STE logits

可得到与 SC 相同的单样本参数梯度。这个等价是梯度等价,不是前向 loss 数值相同,也不是说 SC 已纠正所有 off-policy 偏差。

固定一个前缀 $s$ 后,$z_p(s;\theta)\in\mathbb R^{|\mathcal V|}$ 是训练器给词表每个 token 的原始分数(logits),$z_q$ 是采样器的 logits。对应的概率向量为

$p,q,z_p,z_q$ 都是词表维的向量;$p,q$ 的分量非负、总和为 $1$。

本次抽到的 token $a$ 对应 one-hot 向量 $e_a$:第 $a$ 维是 $1$,其他维是 $0$。

Jacobian $J_\theta$ 是每个 logit 对每个模型参数的偏导数表,

前置:$\nabla_{z_p}\log p_a=e_a-p$

先取对数,再逐维求导:

把各维排起来,便是 $e_a-p$。

梯度再传回参数:

前置:PG

固定状态下,PG 的上升方向为 $\mathbb E_{a\sim p}[A(a)s_p(a)]$。

若样本实际来自 $q$ 而未做分布校正,则用 $\mathbb E_{a\sim q}[A(a)s_p(a)]$。

单样本在 logit 空间的上升方向为 $A(a)(e_a-p)$。

前置:STE(Straight-Through Estimator)

$\operatorname{sg}(u)$(stop-gradient)前向值仍为 $u$,反向导数按 $0$ 处理。

STE 在反向时人为把硬阈值当成恒等函数,传递非零的替代梯度。这是估计,不是该函数的真实导数。

STE 是 Hinton 讲课时提出的。

构造 STE

构造 STE:

前向:$\tilde z=z_p+(z_q-z_p)=z_q$,因此 $\operatorname{softmax}(\tilde z)=q$。

反向:

故

SC 与 STE 的梯度相同

先算普通 score 在 $q$ 下的均值。因为 $\sum_vq_ve_v=q$、$\sum_vq_v=1$,所以:

所以中心化

这正是 STE 梯度。(条件:同一固定前缀、完整的 $q$ 分布、$q$ 与 advantage 在反向时 detach)

不过两种 surrogate 的前向 loss 不同:

SC 与 STE 作用相同

On-policy 的 score 均值为零:

Off-policy 时 $a\sim q$,普通 logit score 的均值却是 $\mathbb E_q[e_a-p]=q-p$;参数空间为 $J_\theta^\top(q-p)$。因此状态 baseline $V(s)$ 不再自动消失:

若 $A^p=Q^p-V^p$,$V^p=\mathbb E_p[Q^p]$,则 $\mathbb E_p[A^p]=0$,但 $\mathbb E_q[A^p]=\mathbb E_q[Q^p]-\mathbb E_p[Q^p]$ 通常不为零。

SC 让 $\mathbb E_q[\tilde s_p]=0$,于是任意状态常数都可以从奖励中减去:

它修复了 $q$ 下的平均 score 漂移 / baseline 不变性。

注意没有解决协方差仍然是在 $q$ 下计算的问题。

离策略时,SC 有 IS 后与 STE 相同

令 $q_{\rm old}$ 是旧 vLLM 采样器,$z_M(\theta)$ 是训练器 logits。构造固定的旧差值

在 $\theta=\theta_{\rm old}$:$\tilde z_{\rm old}=z_{\rm vLLM}^{\rm old}$,故 $\hat p_{\rm old}=q_{\rm old}$,比率 $\hat p_{\rm old}(a)/q_{\rm old}(a)=1$。

更新参数后,$z_M(\theta)$ 改变,但旧差值 $\Delta z$ 固定,通常 $\hat p_\theta\ne q_{\rm old}$,比率不再是 $1$。

在整个轨迹 $x$ 下,重要性采样恒等式为

因此 STE surrogate 目标的梯度可写为

若 SC 无 IS:

若有,则相同。事实上,SC 的论文中做了与 MIS/TIS 结合的实验。

IGO 与 PMD 形式相同,优化单位不同

(IGO 是希望实际策略向这个分布靠近。STE 和 Score Centering 的梯度等价推导并不需要 IGO。《OPENAI的神秘RL算法只是个STE的近似吗?解密OAI的RL 后训练算法》的作者是从 IGO 出发、并意识到 ratio 不为 1 而得到 STE 的。我这里做一个对比笔记。)

IGO 视角可写成在完整轨迹 $x$ 上的 KL 正则优化:

BPO 论文的 PMD 则在每个前缀 $s$ 的下一 token上优化:

其中 BPO 取 $f(s,a)=A^\mu(s,a)$。

再补充一个笔记,《OPENAI的神秘RL算法只是个STE的近似吗?解密OAI的RL 后训练算法》的作者如何从 IGO 出发的。

设 $b=P_{\rm old}^{\rm vLLM}$,IGO 给出的目标分布是

其中 $Z$ 是归一化常数:

要最小化 $D_{\rm KL}(P|Q^*)$,代入并展开会得到

所以,

(没有 $Z$?因为 $Z$ 只由固定的旧分布 $b$、奖励 $R$ 和 $\beta$ 决定;优化变量是新分布 $P$。无论怎样改变 $P$,$\beta\log Z$ 都不变。)

其中的奖励项:

接着把 $P^{\rm vLLM}$ 换成 $P^{\rm Megatron}$ 近似。

Reference