跳转至

Think&Cite: Improving Attributed Text Generation with Self-Guided Tree Search and Progress Reward Modeling

会议: ACL 2025
arXiv: 2412.14860
代码: https://github.com/nusnlp/Think-Cite
领域: 文本生成
关键词: 归因文本生成, 蒙特卡洛树搜索, 自反思, 引用生成, 进度奖励建模

一句话总结

将归因文本生成(带引用的文本生成)建模为多步推理问题,提出自引导蒙特卡洛树搜索(SG-MCTS)结合进度奖励建模(PRM),通过多路径搜索+中间状态反思+生成/归因双维度进度奖励,在 ALCE 基准三个数据集上显著超越所有基线。

研究背景与动机

  1. 领域现状:归因文本生成要求 LLM 在回答问题时为每句话提供引用来源。现有方法主要分两类:直接提示 LLM 生成带引用的文本(prompt-based),或在标注数据上微调 LLM(fine-tuning-based)。
  2. 现有痛点:(a) 现有方法采用自回归"快思考"(System 1),一旦中间某句出错(错误陈述或错误引用),后续生成会沿错误路径继续;(b) 微调方法依赖大量标注引用数据,标注成本很高;(c) 长文本生成中缺乏显式规划,导致不支持的陈述和不准确引用频繁出现。
  3. 核心矛盾:归因文本生成本质上需要"慢思考"(System 2)——每句话都需要仔细选择证据并验证,但自回归生成无法回退纠错。
  4. 本文要解决什么? 如何在归因文本生成中实现多路径探索和中间纠错。
  5. 切入角度:借鉴复杂推理中的树搜索思想——既然归因文本生成可以按句子分步,每步涉及"想-检索-写-引用",那自然可以建模为 MDP 并用 MCTS 搜索最优路径。
  6. 核心idea一句话:用自反思增强的 MCTS 搜索多条生成路径,用进度奖励(生成质量+引用质量)评估每步进展。

方法详解

整体框架

给定问题 \(\bm{x}\) 和语料库 \(\mathcal{D}\),模型需生成带引用的多句回答 \(\bm{y}=\langle y_1,...,y_T \rangle\)。框架包含三个核心组件:(1) 语言智能体执行迭代的 Think-Verbalize-Cite 流程;(2) SG-MCTS 在多条生成路径上搜索;(3) Progress Reward Modeling 提供生成和归因双维度的进度评估信号。

