Flow of Reasoning:学习生成多条正确推理路径
Flow of Reasoning(FoR)研究的不是只找到一条解,而是学习一个可以反复生成不同正确推理路径的策略。它用 GFlowNet 的平衡约束训练 LLM,同时结合回放、局部搜索与奖励塑形;BlocksWorld 实验显示明显收益,但“多次采样成功率”“单次速度”和“创造性”是不同指标,不能合并成模型已经拥有普遍创造力的结论。
六个关键结论
- 问题:同一规划问题可能有多条合法路径,最大化奖励或模仿单条示范容易忽略其他路径。
- 机制:把状态和动作组织成有向无环图,用轨迹平衡与组内 log-variance 目标匹配终态奖励。
- 证据:六步 BlocksWorld 多次采样准确率为 78.44%,SFT+nucleus 为 42.08%,RAP 为 69.70%;o1-mini 为 93.93%,不能称为所有方法中准确率最高。
- 实践:提高有效探索需要回放和局部重建,仅更换损失并不足以覆盖稀有成功路径。
- 代价:训练和评估依赖状态转移、奖励与路径去重;搜索的收益不能免费归入语言模型本身。
- 开放问题:收益来自平衡目标,还是局部搜索和额外奖励?如何在同预算下分离?
一张图里,路径和终态不是同一个对象
先把“解题”与“搜索解题路线”拆开。常见 CoT 提示让模型一次写出一条路线;Tree of Thoughts 之类方法在推理时显式展开多个分支,可能更可靠,却要为每一道新题重复搜索。FoR 想把部分搜索经验写入策略参数,让多样的正确路径能够直接由模型采样,而不必每次重新构造同样庞大的搜索过程。
这与 SFT 的差别不只是数据少。若每题只有一条示范,最大似然会提高那条路径的概率,却没有规定其他合法路径应得到多少质量;普通结果奖励又只要求成功,不直接要求表示多个路径。GFlowNet 提供了一个更明确的约束:流量必须在图上守恒,终态得到与奖励成比例的总流量。但“路径多样性”还取决于图如何表示以及后向策略如何分配到达同一终态的路径。
轨迹 \(\tau=(s_0\to\cdots\to s_n)\) 由前向策略 \(P_F\) 生成,不同路径可能到达同一个状态。因此 GFlowNet 的标准目标是终态边缘概率 \(P(s_n)\propto R(s_n)\),不是不管有多少入路径都给每条路径相同概率。
后向策略 \(P_B\) 分配到达某个状态的流量来源。轨迹平衡要求:
\[Z(s_0,g)\prod_tP_F(s_t\mid s_{t-1},g)=R(s_n)\prod_tP_B(s_{t-1}\mid s_t,g).\]
\(g\) 是任务目标,\(Z\) 是初始总流量。论文采用父节点上的均匀后向策略;若把完整历史作为状态形成一棵树,每个节点只有一个父节点,\(P_B=1\)。如果真正合并相同环境状态形成 DAG,则不能随意丢掉后向项,否则路径数量会改变终态概率。
两条路到达同一结果,为什么需要后向项?
独立构造一张小图:终态 A 可由两条不同路径到达,终态 B 只有一条,两个终态奖励都为 1。希望终态边缘概率 A:B=1:1。若把三条路径直接同等加权,A 得到 2/3、B 得到 1/3,路径数量凭空改变了终态分布。
在这个简单图上,为 A 的两条到达路径分别指定后向概率 1/2,而 B 的唯一后向路径为 1,TB 会令两条 A 路径各有质量 \(1/(2Z)\),B 路径有 \(1/Z\)。归一化得到 \(Z=2\),A 的两条路径各 1/4,B 路径 1/2,终态总质量正好一致。
如果改用完整动作历史作为状态,不再合并相同环境终态,那么三条完成历史成为三个不同结果,均匀奖励对应的目标也变成路径均匀。两种表示都可以合理,但回答的是不同问题。读 FoR、GFlowVLM 和 E2S 时,必须先识别“我们给奖励的对象究竟是环境结果、动作序列,还是完整文本”,再比较多样性。
为什么让隐式归一化值一致?
定义 \(\Phi(\tau)=\log R(s_n)+\sum_t\log P_B-\sum_t\log P_F\)。满足平衡时所有同条件轨迹都给出同一个 \(\log Z\)。于是论文最小化:
这个 log 形式要求参与计算的奖励与路径概率严格为正。零奖励轨迹不能直接代入 \(\log R\);若实现采用正下界或奖励塑形,必须按处理后的奖励理解目标。若不满足这些条件,原式并不是一个有限的训练损失。
\[\mathcal L_V=\mathbb E_\tau[(\Phi(\tau)-\mathbb E_\tau\Phi)^2].\]
它省去了单独学习条件归一化网络。但只在被访问的轨迹上方差很小,不等于整个空间已经正确:如果某些高奖励路径一直没被采到,训练没有检查过它们。理想结论要求足够覆盖、可表达的策略和全局优化;现实中探索策略因此不是可有可无的补丁。
探索与奖励不是中性的配套
训练混合当前策略、温度变体、随机动作、优先回放与局部搜索。局部搜索从 batch 中高奖励轨迹撤回若干步,以随机合法动作重建后缀,再保留更高奖励候选。这是一种贪心数据增强,不是具有精确目标平稳分布的 Metropolis–Hastings 采样。
BlocksWorld 奖励除成功终态外,还加上 LLM 动作置信度的变换 \(-1/\log P(a_t\mid s_{t-1},g)\)。这是奖励塑形,会偏向模型认为合理的动作;它可能帮助探索,也可能强化先验偏见。末态符号若汇总完整历史,这些路径相关信息可以进入目标;若不汇总,必须明确为何称作只依赖终态的奖励。
训练循环里,搜索和学习如何互相帮助?
可以将论文流程读成三个步骤。先从当前策略及探索来源收集若干路径,调用环境或状态转移器判断每一步及终态;再将较有价值的路径加入回放,并从高奖励路径保留前半段、重建后半段;最后用这些路径的前向概率、后向概率与奖励计算平衡损失,更新语言模型。
局部重建的作用是减少从根节点重新摸索的成本:已接近目标的前缀可以复用,后缀尝试负责探索邻近路线。但是贪心选择高奖励路径也可能让训练反复围绕少数区域。回放提高样本利用率,随机或温度探索帮助发现新区域,方差目标则校正被访问路线的相对流量。缺少其中任何一环,可能都不是同一个实际算法。
这也是消融为什么重要。去掉局部搜索后的下降,不能仅解读为“训练效果差了”,而要回到前面的机制:成功路径是不是更少被访问,还是同样成功路径下的损失优化变差?若只记录最终准确率,无法区分探索数据变差与梯度信号变差。
实验怎样检验这套训练循环?
主实验使用 Llama-3-8B;每种步数各取前 15 个问题训练,其余测试。六步评估每题采样 40 条,准确率定义为至少一条正确。下表保留六步主表的全部方法,括号为原表可用的三次运行标准差;不是置信区间。速度为生成一条解的平均秒数,不是解决整题或完成训练的总时间。
| 方法 | 准确率(%) | Diversity | Creativity(%) | 单解秒数 |
|---|---|---|---|---|
| CoT 1-shot | 15.82 (2.08) | 1.05 | 0.00 | 3.57 |
| CoT 5-shot | 29.63 (1.72) | 1.02 | 0.00 | 3.68 |
| CoT 15-shot | 19.53 (1.26) | 1.03 | 0.00 | 5.32 |
| GPT-4o CoT | 67.67 | 1.06 | 0.79 | 3.92 |
| ToT DFS | 8.08 | — | — | 48.91 |
| ToT DFS 多运行 | 31.31 | 1.06 | 1.58 | 44.41 |
| ToT BFS | 5.05 | — | — | 398.74 |
| RAP | 69.70 | — | — | 466.09 |
| o1-mini | 93.93 | 1.05 | 2.38 | 10.38 |
| o1-preview | 78.79 | — | — | 36.61 |
| SFT 温度 1.0 | 34.68 (2.52) | 1.04 | 4.76 | 4.05 |
| SFT 温度 0.5 | 29.63 (1.90) | 1.02 | 0.79 | 4.07 |
| SFT 温度 0.1 | 17.51 (1.26) | 1.00 | 0.00 | 4.08 |
| SFT + diverse beam | 18.85 (1.25) | 1.00 | 0.00 | 15.71 |
| SFT + nucleus | 42.08 (1.71) | 1.12 | 0.00 | 4.21 |
| SFT + typical | 37.71 (2.38) | 1.08 | 0.00 | 3.65 |
| SFT + PPO | 24.58 (1.72) | 1.08 | 3.17 | 4.03 |
| SFT + GFN-CoT | 40.73 (1.25) | 1.05 | 0.00 | 4.08 |
| FoR | 78.44 (4.54) | 1.33 | 9.52 | 13.98 |
FoR 比同基座 SFT 变体强,但 13.98 秒并不等于 CoT 的约 4 秒。相对重型搜索更快,也不等于相对直接生成无成本。闭源模型参数、数据和服务环境不同,不能作为平衡目标的等算力消融。
多样性与消融要读清口径
Diversity 只在至少找到一条正确解的题上,统计不同正确轨迹的平均数量;它会随成功题目的选择而变。Creativity 衡量某方法找到而其他参评方法没找到的成功路径比例,它依赖对照方法集合,不是人类意义上的创造力,也不是新知识的直接测量。
六步准确率移除局部搜索为 53.90,移除增强奖励为 47.10,移除回放为 72.38,移除随机探索为 73.39。按表格直接相减,局部搜索对应 24.54 个百分点下降;不能照搬正文将其写成 31.3 个百分点。它也说明收益有相当部分来自探索与奖励组合,不宜全部归于 log-variance loss。
延伸:有多条路,不等于遇到障碍还能换路
以下是延伸分析。多样路径真正有用的一种场景,是其中一条因环境限制失效后,模型仍能找到另一条。但当前测试中得到几个不同正确序列,不一定意味着模型具备这种适应性:它们可能只是互换无关动作顺序,仍共享同一个关键前提。
可将测试改成“删去一个常用动作、改变某个物体可达性、要求避免一个中间状态”,观察重新分配概率和成功率。若模式覆盖只在原奖励下成立,环境一变就全部失败,那么模型学的是表面路径集合,而不是稳健的规划选择。这个实验比让评审模型给多样性打分更接近实际价值。
还有一个问题是摊销是否泛化。重复训练题上的搜索变快,可能来自记忆;未见初始布局、未见目标组合和更长规划上的直接采样,才能检验搜索知识是否可迁移。训练成本应按多少后续题目分摊,环境调用也应一起计算。
与 E2S 的共同思想是学习可复用生成过程,但用途不同:FoR 的策略直接解决规划问题,E2S 的采样器为另一个学生准备训练数据。一个衡量部署路径质量,一个还要衡量数据教给学生后产生的无提示泛化。两种“生成更好”的结论不能不经下游验证直接互换。
最有用的边界检验
为 PPO、SFT 和 FoR 提供相同局部搜索、回放和奖励,然后匹配总环境调用与 GPU 时间;同时在更长规划、新目标组合和可靠环境转移下评估。逐题报告单次正确率、覆盖率与正确路径数量,能分清更广探索和更强直接生成。训练中若由 LLM 模拟转移,应另用真实环境验证,排除模型自洽但实际不可执行的路径。
结论
FoR 展示了“学习一个能产生多解的策略”的可行性,其重要前提是有效探索和可检查的环境结构。与 E2S 对读时,需区分环境状态的 DAG 和完整文本历史的树,也需区分终态奖励分布与学生概率加权的正确轨迹分布。
参考资料
Flow of Reasoning: Efficient Divergent Reasoning with Generative Flow Networks:v6 方法、BlocksWorld 全表、指标定义、局部搜索与消融附录。
Contact
There may be some errors present. If you find any, please feel free to contact me at wangqiyao25@mails.ucas.ac.cn. I would appreciate it!