FlowBalance:模型自己给自己当老师时,怎么防止它"自信地教错"?
上周刷到一篇挺对味的论文。做过 RLVR 训练的人应该都碰到过一个纠结:终端验证器(verifier)给的奖励是可靠的,但一条几千 token 的推理链只有最后一个 0/1 信号,信用分配稀得可怜;而让一个"看过答案"的模型副本给每个 token 打稠密分(on-policy distillation 那一路),又很容易出现一件尴尬事——它对一条最终被验证器判错的轨迹照样信心满满,结果就是模型把自己错误的自信当成下一步的监督信号,越训越偏。
这篇 FlowBalance(arXiv: 2609.03241)给出的回答我觉得很干净:稠密自我指导可以用,但它的方向必须由验证器说了算——答对了才顺着指导走,答错了就把指导反向,没有偏好就关掉。再配上 trajectory balance 把这套"能量"变成一个归一化的完整响应分布来学。在 Qwen3-4B/8B 的数学推理上,它比同族的 FlowRL 再涨 1.67 到 1.98 个点,训练提速 1.43 倍,还避免了直接蒸馏那种回复长度崩掉的问题。
核心摘要:痛点是"自改进内环"太脆——稀疏验证可靠但粗,稠密自指导细但会自我确认。FlowBalance 的方案是:冻结的策略副本带着特权上下文(参考答案)给已采样 token 打分,聚合成轨迹级自我指导增益 \(G_H\),再用组相对优势 \(A\) 的符号给它定方向,合成能量 \(\eta_A A + \beta_G G_H \cdot \mathrm{sgn}(A)\),最后通过 profiled trajectory balance 拟合这个参考策略支撑的 Gibbs 目标。效果是 Qwen3-8B 五基准平均 67.61,超过 GRPO 的 65.49、FlowRL 的 65.85、RLSD 的 64.12;AIME24 验证准确率到 0.5 只需约 100 步(GRPO 约 143 步),400 步内不掉点。我的评价:这不是底层突破,而是把 FlowRL 的分布匹配框架和 OPSD/RLSD 的特权自指导做了一次"权责分明"的工程整合——但整合得相当有理论品味,四个命题都给到了目标分布层面的精确刻画,值得细读。
📖 论文信息
- 标题:FlowBalance: Verifier-Grounded Self-Improvement from On-Policy Reasoning Experience
- 作者:Zixun Huang、Kishan Panaganti、Haitao Mi、Leowei Liang(Zixun Huang 为 project lead,前两位共同一作)
- 机构:Tencent HY LLM Frontier、University of Pennsylvania
- 日期:2026 年 9 月 3 日
- 链接:https://arxiv.org/abs/2609.03241 (代码与 blog 已随论文放出)
🎯 问题动机:自改进内环的两个"脆点"
先把这个问题的背景捋清楚。后训练时代,推理模型的核心承诺是:从自己采样出来的经验里变得更好——采几条解、看看哪条对、更新策略、下一轮采得更好。这个内环要学好三件事:把概率移向正确推理、保留有用的备选策略、别把所有质量都磨到一个局部偏好的模板上。
但现实里有两条路都走不顺。
路径一:RLVR(可验证奖励的强化学习)。代表是 GRPO。验证器只给终局 0/1,一条几千 token 的推理链共享一个响应级信号。组相对优势(group-relative advantage)改善了组内比较,但说到底还是"一个分数贴满全程"。FlowRL 这类分布方法把终局证据翻译成完整响应上的概率分布,前进了一步,但纯结果能量没法利用推理路径上的细粒度证据。
路径二:同模型特权自指导。冻结一个当前策略的副本,让它条件在参考答案或任务反馈上,给已采样的每个 token 打分。这是 OPSD、RLSD 那一路的做法。信号稠密、便宜,不需要更大的外部教师模型。但问题是——稠密不等于可信。这个打分的"视角"看到了推理时不可得的信息,它完全可能偏爱一条看起来合理但最终被验证器拒掉的轨迹,或者把推理压缩变短、压制不确定性驱动的探索。盲目跟着这种自信走,就是我开头说的自我确认:模型的错误偏好变成了下一步的监督。
说实话,这两个痛点在真实工程里都存在,不是伪命题。我自己调 reasoning RL 的时候就观察过后者:蒸馏类目标加上去,前几步指标涨得飞快,然后回复长度肉眼可见地塌,多样性跟着完蛋。论文 Table 1 里 OPSD 在 Qwen3-8B 上平均只有 41.16,比 GRPO 低了 24 个点,某种程度上就是这种失败模式的极端呈现。
于是作者把问题重新表述成一个分布问题:
给定 on-policy 推理经验、稀疏但可靠的验证结果、稠密但可能出错的自我指导——下一个策略应该学习一个什么样的归一化响应分布?
注意这个表述的转换:不再问"用哪个 loss 优化",而是问"学哪个分布"。这是 FlowBalance 和 GRPO/RLSD 家族的根本分野。
🧠 方法核心:符号门控 + 轨迹平衡
一句话讲清核心 idea:自我指导负责提供细粒度证据,验证器负责决定这个证据的方向,trajectory balance 负责把合成能量变成归一化分布。

