SOPD:不接管学生轨迹,如何用完整步骤修复 OPD 的碎片化监督?

学生把 \(5+2\times3\) 算成了 21。我们想教会它两件事:还没写错时,先算乘法;已经写错时,能纠正自己的前一步。

SOPD 的做法很像给错题制作练习卡:学生先独立做完;老师再把解答停在不同位置,每次只示范“从这里往下应该怎样写一步”;最后用这些卡片训练学生。

最容易误解的地方是:老师不会接管这一次作答。第二张卡片里,仍然保留学生第一步的错误。只有这样,学生才有机会专门练习“出错后怎样继续”。

本文解读 Step-Level On-Policy Distillation(SOPD,步级在线策略蒸馏),依据 arXiv v1 的正文与附录。下文错题的具体文案和数值是教学构造;原论文的方法依据见 §3–4、式 3–9。2026-09-15 重写方法与示例,先讲数据如何产生,再讲公式。

1. 先看结果:最终要制作什么训练数据?

先不管 OPD 和 KL。我们最终只想得到两张“给定上文,续写下一步”的练习卡:

练习卡 学生训练时看到的上文 要学会续写的内容
A:从头做对 题目:计算 5 + 2 × 3 先算乘法,2 × 3 = 6。
B:写错后纠正 题目,以及学生写的“先算 5 + 2 = 7。” 前一步运算顺序错了。应先算 2 × 3 = 6,再算 5 + 6 = 11。

A 教“正确起步”,B 教“错误恢复”。两张卡片中,需要模型学习生成的是右边的教师续写。左边的错误句子只是已发生的背景,不是要模仿的答案。

注意:卡片 A 只示范下一步,所以不必把整题做完。卡片 B 的示范是一个纠错段落;“一步”在这里按段落划分,不一定只包含一个算术运算。这些文本只是为解释方法而构造,并非论文模型的实际输出。

接下来解释:这两张卡片从哪里来,为什么第二张必须保留错误,以及训练时如何使用它们。

2. 为什么 SFT 和普通 OPD 没有直接提供这两张卡?

2.1 SFT:练习的是老师写出的完整好答案

教师给出完整答案:

先算 2 × 3 = 6。再算 5 + 6 = 11。答案是 11。

训练学生写“再算 5 + 6”时,它看到的前文也是教师正确的“2 × 3 = 6”。这能教会一条连贯解法,但这份示范没有专门练习“前面已经写成 5 + 2 = 7,现在怎么办”

这里讨论的是常规教师完整答案 SFT。SFT 的损失本身当然也能学习纠错数据;SOPD 的区别在于,如何利用当前学生的实际作答来生成这种数据。

2.2 普通 OPD:在学生原稿的每个 token 位置给分布反馈

OPD 先让学生写完,然后在学生前缀上比较学生与教师的下一 token 概率。教师提供的是概率分布,不是一份逐步被执行的改稿。

可以把它想成“沿着原稿逐字给反馈”,但要记住这只是比喻:真实算法用 token 概率训练,并不要求老师写批注。

如果某个位置的教师反馈更偏好另一个 token,下一个位置仍然读取原学生稿,前一处建议没有被写进去。因此,一轮固定数据上的这些反馈,不等于老师已经连续演示了如何修复。(论文 §3)

2.3 SOPD:在学生真实写到的位置,示范一整步

SOPD 把教师反馈改成可连贯展开的文本段落。教师在这段内部接着自己的话写;换到下一张卡片时,又回到学生原稿。

方法 监督从哪里开始? 教师提供什么? 用这道错题理解
常规教师答案 SFT 题目、教师正确前文 完整示范 学一遍“乘法 → 加法”
普通 token OPD 每个学生 token 前缀 下一 token 分布 沿学生原稿逐位置反馈
SOPD 每个学生步骤开始前 一个连贯的下一步 分别练“从头做”和“写错后修复”

原论文的贡献可以先记成一句话:练习的起点由学生决定,练习的续写由教师示范。

3. 把同一道错题完整走一遍

3.1 第一阶段:让学生独立做完,保存原稿

题目是 \(5+2\times3\)。这一次学生写了两段:

学生第 1 步:先算 5 + 2 = 7。
学生第 2 步:再算 7 × 3 = 21,所以答案是 21。

第一段违背运算顺序,第二段沿着这个错误继续推导。此时结果就是 21,这一轮作答没有被老师救回来

