来源:市场资讯
(来源:酷酷的群)
论文标题:Reasoning with Language Model is Planning with World Model
论文链接:https://aclanthology.org/2023.emnlp-main.507
论文代码:https://github.com/Ber666/llm-reasoners
论文来源:EMNLP 2023
论文分类:Planning
一、概述
Chain-of-Thought (CoT) 证明了大语言模型可以通过生成中间推理步骤来提升复杂任务表现,但 CoT 本质上仍然是一种自回归生成:模型从左到右写出一条 reasoning trace,一旦早期步骤走错,后续推理往往只能沿着错误轨道继续展开。对于人类来说,许多推理并不是这样完成的。我们会在脑中模拟世界状态,尝试不同动作,预估未来结果,并在发现某条路径不合适时回退到更早的选择。
这篇论文的核心问题就是:能否把语言模型推理重新表述为一个规划问题,让 LLM 在推理时拥有类似 world model 的状态模拟能力,并通过搜索算法主动探索更优推理路径?
作者提出了 **Reasoning via Planning (RAP)**。RAP 的关键思想并不是训练一个新的模型,而是在推理阶段重新组织 LLM 的使用方式:同一个 LLM 一方面作为 reasoning agent,用来提出下一步 action;另一方面作为 world model,用来预测执行 action 后的 next state。随后 RAP 使用 Monte Carlo Tree Search (MCTS) 在由 state 和 action 构成的 reasoning tree 上进行搜索,并借助 reward 对中间步骤进行评估。
相比 CoT 只生成一串动作式的文本步骤,RAP 生成的是交替出现的状态和动作:
这里的 是当前推理状态, 是下一步推理动作。这个变化看似简单,但它把“写出推理过程”变成了“在状态空间中规划路径”,使模型可以显式地判断当前状态、预测未来、评估局部步骤,并在搜索中回溯。
二、将推理建模为规划
RAP 首先把不同任务统一成一个 MDP 风格的推理过程。给定当前状态 ,LLM 作为 agent 根据 prompt 采样候选动作 ;选定动作后,LLM 又作为 world model,根据另一个 prompt 预测下一状态 。这就形成了一个可搜索的 reasoning tree。
不同任务中的 state 和 action 可以有不同含义:
在 Blocksworld 中,state 是积木当前摆放状态,action 是 move block 的操作。
在 GSM8K 数学题 中,state 是已经得到的中间变量值,action 是提出一个新的 sub-question。
在 PrOntoQA 逻辑推理 中,state 是当前关注的 fact,action 是选择一条逻辑规则做一步推导。
这个建模方式的价值在于,模型不再只是“继续写下一句”,而是在每一步都知道自己处于哪个状态。以 Blocksworld 为例,如果当前手里已经拿着一个 block,某些动作就是非法的;如果某一步导致目标更远,搜索过程也可以回到之前的节点尝试其他动作。对于数学题,state 中保存已经求出的变量,可以避免反复或无关的子问题。对于逻辑推理,state 可以帮助模型识别当前证明是否进入了死路。
需要注意的是,RAP 中的 world model 仍然是语言模型本身,它并没有真正访问外部环境。它是在文本空间中模拟“如果执行这个 action,世界状态会如何变化”。因此 RAP 更像是让 LLM 在自己的内部语言世界中做 model-based planning。
三、Reward 设计
有了 state 和 action 之后,还需要一个 reward 来评价某个 reasoning step 是否值得继续探索。论文没有把 reward 设计成固定形式,而是提出了几类可组合的奖励信号:
Action likelihood:LLM 在当前状态下生成某个 action 的 log probability。它反映了模型作为 agent 的直觉偏好,可以作为探索先验。
State confidence:对于需要 world model 回答的问题,例如数学题中的 sub-question,作者多次采样 next state,并用最高频答案的比例作为置信度。越一致的状态预测通常越可靠。
Self-evaluation:让 LLM 自己判断“这个推理步骤是否正确”,并使用输出 “Yes” 的概率作为 reward。这一类 reward 利用了 LLM 发现错误有时比避免错误更容易的特点。
Task-specific heuristics:针对具体任务加入启发式信号。例如在 Blocksworld 中,可以比较当前积木状态和目标状态有多少条件已经满足。
RAP 的一个重要设计点是:reward 不只评价最终答案,而是评价中间状态和动作。这使得搜索算法可以在最终答案生成之前就获得反馈,避免把计算预算浪费在明显不好的分支上。
四、用 MCTS 搜索推理树
RAP 在推理树上使用 Monte Carlo Tree Search。每个节点表示一个 state,每条边表示一个 action 以及对应的 state transition。MCTS 的作用是平衡 exploration 和 exploitation:既要继续开发当前看起来高价值的路径,也要给访问较少但可能更优的分支机会。
每次 MCTS 迭代包含四个阶段:
Selection:从根节点开始,根据 UCT 选择要继续探索的子节点:
第一项 倾向于选择已知高价值动作,第二项倾向于选择访问较少的动作。 控制探索和利用的权衡。
Expansion:到达叶子节点后,LLM 作为 agent 生成 个候选动作,再由 world model 预测每个动作对应的 next state,并计算 reward。这样叶子节点被扩展成多个子节点。
Simulation:从当前节点继续 rollout,估计未来可能得到的 reward。论文中为了效率,会用较轻量的 reward 选择局部较好的 action 继续模拟。
Back-propagation:当 rollout 到终止状态后,把路径上的 reward 反向传播,更新每个 state-action pair 的 值。
当达到预设迭代次数后,RAP 从构建出的树中选择最终 reasoning trace。论文中提到几种选择方式,例如从根节点开始反复选择最高 的 action,或者选择某次迭代中 reward 最高的路径。实践中,后者通常效果更好。
对于只需要最终答案的任务,例如 GSM8K,RAP 还可以使用 RAP-Aggregation:MCTS 过程中会得到多条推理路径和多个答案,最后对这些答案进行聚合,从而进一步提升稳定性。对于 Blocksworld 和逻辑证明这类需要完整轨迹的任务,则不使用 aggregation。
五、三个任务中的方法设计
1. Plan Generation:Blocksworld
Blocksworld 要求模型生成一串动作,把积木从初始状态移动到目标状态。RAP 中:
state 是当前积木状态的自然语言描述;
action 由 STACK、UNSTACK、PUT、PICKUP 等操作和对象组成;
world model 预测执行动作后哪些条件新增、哪些条件失效;
reward 包含 action likelihood 以及当前状态满足目标条件的程度。
这个任务非常适合展示 RAP 和 CoT 的差异。CoT 会直接写出一串动作,但不显式维护状态,因此容易生成非法动作,或者先完成一个局部目标却阻塞另一个目标。RAP 即使早期探索也犯错,仍可以通过搜索回退到其他分支。
2. Math Reasoning:GSM8K
数学题中的关键不是直接生成完整解法,而是逐步确定中间变量。RAP 将 action 设计成一个 sub-question,例如“Julie 今天读了多少页?”,world model 回答这个子问题并把答案加入 state。reward 由两部分几何平均得到:LLM 对 sub-question 是否 helpful 的自评,以及 world model 对答案的一致性置信度。
这与 Least-to-Most prompting 很接近,但差异在于 Least-to-Most 通常一次性生成所有子问题,而 RAP 每一步都基于当前 state 决定下一步问什么,因此更像动态规划而不是静态分解。
3. Logical Reasoning:PrOntoQA
逻辑推理任务要求模型判断 hypothesis 是否为真,并给出 proof。RAP 将 state 定义为当前关注的 fact,action 定义为从规则集中选择一条 rule,world model 执行一跳推理得到新的 fact。reward 主要依赖 self-evaluation,用来判断这一步推理是否正确。
这个设置的亮点是:如果某条证明链走到死路,MCTS 可以把低 reward 信号反传到更早步骤,从而促使模型探索其他规则选择,而不是像普通 CoT 一样沿着错误链条继续写下去。
六、实验结论与洞察
论文在 plan generation、math reasoning 和 logical reasoning 上验证 RAP。这里更值得关注的是实验传达出的 insight,而不是每个 setting 的细节。
Blocksworld 上,RAP 显著改善长程规划。 在 2/4/6-step 的测试中,LLaMA-33B 的 CoT 成功率分别只有 0.17、0.02、0.00;RAP(20) 提升到 1.00、0.88、0.42。更有意思的是,RAP with LLaMA-33B 在该设置下还超过了 CoT with GPT-4,论文报告了 33% 的相对提升。这说明对于规划问题,推理时的搜索结构有时比单纯换更强模型更关键。
GSM8K 上,RAP 比简单多采样更有效。 CoT 得到 29.4% 准确率,CoT + Self-Consistency(10) 为 46.8%;RAP(10) 达到 48.6%,加上 RAP-Aggregation 后达到 51.6%。这说明 MCTS 并不只是“多生成几条路径”,而是在 reward 指导下更有效地使用采样预算。
PrOntoQA 上,RAP 同时提高最终判断和 proof 质量。 CoT 的 prediction accuracy 和 proof accuracy 分别为 87.8% 和 64.8%,RAP 提升到 94.2% 和 78.8%。其中 proof accuracy 的提升尤其重要,因为它说明 RAP 不只是碰巧猜对答案,而是更容易形成正确的推理链。
作者还在更完整的 Blocksworld 设置中使用 Llama-2 70B 进行分析。结果显示,随着任务所需步骤数增加,CoT 成功率急剧下降,而 RAP 仍能保持明显优势。这进一步支持了论文的核心观点:当问题需要长程决策和回溯时,把推理组织成 planning 比单条自回归生成更合适。
关于 reward 的消融也很有启发。多种 reward 组合通常更好,但不同 reward 的价值取决于任务性质。例如 action likelihood 对 plan generation 很关键,因为它能帮助模型在合法动作空间中做选择;但它对数学推理帮助有限,数学任务更依赖 state transition confidence 和 self-evaluation。
七、如何理解 RAP 的贡献
RAP 最重要的贡献不是某个具体 prompt,也不是简单把 MCTS 套到文本生成上,而是提出了一种清晰的推理范式:
语言模型推理可以被看作在语言化 world model 上进行 planning。
在这个范式里,LLM 不再只是 token generator,而是同时扮演三个角色:
作为 agent,提出下一步 action;
作为 world model,预测 action 后的 state;
作为 evaluator,给中间步骤提供 reward 信号。
这种设计把 LLM reasoning、model-based planning 和 search-based inference 联系到了一起。它也解释了为什么 RAP 在 Blocksworld 这类任务上特别有效:这类任务真正困难的地方不是“知道某个动作怎么说”,而是维护状态、预估动作后果、发现错误路径并回退。
当然,RAP 也有明显局限。首先,它增加了推理时计算成本,MCTS 迭代、状态预测和 reward 计算都需要额外调用 LLM。其次,world model 仍然来自 LLM 自身,如果模型对环境转移预测错误,搜索也会被错误状态误导。第三,reward 设计仍然带有启发式成分,不同任务需要不同的 reward 组合。论文也指出,当前工作主要使用 frozen LLM,未来可以探索如何微调 LLM 使其更适合作为 world model,或者将 RAP 与外部工具结合来处理更复杂的真实任务。
八、总结
这篇论文提供了一个非常重要的视角:对于复杂推理任务,我们不一定只需要更长的 CoT 或更多的 self-consistency samples,而是需要更结构化的推理过程。RAP 通过显式建模 state、action、world model 和 reward,让 LLM 可以在推理时进行搜索、评估和回溯。
如果用一句话概括 RAP 的思想,那就是:不要让语言模型只沿着一条思维链往前写,而要让它在一个可模拟、可评价、可回退的推理世界中规划。
热门跟贴