图 1:FlowBalance 五步循环——(1) 当前策略采样 on-policy 轨迹组;(2) 验证器给出稀疏可靠的结果奖励并计算组相对优势;(3) 冻结的特权事后视角给已采样 token 打稠密分,聚合成轨迹级增益 \(G_i\);(4) 符号门控:成功轨迹顺着指导、失败轨迹反转指导;(5) 用 profiled trajectory balance 把能量 \(E_i = \eta_A A_i + \beta_G G_i \cdot \mathrm{sgn}(A_i)\) 内化成归一化目标分布。这个图把整条流水线画得很清楚,建议对照着读。
特权事后视角的稠密打分
每个训练 prompt \(x\) 配一个仅训练期可见的上下文 \(c\)(比如参考解)。同一个冻结快照扮演两个角色:
- Rollout 视角 \(\pi_{\text{roll}}(\cdot \mid s_t) = \pi_{\theta^-}(\cdot \mid x, y_{<t})\):不看 \(c\),负责生成响应;
- 事后视角 \(\pi_H(\cdot \mid s_t, c) = \pi_{\theta^-}(\cdot \mid x, c, y_{<t})\):响应采完之后,看着 \(c\) 给同样的 token 重新打分。
注意两个细节:事后视角不重新生成任何轨迹,也不回传梯度。它只是一个"事后诸葛亮"式的评分器。部署时策略既看不到 \(c\) 也接触不到这个视角。
对每个 token 算裁剪后的 log 概率增益,再沿轨迹平均,得到轨迹级自我指导增益:
\(G_H\) 的直觉是:看过答案的"我"比没看答案的初始模型,在这条轨迹上平均自信了多少。它是在策略自己的 on-policy 经验上算出来的特征,零额外采样成本。
符号门控:让验证器给指导定方向
这是全文我最喜欢的一个设计。FlowBalance 的轨迹能量:
三种情况:
- \(A(y) \gt 0\)(组内偏好这条):正的 \(G_H\) 叠加进去,强化已验证的成功;
- \(A(y) \lt 0\)(被拒):正的 \(G_H\) 被反转——它越自信,越被往下压,自我确认的路被堵死;
- \(A(y) = 0\)(组内无偏好):稠密分支直接关闭。
你想想看这个设计的妙处:它没有把稠密信号当成一个独立的 imitation loss 加进 RL 目标(RLSD 的思路),也没有无条件蒸馏(OPSD 的思路),而是把它变成一个受验证器节制的方向性特征。看起来只是个符号函数,但命题 4 给了它精确刻画:对一个已验证成功 \(y_+\) 和一个被拒响应 \(y_-\),相比不加门控的指导,符号门控把两者的目标概率比乘上了一个精确因子:
也就是说,失败轨迹上的假阳性自信,被精确地转化成了偏向正确响应的概率比修正。模型自己骗不了自己——这是这个式子最值钱的地方。
Trajectory balance:从能量到归一化分布
能量定好之后,目标是参考策略支撑的 Gibbs 分布:
然后走 GFlowNet 那一系的 trajectory balance。完整轨迹平衡方程:
主 loss 就是对组内每条轨迹的 TB 残差取平方期望。关键在配分函数怎么处理:FlowRL 用一个 prompt 条件的学习估计器,而 FlowBalance 直接从 rollout 组里 profile 出来——每条响应隐含一个 \(\widehat{\log Z}_i\),取组内平均:
这个估计的梯度也是 stop 掉的。为什么要 profile 而不是学习?作者的命题 1 给了回答:这个"麻烦参数"只吸收组内公共的偏移量,\(N-1\) 个独立的组内概率对比方向全部保留。rollout 组的全部相对证据都被用上了,没有塌缩成单一比较。在 \(N=32\) 的合成诊断里,profile 全对比的局部高斯参数风险只有"每组一对比"估计器的 2.92%——大约 1/34 的风险。
顺带一提,论文还给了 subtrajectory balance 的版本(对任意区间 \(i{:}j\) 定义残差),可以在长响应上提供更稠密的拟合目标,不过主实验用的是完整轨迹版本。
四个理论保证,一句话版
论文第 4 节给了四个命题,都是关于目标分布的性质(作者很诚实地声明这不是任意神经优化器的全局收敛保证):
| 命题 | 内容 | 直觉 |
|---|---|---|
| 命题 1 | Profiled TB 保留全部组内对比 | \(\log Z\) 只吃掉公共偏移,\(N-1\) 个对比方向全保留 |
| 命题 2 | 最小改变自更新 | 在达到同等复合能量的所有组分布里,FlowBalance 目标是离参考策略 reverse-KL 位移唯一最小的 |
| 命题 3 | 验证器单调控制目标奖励 | \(\partial \mathbb{E}_{p^\star}[R]/\partial \eta_A = \mathrm{Var}_{p^\star}(R)/(\tau(\sigma_R+\epsilon)) \geq 0\),调大验证器权重不会降低目标期望奖励 |
| 命题 4 | 结果校准修正假阳性指导 | 就是上面那个 \(\exp(2\beta_G G_H(y_-)/\tau)\) 因子 |
命题 2 的合成诊断数字挺能说明问题:一个达到相同能量的全支撑替代方案需要 reverse KL 0.973,而 FlowBalance 的指数倾斜只要 0.273——替代方案离参考远了 3.6 倍。保守,但不浪费信息。这个组合挺难得的。
📊 实验:数字说话
主实验:两个 backbone 上都是最强平均