我们保存两处“暂停点”:

  • 暂停点 A:学生还没写第一步,只看得到题目。
  • 暂停点 B:学生已经写完第一步,看得到题目和“5 + 2 = 7”。

“前缀”就是暂停点之前已经出现的内容。“学生访问过的状态”在这个例子里,就是这两份不同的前文。不要把它想成额外生成的抽象状态向量。

3.2 第二阶段:独立问老师两次

下面这张图展示全部关键数据。每一行都是独立调用;教师 A 的正确乘法,不会进入调用 B 的输入。

灰色上边框:已有上下文 绿色上边框:新生成的教师目标
调用 A · 教师看见题目:计算 5 + 2 × 3。
没有任何解题步骤。
教师生成 A · 正确起步先算乘法,
2 × 3 = 6。
调用 B · 教师看见题目:计算 5 + 2 × 3。
学生原稿:先算 5 + 2 = 7。
这里仍是学生的错误,没有换成教师 A。
教师生成 B · 从错误中恢复前一步运算顺序错了。
应先算 2 × 3 = 6,
再算 5 + 6 = 11。
两行分别生成两张练习卡。教师 B 不看教师 A,也不看学生第 2 步;它只从学生写完第 1 步的位置续写。图中文字为教学构造。

如果将教师 A 的正确步骤放进调用 B,B 就变成“已经正确算出 6 后怎么继续”,失去了训练“已经错误算出 7 后怎么恢复”的机会。这是整个方法最关键的区别。(论文 §4.1–4.2)

两次调用的先后顺序无关紧要。只要学生原稿已经保存,它们可以并行生成,因为谁也不依赖另一个教师目标。

3.3 第三阶段:把两次调用变成学生的训练样本

训练输入由两部分组成:给学生看的背景 + 要学生学习续写的教师目标

1
2
3
4
5
6
7
8
9
训练样本 A
[背景,不计预测损失] 题目:计算 5 + 2 × 3。
[目标,计预测损失] 先算乘法,2 × 3 = 6。

训练样本 B
[背景,不计预测损失] 题目:计算 5 + 2 × 3。
学生:先算 5 + 2 = 7。
[目标,计预测损失] 前一步运算顺序错了。
应先算 2 × 3 = 6,再算 5 + 6 = 11。

“不计预测损失”指这些位置没有被设置为要模仿的标签,不是说模型不能读取这些内容,或这些内容在计算中完全没有作用。

学生也不是再自由写一次答案,然后比较两份文字像不像。训练使用 teacher forcing(给定正确前文来预测下一个 token):目标段落已经由教师写好,依次把目标前面的 token 提供给学生,检查它给下一个教师 token 多大概率。

例如在样本 B 中,预测纠错段落后半部分时:

  • 学生能看见原稿中的错误“5 + 2 = 7”;这是出错背景。
  • 也能看见教师目标中已经提供的“前一步顺序错了,应先算……”;这是本段正在学习的纠正过程。
  • 不能看见另一个样本的教师 A,不能偷看要预测的后续 token。

因此它学的是:在包含错误的前文后,续写一段修复文本。输入里保留错误,与把错误当成正确答案训练,是两回事。(论文 §4.3)

3.4 第四阶段:更新学生,再让它自己做题

训练提高学生在相应上下文中生成教师目标的概率。下一轮再让更新后的学生独立作答,才知道它是否更容易先算乘法、或是否能在出错后恢复。

原来的错误稿仍然是 21;优化改变的是学生参数,不会把历史作答改成 11。推理时也不需要每一步都调用教师。

用一句话检查自己是否理解:第二张练习卡左边为什么必须保留“5 + 2 = 7”?
因为我们要教学生从它实际犯过的错误继续,而不是只会接着教师的正确答案往下写。

3.5 换成 Agent:为什么教师动作不能偷偷执行?

再用一个独立的教学环境验证同一个原则。任务是“打开抽屉,拿出钥匙”,初始抽屉关闭。

学生真实经历 在该动作之前问教师 生成的教师目标
学生直接拿钥匙 → 环境返回“抽屉没开,拿不到” 初始状态:抽屉关闭 “打开抽屉”
学生又拿一次 → 仍然失败,回合结束 已经尝试拿钥匙,环境明确说抽屉没开 “打开抽屉”

两份教师目标相同并不矛盾:两个真实状态中的抽屉都关着。第一个教师“打开抽屉”只存为训练目标,并未执行,所以第二份样本不能假装抽屉已打开、要求教师“取钥匙”。

