← 返回书架人工智能 · 交互式 Wiki
微调与后训练进阶计算演示

POLICY GRADIENT / ONE UPDATE

RL 参数更新:从回答概率到下一步策略

固定一批回答与奖励,沿 logits、行为概率、优势、裁剪与 KL 计算损失,再检查梯度怎样改变参数。每个中间量都能用独立自动微分复算。

01 / DECLARE THE OBJECTIVE

先确定每个 token 的权重和梯度边界

zit=xitW,pit=softmax⁡(zit),ρit=exp⁡(log⁡pit(ait)−log⁡pitold(ait)),uit=min⁡{ρitAi,clip⁡(ρit,1−ϵ,1+ϵ)Ai},L=∑itwit[−uit+β∑vpit(v)log⁡pit(v)pitref(v)].\begin{aligned}z_{it}&=x_{it}W,\quad p_{it}=\operatorname{softmax}(z_{it}),\\\rho_{it}&=\exp(\log p_{it}(a_{it})-\log p^{\rm old}_{it}(a_{it})),\\u_{it}&=\min\{\rho_{it}A_i,\operatorname{clip}(\rho_{it},1-\epsilon,1+\epsilon)A_i\},\\L&=\sum_{it}w_{it}\left[-u_{it}+\beta\sum_v p_{it}(v)\log\frac{p_{it}(v)}{p^{\rm ref}_{it}(v)}\right].\end{aligned}
仅在固定回答的有效位置上计算。ε=0.2,SGD 学习率 η=0.2;KL 为当前位置词表上的精确 DKL(current‖reference),不进行当前策略的状态分布校正。

按 token 平均

所有有效 token 共用 w=1/N;长回答有更多位置,对总目标的权重更大。

按回答平均

G 个非空回答、每条长度 Tᵢ 时 w=1/(G Tᵢ)。每条回答总权重相同;这与 token 平均是不同目标。

冻结本批采样信息

动作、奖励、组内优势、old log-prob、reference 和 mask 都停止梯度。old 表示该批回答的行为策略,reference 是另一个固定的约束锚点。

固定状态的范围

四条回答和状态特征为教学输入。截断选项只改变有效位置,奖励和优势保持固定,便于隔离长度权重;真实截断奖励需要单独设计。

奖励 [1,0,0.5,1] 减组均值并除总体标准差得到优势;奖励全相同时设优势为零。屏蔽提示和填充位置,零有效 token 时跳过更新。

02 / DIFFERENTIATE

裁剪平台、KL 和共享参数分别贡献什么?

∂(−ρA)∂zv=−Aρ(1[v=a]−pv),∂DKL∂zv=pv(log⁡pvpvref−DKL),∇WL=∑itxitT∂L∂zit,W′=W−η∇WL.\begin{aligned}\frac{\partial(-\rho A)}{\partial z_v}&=-A\rho(\mathbf1[v=a]-p_v),\\\frac{\partial D_{\rm KL}}{\partial z_v}&=p_v\left(\log\frac{p_v}{p_v^{\rm ref}}-D_{\rm KL}\right),\\\nabla_W L&=\sum_{it}x_{it}^{\mathsf T}\frac{\partial L}{\partial z_{it}},\qquad W'=W-\eta\nabla_W L.\end{aligned}
第一式用于未进入裁剪平台的策略项;平台内该项导数为零。边界处采用实现的分支约定,有限差分检查避开不可导边界。KL 与其他样本仍能移动共享参数。
03 / FIXED ROLLOUT

更新几步,观察同批回答的概率变化

四条回答的目标与参数账本

同一 rollout · 真实数值更新
已完成更新
下一步 loss
计入目标的位置
加权 KL
裁剪位置 / 总位置

回答/位置动作位置权重优势old / 当前 log-prob概率比当前 → 下一步动作概率
六个参数、梯度和下一步预览
参数当前梯度下一步保存的行为参数
逐位置特征、完整 logits、reference 与上游梯度

回答编号从 1 开始;计算中的 sample/position 从 0 开始。回答状态特征为 [1+0.1×sample, 0.2+0.35×position−0.1×sample],提示为 [1,−0.5],填充为 [0,1]。被截断的位置仍可前向读取,目标权重及梯度为零。

回答/位置状态特征 x当前 logits当前完整概率reference 完整概率∂L/∂logits
初始参数、固定 reference、奖励与回答动作
已执行的更新历史
步更新前 lossKL裁剪数更新后 W
04 / EXACT EXPECTATION

穷举九条轨迹,核对策略梯度恒等式

另设两步、每步三个动作的有限环境。第二步特征 [1,0.3+0.4a] 依赖第一步动作 a;奖励由固定 3×3 表给出。使用初始参数枚举九条轨迹,既可直接求期望奖励的导数,也可累加 R(y)π(y)∇logπ(y)。这部分是完整期望,独立于上方固定 rollout 的裁剪目标。

∇W∑a,bπW(a)πW(b∣a)R(a,b)=∑a,bπW(a,b)R(a,b)∇Wlog⁡πW(a,b)\nabla_W\sum_{a,b}\pi_W(a)\pi_W(b\mid a)R(a,b)=\sum_{a,b}\pi_W(a,b)R(a,b)\nabla_W\log\pi_W(a,b)
奖励与状态转移不对 W 求导,动作空间完整枚举。Python 对左边自动微分,页面对右边解析累加。

期望奖励:;按行展平的六个梯度:。

轨迹概率奖励期望贡献
05 / EVIDENCE

数值正确之后,还需要什么证据?

本地测试用有限差分核对全部六个参数,独立 PyTorch 自动微分再检查不同归一化、mask、KL、故障与连续更新。真实后训练还需要采样策略版本、任务覆盖、奖励可靠性、独立能力评估和成本记录;小策略的 loss 下降不代表语言模型能力提升。

适用范围与一手资料

二维特征、三动作、四条固定回答与 2×3 参数,手算 clipped surrogate 加当前位置精确 KL 的梯度。另穷举九条轨迹核对完整期望;独立 autograd 验证,不实现完整 PPO/GRPO 训练器。

公式与机制的原始依据 · 4 项
知识目录
搜索知识库