图 2(a):训练加速。Qwen3-8B 上 FlowBalance 约 100 步达到 0.5 的 AIME24 验证准确率,GRPO 要约 143 步,快 1.43 倍。蓝色实线是平滑趋势,浅色线是逐步测量值。
所有方法在每个 backbone 内共享训练 prompt、rollout 组大小、验证器、长度上限、checkpoint 节奏和评测脚本,主表是 step 180、五个种子的均值 ± 样本标准差。AIME24 用 Pass@16,其余四个基准用 Pass@1。
| 模型 | 方法 | AIME24@16 | HMMT25@1 | Minerva@1 | MATH500@1 | Olympiad@1 | Avg. |
|---|---|---|---|---|---|---|---|
| Qwen3-4B | GRPO | 78.00 | 26.67 | 51.18 | 92.04 | 63.68 | 62.31 |
| OPSD | 65.33 | 14.67 | 47.28 | 87.56 | 55.76 | 54.12 | |
| RLSD | 73.33 | 21.33 | 50.29 | 91.44 | 61.36 | 59.55 | |
| FlowRL | 75.33 | 30.67 | 51.99 | 92.84 | 65.25 | 63.22 | |
| FlowBalance | 80.00 | 32.00 | 50.51 | 93.28 | 65.49 | 64.26 | |
| Qwen3-8B | GRPO | 85.33 | 31.33 | 52.87 | 93.16 | 64.78 | 65.49 |
| OPSD | 48.67 | 4.00 | 38.46 | 74.56 | 40.09 | 41.16 | |
| RLSD | 82.67 | 28.00 | 52.94 | 93.44 | 63.56 | 64.12 | |
| FlowRL | 86.67 | 30.67 | 52.79 | 92.92 | 66.20 | 65.85 | |
| FlowBalance | 89.33 | 34.67 | 53.68 | 93.52 | 66.85 | 67.61 |
几个值得说的点。
OPSD 崩得非常难看。8B 上平均 41.16,HMMT25 只有 4.00。作者的解释是:模仿"看过解的特权教师"会压制认识层面的不确定性表达、把推理压短,削弱探索和自我纠错。这个失败案例反过来佐证了符号门控的必要性——同样的特权信息,用法不对就是毒药。
和 FlowRL 的比较是全文最干净的对照。两者同属 trajectory balance 家族,唯一差别是能量里有没有校准过的自我指导。4B 上核心四基准平均涨 1.67 个点,8B 上涨 1.98 个点。涨幅不算爆炸,但要知道这是在已经把"响应级信号→分布"这步做好了的强 baseline 上再榨出来的。
AIME24 Pass@16 的涨幅最大(8B 上 89.33 对 FlowRL 的 86.67、GRPO 的 85.33)。Pass@16 考察的是"多条采样里有没有对的",FlowBalance 把概率质量摊到多条正确轨迹上的设计正好对这个胃口。而 MATH500、OlympiadBench 这些小但一致的涨幅说明它不是拿 Pass@1 换 Pass@16。
训练动态:快、稳、不塌