关键设计

  1. 迭代 Think-Verbalize-Cite 智能体:
  2. 做什么:逐句生成带引用的回答
  3. 核心思路:对第 \(t\) 句,智能体先 Think(构思下句蓝图作为检索查询 \(q_t\))→ Search(检索 top-K 段落 \(\mathcal{D}_t\))→ Verbalize(基于检索结果生成句子 \(y_t\))→ Cite(为句子添加引用 \(\mathcal{C}_t\)
  4. 设计动机:与传统RAG使用静态参考库不同,每步动态检索可适应内容焦点的转移

  5. 自引导蒙特卡洛树搜索(SG-MCTS):

  6. 做什么:在多条生成路径上搜索最优归因文本
  7. 核心思路:MCTS 树中每个节点 \(s_t = [q_t, \mathcal{D}_t, y_t, \mathcal{C}_t]\) 表示一步生成,四步循环:
    • Selection: UCT 算法选择最有前途的节点 \(UCT(s_t) = V(s_t) + w\sqrt{\frac{\ln N(p)}{N(s_t)}}\)
    • Reflection-Guided Expansion: 先生成初始查询 \(\hat{q}_{t+1}\),然后 LLM 自反思检查查询和检索结果的质量 \(u = \mathcal{M}_\theta(\hat{q}_{t+1}, \hat{\mathcal{D}}_{t+1}, \bm{x})\),基于反思结果改进查询,再检索+生成+引用
    • Evaluation: 用进度奖励模型评估新节点
    • Backpropagation: 奖励沿路径回传更新所有祖先节点的值函数
  8. 设计动机:不同于仅反思最终结果的方法,在中间状态反思可以实时纠正错误查询,避免沿错误路径展开整棵子树。每个节点展开 3 个子节点,最大迭代 30 次。

  9. 进度奖励建模(Progress Reward Modeling):

  10. 做什么:从生成质量和归因质量两个维度评估树搜索的进度
  11. 核心思路:
    • 生成进度奖励 \(R_g\):利用 DPO 对齐模型的 token 级 log-ratio 作为隐式奖励。将句子级 MDP 下的累积 log-ratio \(R_g(\bm{y}_{1:t+1}) = \sum_{k=0}^{t} w_k \log \frac{\pi^*(y_{k+1}|\bm{x}, \bm{y}_{1:k})}{\pi_{\text{ref}}(y_{k+1}|\bm{x}, \bm{y}_{1:k})}\) 作为生成质量的度量
    • 归因进度奖励 \(R_a\):用 NLI 模型计算引用召回率(引用是否能蕴含生成句子)和引用精确率(每个引用是否必要),取 F1 作为归因质量度量
    • 总奖励 \(R(s_{t+1}) = R_g + R_a\)
  12. 设计动机:仅评估单步或最终结果不够可靠,从根到当前状态的"进度"评估更全面。双维度确保生成和引用两方面都被考虑。

损失函数 / 训练策略

  • 无需训练——完全是推理时方法。使用现有 DPO 模型(LLaMA-3-8B-SFR-Iterative-DPO-R)计算生成奖励,NLI 模型(T5-XXL-TRUE-NLI-Mixture)计算归因奖励
  • 策略模型可用 LLaMA-3.1-8B-Instruct 或 GPT-4o

实验关键数据

主实验

数据集 模型 正确性(Recall) 引用召回 引用精确
ASQA Vanilla RAG (ChatGPT) 40.4 73.6 72.5
ASQA VTG - 86.7 -
ASQA Think&Cite (GPT-4o) 50.1 89.5 87.1
QAMPARI Vanilla RAG (ChatGPT) 20.8 20.5 20.9
QAMPARI Think&Cite (GPT-4o) 45.2 50.6 52.8
ELI5 Vanilla RAG (ChatGPT) 12.0 - -
ELI5 Think&Cite (GPT-4o) 25.9 85.6 80.2

消融实验(ASQA, GPT-4o)

配置 EM Recall 引用召回 引用精确 说明
Think&Cite 50.1 89.5 87.1 完整模型
w/o SG-MCTS 42.1 78.2 75.0 去掉树搜索,掉 8.0pp
w/o Reflection 46.5 83.6 80.3 用普通MCTS
w/o GP Reward 47.1 86.2 84.9 去掉生成进度奖励
w/o AP Reward 46.7 81.3 80.4 去掉归因进度奖励

关键发现

  • SG-MCTS 是最关键组件——去掉后正确性降 8pp,引用质量降 11pp+
  • 反思步骤在 10 步时效果最佳,15-20 步反而"过度思考"引入噪声
  • 增加 MCTS 迭代次数持续提升性能,但边际收益递减
  • 反思机制比增加 MCTS 迭代更高效——纠正检索查询比多探索一条路径更有价值
  • 归因进度奖励(AP Reward)比生成进度奖励(GP Reward)对引用质量影响更大

亮点与洞察

  • 将归因文本生成建模为多步推理+搜索是核心洞察——System 2 思维模式天然适合需要验证的任务。这个范式可迁移到其他需要"先查证再说"的场景(事实核查、学术写作)。
  • 中间状态反思优于终态反思——在树搜索中,越早发现并纠正错误路径,节省的搜索代价越大。这是对 Reflexion 等方法的改进。
  • 用 DPO 模型作为免费的进度奖励器很巧妙——不需要训练专门的奖励模型,直接利用已有 DPO 对齐模型的 log-ratio 作为隐式奖励信号。
  • 纯推理时方法,不需要微调目标 LLM,即插即用,通用性强。

局限性 / 可改进方向

  • MCTS 搜索计算成本高——30 次迭代×3 子节点扩展×反思步骤,LLM 调用次数是普通生成的数十倍
  • 仅使用 top-100 段落作为候选语料库,检索范围受限
  • 树搜索深度限制为 6 层,限制了回答的句子数量
  • 反思步骤使用相同的策略 LLM,可能存在"盲点"(模型认为对的查询实际上有问题)
  • 可考虑结合微调:用 MCTS 搜索结果作为训练数据蒸馏到更小的模型中

相关工作与启发

  • vs VTG: VTG 用验证器指导但仍是自回归生成,无法回退;Think&Cite 的树搜索可以探索多条路径并选最优
  • vs Inline Search: 同样支持动态检索,但 Inline Search 不反思查询质量,导致检索不准
  • vs APO/FG-Reward: 微调方法依赖标注数据且仍是自回归;Think&Cite 不需要训练且通过搜索避免错误累积
  • 该方法是 inference-time scaling 在文本生成领域的典型应用,呼应了"更多推理计算=更好结果"的趋势

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 首次将 MCTS 应用于归因文本生成,SG-MCTS 和进度奖励建模都是有意义的创新
  • 实验充分度: ⭐⭐⭐⭐ 三个数据集+消融+参数分析,但缺少计算成本对比和更多开源模型实验
  • 写作质量: ⭐⭐⭐⭐⭐ 问题建模清晰,公式推导严谨,动机链完整
  • 价值: ⭐⭐⭐⭐⭐ 为LLM可靠生成提供了强力方案,inference-time scaling的重要应用