如果真的执行教师动作、再取得新的环境反馈,那是在创建另一条分支轨迹。它可以是有用的方法,但不再是这里讲的“固定完整学生路径,独立补充步骤目标”。此环境是教学构造,不是 ALFWorld 的真实实验记录。

4. 损失怎么计算:每张练习卡先打分,再平均

4.1 先理解一个 token:学生越不相信教师答案,惩罚越大

假设正在预测教师目标中的一个 token,学生给它的概率是 \(p\),对应损失为 \(-\log p\)。这里使用自然对数,数值仅作教学演示:

学生给教师目标 token 的概率 损失 直觉
0.8 0.223 学生已经比较相信这个答案,惩罚较小
0.2 1.609 学生不太相信这个答案,惩罚较大

我们没有把一个句子当成一个真实 token。真实训练会对 tokenizer 切出的每个教师 token 计算一次,再把同一段里的损失平均。

4.2 为什么要先在一张卡片内部平均?

用一组容易手算的假设损失说明,省去具体文本的分词:

练习卡 目标 token 数 各 token 损失之和 该卡片的平均损失
A:正确起步 4 2 2 ÷ 4 = 0.5
B:错误恢复 8 12 12 ÷ 8 = 1.5

SOPD 先求每张卡片的平均分,再对卡片平均:

\[ \text{本批损失}=\frac{0.5+1.5}{2}=1.0. \]

若直接混合全部 token,损失会是 \((2+12)/(4+8)\approx1.167\),B 因为更长而占三分之二权重。SOPD 中 A、B 各占一半;B 仍然更难,但不会仅因段落更长就多占权重。

这就是 step-balanced loss(步骤等权损失)。一条轨迹若产生更多练习卡,仍会贡献更多损失项,所以“步骤等权”不等于“每道题等权”。(论文式 6)

4.3 把刚才的练习卡翻译成公式

符号 在例子里是什么?
\(h_k\) \(k\) 张卡片左边的背景;B 中包括学生的错误第一步
\(\tilde s_k\) 右边教师写的纠正目标
\(m_k\) 这段目标实际包含多少 token
\(N\) 本批训练卡片总数;上例为 2
\(\pi_\theta\) 正在训练的学生,输出下一 token 的概率

于是:

\[ \ell_k=-\frac{1}{m_k}\sum_{j=1}^{m_k} \log\pi_\theta(\tilde s_{k,j}\mid h_k,\tilde s_{k,<j}), \qquad \mathcal L=\frac{1}{N}\sum_{k=1}^{N}\ell_k. \]

竖线后面只有两部分:这张卡片的背景 + 本张教师目标已经给出的前文。没有上一张卡片的教师答案。

读到这里,就已经走完 SOPD 的主要路径:学生做题 → 从原稿截取暂停点 → 老师独立示范下一步 → 把示范做成训练标签 → 更新学生。下面的进阶细节不影响这条主线,可以按需展开。

进阶:多张卡片怎样打包?为什么单 token 极限需要区分 KL 方向?

实际怎样划分步骤?

数学按空行段落或 Step、Solution 等显式标题分段;没有自然边界时,使用 1,024-token 安全上限。ALFWorld 中,一次 assistant 响应及其解析出的动作构成一步。教师采用同类自然边界停止生成。SOPD 只要求教师返回文本,不要求 logits 或梯度。(§4.1–4.2、附录 A)

打包实现:装进同一个序列,不代表可以互相偷看

论文将共享 prompt、学生轨迹、多个教师目标打包,通过特殊 attention mask 在一次前向中处理多个监督实例。下面用两步说明“预测教师 token 时能看到什么”:

预测目标 可以作为条件 必须屏蔽
教师第 1 步 任务 \(x\)、该教师步骤之前的 token 全部学生步骤、教师第 2 步
教师第 2 步 任务 \(x\)、学生第 1 步、该教师步骤之前的 token 学生第 2 步及之后、教师第 1 步

不能直接对拼接序列套普通 causal mask,否则排在后面的教师目标可能看到不应看到的学生未来内容或其他教师答案。还要确保共享前缀本身不能通过隐藏状态间接读取未来。正确 mask 的目的,是使打包实现仍等价于各个独立条件样本。(图 1、§4.3)

步长极限:为什么说它连接 SFT 和 OPD?

整段回答只有一步时\(h_1=x\),教师从原始任务生成完整答案,损失退化为通常的长度归一化 SFT。此时学生中间状态不再进入监督条件。(式 8)

每一步只有一个 token 时,固定学生前缀 \(h\),对教师采样求期望有:

\[ \begin{aligned} &\mathbb E_{a\sim q_T}[-\log\pi_\theta(a\mid h)]\\ &=H(q_T,\pi_\theta)\\ &=H(q_T)+D_{\mathrm{KL}}(q_T\|\pi_\theta). \end{aligned} \]

教师熵对本次固定前缀的参数更新是常数,因此对应 forward KL:教师到学生。这是在采样前缀作为固定训练数据时的交叉熵关系,不是在对整个离散 rollout 的产生过程求导。(式 9)

还要区分两件事:

  • 一次教师 token 采样,是上述期望目标的 Monte Carlo 估计。
  • 教师若总用 greedy decoding,就只模仿 argmax,不是完整教师分布 forward KL 的无偏估计。论文数学 SOPD 实际使用温度 0,而 OPD 基线使用 sampled-token reverse KL。(附录 A.1)

一般的可变长度步骤还带有 \(1/m_k\) 归一化,也不能直接称作未归一化的序列级 forward KL。(式 7)

进阶:概率怎样通过梯度变大?一个自洽的简化计算

设一批有两张卡片,当前卡片目标长 4 tokens。对其中一个概率为 0.2 的正确目标 token,其 softmax logit 梯度为:

\[ \frac{\partial\mathcal L}{\partial z_a} =\frac{p_a-1}{Nm_k} =\frac{0.2-1}{2\times4}=-0.1. \]

这个负梯度会让梯度下降倾向于提高正确 token 的 logit。为把数值走完,再假设一个独立二分类 toy 模型\(p=\sigma(z)\),初始 \(z=\log(0.2/0.8)\approx-1.3863\),学习率 0.1。一步得到:

\[ z'=-1.3863-0.1\times(-0.1)=-1.3763, \qquad p'=\sigma(z')\approx0.2016. \]

正确目标的概率从 0.2 略升至约 0.2016。真实 LLM 的 token 共用网络参数,并非每个位置有一个独立旋钮;这只是解释梯度方向,不是论文训练复现。它也不保证下一次整题就能做对。

用两个候选 token 验证 forward KL 的边界

固定一个学生前缀,设教师分布 \(q=(0.8,0.2)\)、学生 \(p=(0.5,0.5)\)。则教师采样下的期望交叉熵为:

\[ -0.8\log0.5-0.2\log0.5=0.6931. \]

教师熵约为 0.5004,\(D_{\mathrm{KL}}(q\|p)\approx0.1927\),两者相加恰为 0.6931。

若教师改为永远选择第一个 token,当前点的损失碰巧仍为 0.6931,但对两个学生 logits 的梯度从 \(p-q=(-0.3,0.3)\) 变为 \((-0.5,0.5)\)数值碰巧相同不等于目标相同:greedy 标签并未保留教师给第二个 token 的 0.2 概率。

5. Results:收益在哪里,证据止于哪里?

5.1 ALFWorld:主要收益在 Seen 和 Unseen

学生是 Qwen2.5-3B-Instruct,教师是经过领域 RL 的 Qwen2.5-7B;附录指定教师为 langfeng01/GiGPO-Qwen2.5-7B-Instruct-ALFWorld。评测覆盖 Seen 140、Unseen 134、Hard 121 个任务,温度 0.4,最大响应 4,096 tokens。(§5.1、附录 A.2)

成功率如下,单位为 %;表 1 中除 SOPD 外的行来自 TCOD,并非本文全部重新跑出的统一实验。

方法 Seen Unseen Hard
教师 7B-RL 85.71 76.87 6.61
学生 3B Zero-Shot 7.86 2.24 0.83
SFT 32.14 25.37 4.96
Vanilla OPD 65.72 60.45 10.74
TCOD-B2F 77.86 70.90 13.22
TCOD-F2B 81.43 79.19 9.92
SOPD 84.29 82.09 10.74

粗体表示各列最优学生方法。SOPD 相对 Vanilla OPD 提高 18.57、21.64、0.00 个百分点。摘要的“平均提高 13.4 点”可由三个 split 等权平均复算:

\[ \frac{18.57+21.64+0}{3}=13.4033\ldots \]

这不是按三个集合的任务数量加权后的总体提升。

平均交互轮数也下降:

集合 Vanilla OPD SOPD 减少轮数
Seen 14.73 11.20 3.53
Unseen 16.21 11.88 4.33
Hard 28.64 28.15 0.49

SOPD 在 Hard 上没有提高成功率,且低于 TCOD-B2F。Hard 平均仍约 28 轮,接近 30 轮上限;少 0.49 轮不能单独证明困难长程规划问题已解决。平均轮数还混有成功和失败轨迹,若要断言“规划更高效”,最好另看成功条件下的路径长度。(表 1;最后一句为我的分析)

5.2 数学:同尺寸教师,四项均提高

学生和教师均基于 Qwen3-4B non-thinking。教师不是原始基模直接充当专家,而是在难度至少为 6 的 57,000 条 DeepMath 数据上先做 GRPO:答案正确奖励 1,错误奖励 0;128 的训练 batch、每 prompt 8 条 rollout、500 次更新、学习率 \(10^{-6}\)、KL 系数 0。(附录 A.1、表 3)

随后 SOPD 与 OPD 使用同一顺序的 prompt,每次更新 1,024 个 prompt、每题一条学生 rollout,共 10 次更新,即各 10,240 个 prompt 实例。它们并不是把 57,000 条题目都各训练一遍。

表 2 的平均准确率(%)为:

方法 AIME24 AIME25 HMMT-Feb HMMT-Nov 四项均值
教师 58.0 54.6 32.5 38.9 46.0
教师继续 RL 100 次 60.9 55.6 32.8 38.4 46.9
初始学生 21.5 21.9 10.0 8.0 15.4
OPD 61.9 57.0 32.5 39.6 47.7
SOPD 71.8 67.4 38.9 52.7 57.7
SOPD − OPD +9.9 +10.4 +6.4 +13.1 +10.0

HMMT 两项为 2025 年。前三行是 G-OPD 报告的参考结果;论文数学表没有单独列出 SFT,所以不能声称这里也直接实测了 SOPD 对数学 SFT 的优势。

每个基准有 30 道题,每题生成 32 次,共 960 个答案;温度与 top-p 为 1,响应上限 32,768 tokens,使用 Math-Verify 校验最终答案。报告的是这些采样答案的平均正确率,不是 pass@32。同一道题的 32 次生成也不等于 32 道独立题目。(§5.2、附录 A.1)

5.3 等 rollout 数不等于只改变了步骤长度

数学 SOPD 学习率为 \(2\times10^{-6}\),教师逐步 greedy 生成;OPD 学习率为 \(10^{-5}\),使用 sampled-token reverse KL。两者同时改变了目标形式、标签来源、步内前缀和学习率,不能把全部增益因果归结为“从 token 换成 step”这一个因素。

论文图 4 观察到学生输出的自然步骤数显著增加,教师平均监督长度由第 1 次更新的 29.0 tokens 增到最后的 45.2。这支持生成结构发生变化,但不单独证明每一步更正确,也提示相同 rollout 数下生成成本未必相同。(§5.2)

Agent 实验采用异步 Explorer / Trainer:每次采样 16 个任务,训练 batch 为 64 experiences,最大 staleness 为 2,最多 30 个环境回合。附录训练响应上限为 512 tokens,prompt 上限为 10,240,学习率 \(10^{-6}\);不要把训练的 512 与评测的 4,096 混为一谈。

6. 最具创新性的点:改变监督的展开方式,而不改变状态来源

最值得保留的不是“步级监督”这个词本身,而是一个明确组合:所有步骤起点来自完整学生 rollout,教师目标只在步骤内部自回归展开,目标之间不传递教师历史。

它针对 SFT 的状态偏移和 OPD 的局部标签碎片化,分别保留学生状态覆盖、增加连贯纠正长度;生成式接口又避免依赖教师 logits。SFT 与单 token forward KL 两个极限,使这种设计的关系能够被公式直接定位。(§4)

但理论极限只是目标函数关系,不是性能保证。最直接的实证是两个任务族上的结果,而论文没有用完整的步长、mask、归一化和解码策略消融,单独分离这些设计各自的贡献。

也不能把它和 SOD、StepOPSD 等名字接近的方法混为一谈。本文 SOPD 的学生目标是教师文本的 step-balanced 交叉熵,不是把 step-level 奖励再融合进 GRPO。(§2、§4.5)

7. 不足与可能的改进

7.1 作者明确给出的边界

v1 没有单独的 Limitations 章节,不宜把下面的独立批评写成作者自认缺陷。正文明确区分了 greedy 与随机教师下的目标关系,也说明了长轨迹会贡献更多步骤损失。实验中 Hard 成功率持平是表中事实,而不是尚未披露的隐藏结果。

7.2 我的分析:局部修复不覆盖纠正后的未来

教师目标不执行,因此无法采到“如果真的照老师做了,后面会见到什么”。遇到不可逆错误或原轨迹从未接近成功状态时,独立局部建议可能不足以恢复。

可在少量可恢复状态上额外做教师分支 rollout,并与纯 SOPD 分开控制比例。代价是环境交互开销和状态分布混合;应在相同环境步数下比较 Hard 成功率、失败恢复率及新状态覆盖,不能只看训练 loss。

7.3 我的分析:需要把步长收益与其他因素分开

自然边界依赖输出格式,长度归一化又不等于轨迹等权;模型生成更多段落,会改变监督项分布。

可固定总训练 token 预算,对比单 token、固定块、自然步骤、整段答案;再单独对比步骤等权与轨迹等权,并控制学习率和教师解码方式。代价是更多实验;核心指标应包括准确率、每题生成长度和单位监督 token 收益。改变分段规则后效果不稳,就说明方法仍依赖任务格式。

7.4 我的分析:教师会错,greedy 也会丢掉备选解法

连贯的教师步骤不保证正确。教师只看到学生局部历史,可能延续错误;greedy 标签又可能把多个可行决策压成单一答案。

可以对高风险步骤采样多个教师候选,增加符号检查或动作合法性检查。代价是教师调用增加,且“动作合法”不等于“任务最终成功”;应同时测目标正确率、候选多样性和下游成功率,避免仅用容易通过的检查器筛出表面正确文本。

7.5 我的分析:黑盒兼容,不等于费用已与 SFT 等价

作者认为总教师生成量接近一份完整回答,并可并行查询、免去教师环境执行。但输出 token 只是成本的一部分:若重复发送越来越长的学生前缀,请求数、输入 token、缓存命中、并发限流都影响账单和延迟。训练侧 packing 也不自动消除外部教师 API 的输入计费。

应记录教师输入/输出 token、调用数、缓存比例、墙钟时间、GPU-hours,并在相同成本下比较 SFT、OPD、SOPD。代价是完整的系统计量;没有这些数据时,应将“低成本”视为可检验的实现潜力,而非普适结论。

7.6 我的分析:外部基线与有限评测需要更严谨复核

ALFWorld 基线引用 TCOD,数学前三行引用 G-OPD;数学每套仅 30 道题,正文没有给出跨多个训练 seed 的置信区间。数学 SOPD 超过教师的表面结果,不等于证明任意学生都能稳定超过任意教师。

可用统一代码、模型检查点、数据顺序和计算预算重新运行基线,并按题目重采样计算区间、增加训练 seed。代价是复现实验资源;这样才能区分稳定的方法收益与少数评测样本、超参数或历史配置差异。

8. 读者应记住的要点

  • SOPD 不改写或执行教师轨迹,而是在每个学生步骤起点旁边建立独立教师目标。
  • 步间学生历史、步内教师历史,是它兼顾状态覆盖与局部连贯的关键。
  • 单 token 随机教师极限是 forward KL;greedy 硬标签和 reverse KL 不能混称。
  • 数学与 ALFWorld Seen / Unseen 的收益明确,但 Hard、成本与因果消融仍需要更多证据。

原始资料与站内延伸

  1. 论文与版本记录v1 HTML 全文v1 PDF。方法见 §3–4、式 3–9、图 1;实验见表 1–2、图 2–4;超参数见附录 A。
  2. TCOD 是本文 ALFWorld 引用基线的来源;G-OPD 是数学参考结果及教师训练配置的来源。本文对这两者的比较范围以 SOPD 原文说明为准。

站内延伸:RAGEN:多轮 Agent RL 为什么会崩溃?StarPO、Echo Trap 与推理退化 讨论多轮学生轨迹为什么会退化;OPDVR:用答案正确性过滤蒸馏信号,如何把 OPD 与可验证奖励结合? 讨论另一种用可验证结果控制蒸馏信号的方法;Long-Horizon Agent 训练论文地图:20 篇工作、七条路线与一个完整训练例子 将本方法放进长程 Agent 训练的研究脉络。


SOPD:不接管学生轨迹,如何用完整步骤修复 OPD 的碎片化监督?
https://kissshhot.github.io/2026/09/11/sopd-step-level-on-policy-distillation/
作者
丁一帆
发布于
2026年9月11日
许可协议

点赞与评论

喜欢这篇文章?点个赞,或留下你的想法。登录 GitHub 后即可参与。

如果评论无法加载,请检查网络连接后刷新页面。