图 2(b):400 步长训稳定性。FlowBalance 到顶后一直稳在峰值附近(约 0.55-0.57),GRPO 在约 step 180 之后急剧退化到 0.2 左右。说实话看到 GRPO 这条曲线我愣了一下——180 步后基本雪崩,这个对比相当残酷。

图 2(c):响应长度。直接 OPSD(绿)在前几十步内从 7000+ token 塌到 1500 左右,而 FlowBalance(蓝)稳定在 4000 token 上下的长推理轨迹。这就是"grounded"和"ungrounded"自指导最直观的分水岭。
三条曲线合起来支持了一个窄但扎实的论断:在固定任务分布的内环里,验证器锚定的自指导加速了更新、稳定了训练、并且避免了无锚定局部模仿的捷径行为。作者也很克制,明说"更长不代表因果上更好,这只是相关失败模式的诊断"。
消融:两个系数各管一件事
默认配置 \(\eta_A=15\)、\(\beta_G=1\),在 Qwen3-8B 上做一维扫描:
| \(\eta_A\) | 5 | 10 | 15 |
|---|---|---|---|
| Avg. | 65.65 | 65.41 | 67.61 |
| \(\beta_G\) | 1 | 2 | 3 |
|---|---|---|---|
| Avg. | 67.61 | 66.48 | 65.95 |
两个观察。其一,验证器权重加到 15 是明显更优的(+2 个点),说明"锚"本身值这个钱。其二,把 \(\beta_G\) 从 1 加到 3 反而掉点——AIME24 从 89.33 掉到 86.00,HMMT25 从 34.67 掉到 30.00。这正是全文的核心论点的消融证据:收益来自"校准过的"自我指导,不是把稠密信号调得更强。指导越猛,假阳性越多,符号门控能修正方向但修不了强度带来的噪声。
多样性:不止一个解题模板
准确率高如果只是把一个成功模板磨尖,那意义有限。作者用 GPT-5.5 当 judge,抽取 AIME24 每条正确轨迹的数学表示和工具、按核心策略聚类,算 Simpson 多样性 \(D_{\text{Simpson}} = 1 - \sum_k p_k^2\)(两条随机正确轨迹属于不同策略的概率)。
结果:FlowBalance 0.2194,GRPO 0.1017,RLSD 0.1456。翻倍还多。
案例研究很能说明这种多样性是"数学表示"层面的,不是措辞差异。AIME24 第 23 题(等腰四面体内切球),GRPO 走的是标准的 Cayley–Menger 行列式路线;FlowBalance 的轨迹则注意到 \(41=4^2+5^2\)、\(80=4^2+8^2\)、\(89=5^2+8^2\),把四面体嵌进一个 \(4\times5\times8\) 的隐藏长方体,用标量三重积直接出体积。两条路用的是完全不同的数学对象。
当然,要泼点冷水:这是单 checkpoint、单 seed、LLM 评判的诊断,不是多种子人类研究。作者自己也在 limitations 里承认了。作为定性证据够用,作为分布级保证还差得远。
可靠性-强度图谱:什么时候该信自我指导

图 6:合成可靠性扫描。横轴是自我指导的可靠性 \(q\)(合成插值参数),纵轴是指导强度 \(\beta_G/\tau\)。左图是相对纯奖励整形的已验证成功质量增益——可靠性低于约 0.4 进入"对抗区"(蓝色,指导起反作用),高于 0.4 进入"有用区"(红色);中图是成功模态间的 Simpson 多样性,白线是纯奖励水平;右图是离参考策略的 reverse KL 代价。核心信息:只有当自我指导足够可靠时才值得加大强度,这和 \(\beta_G\) 消融的结论互为印证。
这个合成诊断把"什么时候该信稠密指导"画成了一张二维地图,挺实用的工程参考。不过注意作者自己标注了:可靠性参数是合成插值,不是经验校准估计——别把它当成实际训练里的调参曲线。
🤔 我的判断
这篇论文最值钱的地方:把"特权自指导"这个 2026 年上半年的热门方向(OPSD、RLSD、β-OPSD 一大家子)里最核心的隐患——自我确认——用一个符号函数干净利落地处理了,而且给到了精确的概率比修正刻画(命题 4)。另一个漂亮处是它把策略更新的对象从"局部优化信号"换成了"显式归一化的分布",跟 FlowRL 的对照实验把贡献归因锁得很死。
它的真实定位:工程整合 + 目标分布层面的理论刻画,不是底层突破。Trajectory balance 是 GFlowNet/FlowRL 的,特权自指导是 OPSD/RLSD 的,符号门控是新的但谈不上复杂。它的价值在于这三者拼起来之后权责分明、各有理论保证,且实验对照设计得干净(同 backbone 内全共享配置、五种子、和 FlowRL 的同族对照)。
几个让我皱眉的地方:
- rollout 组大小、最大响应长度这些关键训练配置在 Table 5 里标的是 "pending release"——都挂 arXiv 了还没填,复现的人要等代码。这点不太厚道。
- AIME24@16 的 80.00 ± 0.00(4B FlowBalance)和 86.67 ± 0.00(8B FlowRL)这种零方差,说明 Pass@16 在这个规模上已经快饱和,头部几名的差距有一部分被天花板压缩了。
- 多样性诊断是单 seed 的 LLM 评判,且 judge 是 GPT-5.5——用强模型当裁判去区分"策略"和"措辞",本身就有循环论证的风险。
- 所有理论都是目标分布层面的性质,不覆盖优化动力学。GRPO 在 180 步后雪崩而 FlowBalance 稳如老狗这个现象很有说服力,但它归因于"分布更新更保守"还是"能量构造更稳",论文没有进一步拆开。
工程启发:如果你正在做 reasoning RL 并且想引入特权自指导,这篇论文给了两条可以直接拿走的原则——一是稠密信号的方向必须由可验证结果定(别无条件蒸馏),二是稠密信号应该进"能量/分布"而不是进"独立 imitation loss"。哪怕不实现完整的 trajectory balance,光是"优势符号门控 + 响应级增益"这两条也可以嫁接到现有 GRPO 管线里试试。
遗留的更大问题:FlowBalance 刻意把任务分布固定,只做"经验→策略"的内环。但真正的自进化系统还需要外环去生成和筛选新任务(论文提到 R-Few 这类 Challenger–Solver 系统)。内环的分布更新配上外环的课程演化,会不会互相放大漂移?这是下一步值得盯的方向。
觉得有启发的话,欢迎点赞、在看、转发。跟进最新AI前沿,关注我