AI个人学习
和实操指南
豆包Marscode

Think&Cite:使用树搜索技术提升文本引用准确性

摘要

尽管大型语言模型(LLMs)表现出色,但它们容易产生幻觉并生成事实不准确的信息。这一挑战促使人们努力进行属性文本生成,促使LLMs生成包含支持证据的内容。在本文中,我们提出了一种名为Think&Cite的新框架,并将属性文本生成表述为一个集成了搜索的多步骤推理问题。具体来说,我们提出了自我引导的蒙特卡洛树搜索(SG-MCTS),它利用LLMs的自我反思能力来反思MCTS的中间状态,从而指导树的扩展过程。为了提供可靠和全面的反馈,我们引入了进展奖励模型(PRM),从生成和属性两个角度衡量从根节点到当前状态的树搜索进展。我们在三个数据集上进行了广泛的实验,结果表明我们的方法显著优于基线方法。

 

1 引言

大型语言模型(LLMs)(Zhao et al., 2023)在许多自然语言处理任务中表现出色。尽管取得了这些进展,LLMs经常生成包含幻觉和不准确信息的响应(Ji et al., 2023; Huang et al., 2023; Zhang et al., 2023)。这个问题损害了它们的可靠性,更重要的是,损害了用户对LLMs的信任。为了提高LLMs的可靠性,提出了一种新的生成范式,即属性文本生成,使得LLMs生成包含文中引用以提供证据的响应(Gao et al., 2023b),如图1所示。


-1

图1:给定一个问题,模型通过引用语料库中的段落作为支持证据来生成文本。

 

大多数现有工作(Slobodkin et al., 2024; Sun et al., 2024; Fierro et al., 2024)只是简单地提示LLMs在生成文本时提供引用。此外,其他工作(Li et al., 2024; Huang et al., 2024)尝试在包含带注释引用的文本的大量监督训练数据上微调LLMs。尽管有这些最新的努力,但开发能够学习生成忠实内容并具有可靠引用的LLMs仍然是一个开放的挑战。首先,现有方法采用自回归生成范式,可以被描述为“系统1”,一种快速且本能的思维模式,但不够准确(Kahneman, 2011)。因此,任何中间生成错误(例如,虚假陈述或错误引用)都可能导致最终响应不正确。受复杂推理研究(Zhang et al., 2024; Wang et al., 2024)的启发,我们旨在开发“系统2”模式的模型,用于引用外部证据,需要更深入、审慎和逻辑性的思考(Kahneman, 2011)。其次,属性文本生成通常涉及长文本生成。Liu et al.(2023)发现,现有LLMs的长篇响应通常包含无支持的陈述和不准确的引用。我们认为,以往工作中缺乏明确的生成规划阻碍了此类系统的进展。

在本文中,我们提出了Think&Cite,这是一个将搜索算法集成到属性文本生成中的新框架。我们将生成任务概念化为一个多步骤推理问题,其中模型在每一步通过迭代的思考-表达-引用范式生成一个句子。为了增强这个生成过程,我们提出了自我引导的蒙特卡洛树搜索(SG-MCTS),它扩展了经典的MCTS,并进行了两项创新。首先,我们的方法利用LLMs的自我反思能力实时反思MCTS的中间状态,从而指导树的扩展过程,并主动避免不充分的推理路径。这与之前主要反思最终结果或完整轨迹的工作不同。其次,我们提出了进展奖励模型(PRM),从生成和属性两个角度衡量从根节点到当前状态的树搜索进展。与仅评估单个步骤相比,基于进展的奖励模型可以提供可靠和全面的评估,以指导MCTS搜索过程。

据我们所知,我们是第一个将树搜索算法应用于属性文本生成任务的人。我们在三个数据集上进行了广泛的实验,以验证我们方法的有效性。结果表明,我们的模型显著优于之前的提示和微调基线。

 

2 相关工作

带归属的文本生成。 由于大型语言模型 (LLM) 具有出色的语言生成能力,它们已被用于带归属的文本生成 (Gao et al., 2023b; Huang et al., 2024; Sun et al., 2024; Li et al., 2024; Slobodkin et al., 2024)。LLM 用于带归属文本生成的工作可以大致分为两类。第一种类型涉及使用偏好学习 (Li et al., 2024) 和强化学习 (Huang et al., 2024) 对 LLM 进行微调,这教会 LLM 生成支持性和相关的引文以获得更高的奖励。然而,这种方法依赖于人工来整理带有注释文本内引文的高质量数据集。另一类工作直接指示 LLM 通过归因-然后-生成规划 (Slobodkin et al., 2024) 或使用外部验证器来指导生成 (Sun et al., 2024) 来生成带归属的文本。然而,这种方法以自回归的方式生成文本和引文,其中任何不准确的中间生成都容易导致后续过程中的失败。相比之下,我们的方法提出了带有渐进奖励的自引导树搜索来考虑多条路径。

带树搜索的 LLM。 将树搜索算法与 LLM 集成引起了极大的关注。最近的研究调查了使用树搜索方法来增强 LLM 在推理过程中的性能 (Zhang et al., 2024; Wang et al., 2024; Ye and Ng, 2024)。Sutton (2019) 强调了学习和搜索中扩展的优越性,优于其他方法。经验证据进一步表明,扩展推理时间计算可以显著提高 LLM 性能,而无需额外的训练 (Brown et al., 2024; Snell et al., 2024)。A 搜索 (Hart et al., 1968) 和蒙特卡洛树搜索 (MCTS) (Browne et al., 2012) 被用作规划技术来提高 LLM 在解决复杂推理问题方面的性能。这些搜索算法已广泛应用于强化学习 (Silver et al., 2017) 和许多实际应用中,例如 AlphaGo (Silver et al., 2016)。我们的工作是第一个应用树搜索算法(即蒙特卡洛树搜索)来解决带归属文本生成任务的工作。此外,我们提出了自引导 MCTS,它依赖于 LLM 的反思能力来改进树扩展。

3 问题表述

我们提出的框架旨在让预训练的 LLM Mθ 生成带有文本内引文的回复,这些引文作为输出内容的证据,称为带归属的文本生成 (Slobodkin et al., 2024; Gao et al., 2023a)。

形式上,给定输入问题 x 和文本段落语料库 D,模型 Mθ 需要生成一个回复 y = (y 1 , ..., y T ),该回复由 T 个句子组成,其中每个句子 yt 引用来自 D 的段落列表,表示为 Ct = {C t,1 , ..., C t,m }。由于合并更多引文的边际效益 (Gao et al., 2023b),在本文中,我们允许每个句子最多三个引文 (m ≤ 3),并且这些引文用方括号括起来,例如 [1][2]。我们还主要关注知识密集型场景,其中问题涉及世界知识,并且 LLM 中的大多数句子都包含多个事实,并且需要支持引文作为证据。遵循先前的工作 (Gao et al., 2023b; Piktus et al., 2021),我们将语料库 D 划分为 100 字的段落进行检索,这使得人类更容易验证,并且不会引入太多不相关的信息。

通过迭代的“思考-表达-引用”范式。为了增强这个生成过程,我们提出了 自引导蒙特卡洛树搜索 (SG-MCTS) ,它通过两个创新扩展了经典的 MCTS。首先,我们的方法利用 LLM 的自我反思能力来实时反思 MCTS 的中间状态,从而指导树扩展过程并主动避免不充分的推理路径。这与先前主要反思最终结果或完整轨迹的工作不同。其次,我们提出了进展奖励模型 (PRM) 来衡量树搜索从根节点到当前状态的进展,从两个方面,即生成进展和归属进展。与仅评估单个步骤相比,基于进展的奖励模型可以提供可靠和全面的评估来指导 MCTS 搜索过程。

据我们所知,我们是第一个将树搜索算法应用于带归属的文本生成任务的人。我们在三个数据集上进行了广泛的实验,以验证我们方法的有效性。结果表明,我们的模型显著优于以前的基于提示和微调的基线。

-2

图2:我们提出的Think&Cite方法的整体框架。

 

4 方法

提出的THINK&CITE框架建立在一个用于属性文本生成的语 language agent 上,使用自我引导的蒙特卡洛树搜索(SG-MCTS)来规划和搜索多个生成路径,并使用进展奖励模型(PRM)来提供对搜索过程的渐进细粒度信号。图2描述了我们方法的整体架构。

4.1 属性文本生成代理

受先前工作 (Yao et al., 2022; Chen et al., 2023) 的启发,我们开发了一个语言代理来解决带归属的文本生成任务,该代理执行迭代的 think-verbalize-cite 过程,利用 LLM 的推理和规划能力。

迭代的 Think-Verbalize-Cite。 为了生成第 t 个句子,代理首先主动 思考 下一个生成的蓝图(例如,内容主题或摘要),作为搜索查询 q t 。然后,代理使用搜索工具通过 Search 操作(即“Search: {query}”)从给定语料库 D 中检索最相关的 top-K 段落 D t 。根据检索到的段落,代理通过 Generate 操作(即“Generate: {sentence}”)引用来自 Dt 的段落列表 Ct 来 表达 一个句子 y t 。历史查询、检索到的段落、生成的句子和引文(表示为 H = {(q i , D i , y i , C i )}^t^ i=1 )将作为下一步思考和表达的上下文。如果代理认为任务已解决,它可以输出“End”来终止此过程。通过这种方式,代理可以深思熟虑地计划和检索不同的信息,这可以动态地考虑内容焦点的转变,因为生成过程在进行,这与先前依赖于静态参考语料库的工作 (Slobodkin et al., 2024; Huang et al., 2024; Li et al., 2024; Fierro et al., 2024) 不同。此外,这种范式类似于最近关于迭代检索增强生成的工作 (Jiang et al., 2023; Shao et al., 2023),但不同之处在于我们的工作要求模型为下一代预测内容蓝图,以检索相关信息并仔细选择适当的参考,以便在生成的文本中的适当位置合并它们。

4.2 自我引导的蒙特卡洛树搜索

我们将带归属的文本生成表述为一个多步推理问题,其中模型对文本的归属进行深思熟虑。蒙特卡洛树搜索已成为许多决策任务的有效搜索算法 (Silver et al., 2016; Ye et al., 2021)。在这项工作中,我们提出了自引导蒙特卡洛树搜索 (SG-MCTS),它利用 LLM 的自我反思能力来指导 MCTS 的搜索过程。先前的工作 (Shinn et al., 2023; Zhou et al., 2024; Yu et al., 2024) 通常反思最终结果或完整轨迹,这是低效和稀疏的。相比之下,我们的方法旨在批评和反思 MCTS 的中间状态,以实时指导树扩展并主动忽略错误的生成路径。

通常,MCTS 基于策略模型 πθ 构建搜索树 T,这通常是 LLM M θ 。在这棵树中,节点 st = [q t , D t , y t , C t ] 表示第 t 个树级别的状态,包括搜索查询 q t 、检索到的段落 D t 、表达的句子 yt 和引用的段落 C t 。根节点 s0 = [x] 表示输入问题。在每次迭代中,SG-MCTS 遵循四个步骤,即选择、反思引导的扩展、评估和反向传播。

选择阶段. 选择阶段旨在从搜索树 T 中识别一个节点 st 以进行后续扩展。应用于树的上限置信界 (UCT) 算法 (Kocsis and Szepesvári, 2006) 被用来选择具有最高 UCT 分数的最佳节点:

UCT(s t ) = V(s t ) + w √(ln N(p) / N(s t )) (1)

其中,V(s t ) 是在评估阶段估计的 st 的值函数(预期奖励),N(s t ) 是 st 的访问计数,w 是控制探索的权重,p 是 st 的父节点。

反思引导的扩展阶段. 在扩展阶段,通过生成多个后继节点 s t+1 ,通过 think-verbalize-cite 过程来扩展选定的节点 s t 。Think 步骤首先生成一个蓝图作为搜索查询 q̂ t+1 ,它提取下一个句子的主题和内容,这将用于检索段落 D̂ t+1 。然而,策略模型在扩展阶段可能会出错,例如,生成非特定或不相关的查询,这可能会阻碍后续的证据检索,并最终导致错误的句子生成。因此,我们引入了 Reflection 步骤,其中策略模型根据问题 x 和检索到的段落 D̂t+1 反思查询 q̂t+1 以识别错误:

u = M θ (q̂ t+1 , D̂ t+1 , x), (2)

其中,反思文本 u 包含关于某些方面的检索建议,例如,查询应该更专注于搜索主题。根据反思,策略模型重新制定一个新的查询 qt+1 以检索相关的段落 D t+1 :

t+1 , Dt+1 = M θ (u, q̂ t+1 , D̂ t+1 , H), (3)

其中 H 是历史轨迹。请注意,上述过程可以迭代,直到模型确定检索到的证据是支持性的,或者达到最大迭代次数。最后,Verbalize 和 Cite 步骤从 Dt+1 生成下一个句子 y t+1 ,并带有准确的引文 C t+1 :

t+1 , Ct+1 = M θ (q t+1 , D t+1 , H). (4)

新节点包括查询、检索到的语料库、生成的句子和引用的段落,表示为 st+1 = [q t+1 , D t+1 , y t+1 , C t+1 ]。与典型 MCTS 中的简单扩展相比,我们的方法可以改进有缺陷的扩展节点,以避免低质量的生成。由于 MCTS 树是逐步构建的,因此改进下一个操作的质量允许模型在广阔的搜索空间中导航更有利的路径,从而提高树的整体搜索质量。

评估阶段。 评估阶段旨在使用进展奖励模型(参见第 4.3 节)计算新扩展节点 st+1 的预期奖励 R(s t+1 )。进展评估涉及两个方面:生成和归属。生成进展奖励 Rg 衡量到目前为止生成的句子 y 1 , ..., yt+1 的文本质量。归属进展奖励 Ra 评估生成的句子 y 1 , ..., yt+1 和引用的段落 C 1 , ..., Ct+1 之间的归属一致性。最后,总奖励计算为两者的总和:R(s t+1 ) = R g + R a 。

反向传播阶段。 在反向传播阶段,新节点 st+1 的奖励 R(s t+1 ) 被传播回其父节点 s t ,更新从根节点到其父节点的路径上的每个节点 s 0 , s 1 , ..., st 的值函数:

new (s i ) = N old (s i ) + 1, 0 ≤ i ≤ t (5)
new (s i ) = (V old (s i )N old (s i ) + R(s t+1 )) / N new (s i ) (6)

其中,N old (s i ) 和 V old (s i ) 分别是节点 si 的先前访问计数和值函数。

4.3 进展奖励模型

先前的结果奖励模型 (Cobbe et al., 2021; Hosseini et al., 2024) 和过程奖励模型 (Lightman et al., 2024; Dai et al., 2024) 主要评估最终结果或中间步骤。在这项工作中,我们建议在采取下一步后,测量树搜索从根 s0 到状态 st+1 的进展。由于带归属的文本包括文本内容及其引文,我们设计了两个方面的进展奖励,生成进展奖励和归属进展奖励,以分别评估生成的文本内容的质量和引文的相关性。

4.3.1 生成进展奖励

在直接偏好优化 (DPO) (Rafailov et al., 2023) 中,标记级对数比可以解释为

最大熵强化学习 (RL) 公式下的隐式标记级奖励。因此,我们建议利用现有的 DPO 对齐模型来衡量生成下一个句子 yt+1 后生成的句子 y1:t+1 = y 1 , ..., yt+1 的质量得分 R g 。

具体来说,我们定义了一个句子级马尔可夫决策过程 (MDP),其中状态 st = (x, y 1 , ..., y t ) 表示到目前为止生成的输入和句子,初始状态 s0 = x 是输入问题。动作 at = yt+1 表示要生成的下一个句子。因此,RLHF 优化目标可以重写为句子级的最大熵 RL 问题:

atπθ(·|st)~ [∑^T^t=1 r'(s t , a t )] + βE s0x~ [H(π θ (·|s 0 ))],

其中句子级奖励函数 r' 可以计算为:

r'(s t , a t ) = { βlog π ref (a t |s t ), 如果 st+1 不是终点
{ r'(y|x) + βlog π ref (a t |s t ) 如果 s t+1 是终点.

最大熵 RL 公式推导出最优值函数 V 和 Q 函数 Q 为:

Q(s t , a t ) = r'(s t , a t ) + V(s t+1 ),
V(s t ) = log ∑a exp(Q(s t , a)), 当 t ≤ T.

因此,最优策略 π 推导为:

⇒ βlog π(a t |s t ) = Q(s t , a t ) - V(s t ),
⇒ βlog (π(a t |s t ) / π ref (a t |s t )) = V(s t+1 ) - V(s t ).

这促使我们使用 DPO 策略来推导奖励的部分和,以制定部分回复 y1:t+1 的进展奖励 R g :

∑^t^k=0 βlog (π(a k |s k ) / π ref (a k |s k )) = V(s t+1 ) - V(s 0 ),
⇒ R g (y 1:t+1 ) = ∑^t^k=0 wk log (π(y k+1 |x, y 1:k ) / π ref (y k+1 |x, y 1:k )),

其中 y1:k 表示 y 1 , ..., y k ,wk = 1 / (t+1) 是每个句子级对数似然比的权重。

4.3.2 属性进展奖励

我们使用先前工作 (Gao et al., 2023b) 中使用的两个引文指标,即引文召回率和精度,来表示归属进展奖励 R a 。

具体来说,引文召回率衡量部分回复 y1:t+1 中可以由相应引用的段落支持的句子的百分比。我们使用 NLI 模型 (Honovich et al., 2022) 来检查引用的段落是否可以推导出模型回复。对于每个句子 yi (1 ≤ i ≤ t + 1),我们将 Ci 中的引用段落连接起来作为前提,并将生成的句子 yi 作为 NLI 模型的假设。如果前提包含假设,我们将引文召回率设置为 1,否则设置为 0。引文精度评估支持相应句子的引文的百分比。我们使用上述相同的 NLI 模型来计算精度分数。对于每个引文 c i,j ,如果 (1) Ci 中的所有引文都包含生成的句子 yi 并且 (2) Ci \ {c i,j } 不包含句子 y i ,则其精度分数设置为 1。否则,精度分数设置为 0。我们计算每个引文的精度分数(0 或 1)并对所有引文进行平均。最后,我们计算 F1 分数作为归属进展奖励 R a (y 1:t+1 , C 1 , ..., C t+1 ),以提供生成的句子和引用的段落之间的平衡归属质量度量。

 

5 实验

5.1 实验设置

数据集。 为了进行评估,我们使用 ALCE 基准测试 (Gao et al., 2023b),它由三个数据集组成:(1)ASQA (Stelmakh et al., 2022),一个长篇 QA 数据集,包含需要多个答案来涵盖不同方面的歧义问题;(2)QAMPARI (Amouyal et al., 2022),一个事实 QA 数据集,其中每个问题的答案是从不同段落中提取的实体列表;(3)ELI5 (Fan et al., 2019),一个长篇 QA 数据集,包含 how/why/what 问题。对于 ASQA 和 QAMPARI,大多数问题都可以通过维基百科回答,因此我们采用 2018/12/20 维基百科快照作为语料库。对于 ELI5,由于其问题在主题上是多样化的,我们使用 Sphere (Piktus et al., 2021)(Common Crawl 的过滤版本)作为语料库。遵循 Gao et al. (2023b),我们对维基百科采用 GTR (Ni et al., 2022),对 Sphere 采用 BM25 (Robertson et al., 2009) 来检索前 100 个段落作为每个问题的语料库。有关更多详细信息,请参见附录 A。

评估指标。 我们使用原始 ALCE 基准测试中的评估指标。为了评估输出的正确性,我们使用 ASQA 的精确匹配 (EM) 召回率、QAMPARI 的 Recall-5 和 ELI5 的声明召回率来衡量输出中黄金答案(关键信息片段)的百分比。我们进一步计算 Precision 作为 QAMPARI 数据集的正确性指标,衡量生成的答案中正确的百分比。为了评估输出的引文质量,我们计算引文召回率,它衡量输出中可以从其引用的段落中推导出的句子的百分比,以及引文精度,它衡量可以帮助支持输出句子的引文的百分比。

基线。 我们将我们的方法与基于 ChatGPT 和 GPT-40 的以下基线进行比较:

Vanilla RAG 直接指示模型根据给定的前 5 个段落生成回复并进行相应的引用。我们使用带有两个演示的上下文学习 (Brown et al., 2020)。
Summary/Snippet RAG 提供段落的摘要或片段,而不是全文。模型将根据前 10 个段落摘要或片段生成带有引文的回复。
Interact 允许模型进一步访问 Summary/Snippet RAG 方法中某些段落的全文。模型可以提出一个动作“Check: Document [1] [2]”来获取相应文档的全文。
Inline Search 允许模型请求一个动作“Search: {query}”来从前 100 个段落中检索最相关的段落。此方法类似于我们的方法,它作为一个直接比较。
ReRank 随机为每个问题抽取四个回复,并根据引文召回率指标选择最佳回复。

上述基线已在原始 ALCE 基准测试中得到应用和评估,如 (Gao et al., 2023b) 中所报告的。此外,我们将我们的方法与先前关于带归属文本生成的工作进行了比较。FG-Reward (Huang et al., 2024) 建议使用细粒度奖励作为训练信号来微调 LLaMA-2-7B (Touvron et al., 2023) 以生成可归属的回复。VTG (Sun et al., 2024) 使用不断变化的记忆和两层验证器来指导生成模型(即 text-davinci-003)。APO (Li et al., 2024) 整理了一个偏好对数据集,并对 LLaMA-2-13B 应用了偏好优化,以进行带归属的文本生成。

实施细节。 我们使用 LLaMA-3.1-8B-Instruct 和 GPT-40 作为我们的策略模型来评估我们方法的性能。对于奖励模型,我们采用 DPO 模型,即 Llama-3-8B-SFR-Iterative-DPO-R¹,来计算生成进展奖励,并使用 NLI 模型,即 T5-XXL-TRUE-NLI-Mixture (Honovich et al., 2022),来计算归属进展奖励。对于每个搜索查询,我们从语料库中检索前 3 个段落作为候选参考 D t 。在 UCT 算法(等式 1)中,权重 w 设置为 0.2。对于 SG-MCTS,我们为每个父节点扩展三个子节点,并将最大树层设置为 6,将 MCTS 的最大迭代次数设置为 30。

5.2 主要结果

表1显示了我们的方法和基线在三个数据集上的结果。

首先,可以观察到,三种检索增强生成(RAG)方法表现出中等性能,尽管使用摘要或片段可以提高正确性。然而,这种改进是以引用质量为代价的,因为段落信息被高度压缩。ReRank在三个数据集中导致引用质量的持续改进(例如,vanilla RAG在ASQA中从73.6%提高到84.8%的引用召回率)。作为直接比较,Inline Search与我们的方法类似,但与其他提示基线相比表现更差。这是因为简单地请求检索查询而不考虑证据质量和相关性。

其次,通过在带有注释引用的监督训练数据上微调LLM,FG-Reward和APO在ASQA和ELI5数据集中显示出增加的引用质量,但在QAMPARI中并未提高性能。此外,VTG采用生成验证器和内存验证器来评估证据的逻辑支持,从而导致强大的引用质量(例如,ASQA中86.7%的引用召回率)。然而,微调LLMs受到监督训练数据的质量和数量的限制,其中支持证据需要大量的成本来链接到正确的来源。此外,这些方法仍然依赖于自回归生成,这是一种快速但不太准确的思维模式。因此,任何中间生成错误(例如,虚假陈述或不充分的引用)将导致最终响应出现问题。

ASQA QAMPARI ELI5
Correctness Citation Correctness Citation
EM Rec. Rec. Prec. Recall-5
ChatGPT
Vanilla RAG 40.4 73.6 72.5
w/ ReRank 40.2 84.8 81.6
Summary RAG 43.3 68.9 61.8
w/ Interact 39.1 73.4 66.5
Snippet RAG 41.4 65.3 57.4
w/Interact 41.2 64.5 57.7
Inline Search 32.4 58.3 58.2
GPT-40
Vanilla RAG 41.3 68.5 75.6
w/ ReRank 42.1 83.4 82.3
Summary RAG 46.5 70.2 67.2
w/ Interact 48.1 73.1 72.8
Snippet RAG 45.1 68.9 66.5
w/Interact 45.2 67.8 66.7
Inline Search 40.3 65.7 66.9
FG-Reward 40.1 77.8 76.3
VTG 41.5 86.7 80.0
APO 40.5 72.8 69.6
Ours (LLaMA) 45.2 82.3 80.6
Ours (GPT-40) 50.1 89.5 87.1

表1:属性文本生成在三个数据集上的评估结果。“Rec.” 和 “Prec.” 是召回率和精确率的简称。粗体和下划线字体分别表示每个数据集中的最佳和第二佳结果。

最后,我们的方法在所有三个数据集中均显著优于所有先前的方法。Think&Cite将属性文本生成任务表述为一个多步骤推理问题,并引入了一种缓慢而审慎的思考模式,以搜索最佳解决方案。通过提出自我引导的MCTS算法,Think&Cite利用LLMs的自我反思能力来指导树的扩展过程。此外,所提出的进展奖励模型可以进一步提供全面可靠的反馈,帮助模型探索更好的生成响应。

5.3 进一步分析

我们报告了使用 GPT-40 在 ASQA 上对我们的方法进行的进一步分析,因为我们在其他数据集上也有类似的发现。

消融研究。 为了验证我们提出的框架的有效性,我们对其关键设计元素进行了消融分析。我们设计了四个变体:(1)w/o SG-MCTS 删除了自引导 MCTS 并直接逐步生成答案;(2)w/o Reflection 删除了反思步骤并采用 vanilla MCTS 算法;(3)w/o GP Reward 删除了生成进展奖励 R g ;(4)w/o AP Reward 删除了归属进展奖励 R a 。我们在表 2 中显示了结果。所有变体的性能都比原始方法差,这表明每个组件的有效性。具体来说,w/o SG-MCTS 的性能显著下降,这表明将搜索算法集成到带归属的文本生成中是非常有益的。使用 vanilla MCTS (w/o Reflection) 会导致更差的引文质量,这是由于在没有反思检索到的结果的情况下引入了错误的参考。同样,w/o GP Reward 和 w/o AP Reward 都会导致更差的性能,这表明生成和引文质量检查都是至关重要的。

Method Correctness Citation
EM Rec. Rec. Prec.
Think&Cite 50.1 89.5
w/oSG-MCTS 42.1 78.2
w/oReflection 46.5 83.6
w/oGPReward 47.1 86.2
w/oAPReward 46.7 81.3

自我反思与模拟。 每次模拟中,SG-MCTS 遵循四个关键步骤,并采用自我反思以通过批评和改进错误查询来提高扩展中中间状态的质量。为了检查反思的有效性,我们比较了增加最大模拟次数和增加最大反思操作次数之间的性能。我们首先将最大模拟次数更改为 {10, 20, 30, 40},并将最大反思次数固定为 10。同样,我们还将最大反思次数更改为 {5, 10, 15, 20},并将最大模拟次数固定为 30。我们基于引文召回率和精度在图 3 中显示了 F1 分数。该图显示,增加模拟次数和反思次数都可以提高带归属的文本生成的性能。这是意料之中的,因为更广泛的探索提高了找到正确生成的概率。然而,更多的反思步骤会使模型“过度思考”,引入噪声并导致性能下降。SG-MCTS 在没有反思的情况下优于 vanilla MCTS,因为父节点中可能存在不正确的检索,导致扩展子节点的推理过程沿着错误的路径继续。反思步骤改进了由于查询不足而导致的错误检索,从而使后续探索能够更准确地进行。

-3

图3:ASQA上关于模拟次数(左侧)或反思步骤次数(右侧)的结果。

 

超参数分析。 有两个超参数对正确性和引文质量至关重要:每个查询 qt 检索到的段落数 |D t | 和树搜索中扩展子节点 st+1 的数量。如图 4 所示,可以通过增加检索到的段落数来初步提高引文质量。然而,进一步增加超过某个阈值会导致更差的性能,这主要是因为合并更多的段落会引入噪声,从而对生成内容的可靠性产生负面影响。另一方面,我们观察到增加扩展节点的数量会带来一致的改进,尽管改进后来趋于稳定。由于扩展更多的节点会导致更高的计算成本,因此我们为每个父节点抽取三个子节点。

-4

图4:ASQA上关于段落数量(左侧)或扩展节点数量(右侧)的结果。

 

5.4 案例研究

为了便于理解我们方法的整个工作流程,我们在ASQA中进行了一个定性分析。我们在附录C中展示了一个例子。在整个搜索过程中,LLM将输入问题视为根节点,并逐步扩展搜索树以达到终止状态。如图所示,模型首先生成查询(即“附近Gunnison自然景点位置”)以检索段落。由于段落中没有包含回答问题所需的有效信息,模型反思并提出一个新的查询(即“Gunnison自然景点景点”)进行检索。基于检索到的段落,模型生成句子并引用第二和第三段落(即“[2][3]”)。通过遵循多步骤生成过程,模型可以深入思考主题并输出可靠的内容与准确的引用。

 

6 结论

在这项工作中,我们提出了Think&Cite,这是一个集成了树搜索的属性文本生成新框架。Think&Cite建立在迭代的思考-表达-引用生成范式之上。为了增强生成过程,我们提出了自我引导的蒙特卡洛树搜索,它利用LLMs的自我反思能力来批评和修正MCTS的中间状态以指导树扩展。此外,我们提出了进展奖励模型来衡量树搜索的进展并提供可靠反馈。三个数据集上的广泛实验表明,我们提出的Think&Cite优于传统的提示和微调方法。

 

局限性

我们的实验范围受到基于树的搜索方法的巨大计算成本限制。未来的工作可以探索更广泛的属性文本生成数据集。在我们的模型中,蒙特卡洛树搜索被用于自我引导的生成。未来的工作可以探索额外的搜索算法,以评估我们提出的框架的通用性和稳健性。

 

附录

A 数据集

我们在ALCE基准上评估我们的方法,该基准包括三个数据集。具体来说,ASQA数据集(Stelmakh et al., 2022)包含948个问题,答案可以从维基百科中找到;QAMPARI数据集(Amouyal et al., 2022)包含1000个基于维基百科的问题;ELI5数据集(Fan et al., 2019)包括1000个问题,答案可以从Sphere(Piktus et al., 2021)中找到。这三个数据集的详细信息见表3。

数据集 语料库(#段落) 问题类型
ASQA 维基百科(2100万) 事实性
QAMPARI 维基百科(2100万) 事实性(列表)
ELI5 Sphere(8.99亿) 为什么/如何/什么

B 提示

我们指导LLM以少样本学习的方式进行自我引导的树搜索以生成属性文本。ASQA、QAMPARI和ELI5数据集的上下文学习提示分别见表4、表5和表6。在这些提示中,我们首先为LLM定义了迭代的思考-表达-引用范式中的四个操作。然后,我们构建了四个上下文示例,这些示例被选为与ALCE基准(Gao et al., 2023b)一致。

C 案例研究

-1

我们在图5中展示了一个来自ASQA的示例。

您的目标是仅使用提供的搜索结果为给定问题编写一个准确、有趣且简洁的答案,并正确引用它们。使用公正和新闻的语气。始终为任何事实声明引用。您可以使用四种操作:

  1. """搜索:关键词""",它请求一些关键词,根据搜索和生成历史检索最相关的文档。
  2. """反思:想法""",如果未获得有效文档以回答问题,则对搜索结果进行反思。
  3. """输出:句子""",它基于检索到的文档输出长篇答案。在答案中,通过使用[1][2][3]正确引用。至少引用一篇文档,每句话最多引用三篇文档。如果多个文档支持该句子,则仅引用最小充分子集的文档。
  4. """结束""",它结束问答任务。

以下是一些示例:

问题 :谁创造了最远距离的射门记录?
搜索 :最远距离射门记录
文档[1] (标题:大卫·阿克斯)通过将一个63码的射门踢到横杆上,创下了最远距离射门的记录。
文档[2] (标题:德克·博尔戈尼奥内)德克·博尔戈尼奥内,德克·罗纳德·博尔戈尼奥内(1968年1月9日出生)是一位前国家...
文档[3] (标题:拉塞尔·埃尔克塞本)对抗科罗拉多大学。尽管比赛中早期遇到麻烦,包括...
反思 :搜索结果没有提供有效信息来回答问题。最好搜索NFL中最远的射门记录。
搜索 :NFL中最远距离射门记录
文档[4] (标题:射门)向自己的底线方向。在NFL历史上最远的射门是64码,这一记录由...
文档[5] (标题:射门范围)两端的端区)只有66码。斯卡恰(Scaccia),在室内足球比赛中,尝试了一个64码的...
文档[6] (标题:射门范围)这一成就并不是官方记录。上述所有射门都是成功的...
输出 :NFL比赛中,最远的射门记录是马特·普拉特(Matt Prater)创造的64码[4]。
搜索 :任何级别比赛中,最远的射门记录,大学
文档[7] (标题:射门)向自己的底线方向。在NFL历史上最远的射门是64码,这一记录由...
文档[8] (标题:射门范围)35到40码线(在横风中更近)通常会尝试更具风险的...
文档[9] (标题:射门范围)NFL,并且自1989年以来已被NCAA禁止)是68码,由法布里齐奥·斯卡恰(Fabrizio Scaccia)保持...
输出 :但任何级别比赛中,最远的射门记录是69码,由大学踢球手奥维·约翰逊(Ove Johansson)在1976年阿比林基督教大学对阵东德克萨斯州立大学的足球比赛中踢出[8]。结束

您的目标是仅使用提供的搜索结果为给定问题编写一个准确、有趣且简洁的答案,并正确引用它们。使用公正和新闻的语气。始终为任何事实声明引用。您可以使用四种操作:

  1. """搜索:关键词""",它请求一些关键词,根据搜索和生成历史检索最相关的文档。
  2. """反思:想法""",如果未获得有效文档以回答问题,则对搜索结果进行反思。
  3. """输出:句子""",它基于检索到的文档输出长篇答案。在答案中,通过使用[1][2][3]正确引用。至少引用一篇文档,每句话最多引用三篇文档。如果多个文档支持该句子,则仅引用最小充分子集的文档。
  4. """结束""",它结束问答任务。

以下是一些示例:

问题 :内维尔·舒特(Nevil Shute)写了哪些书?
搜索 :内维尔·舒特主题社会障碍
文档[1] (标题:内维尔·舒特)早期阶段。我的祝贺。"他的作家声望导致信息部派他去...
文档[2] (标题:内维尔·舒特)主题是跨越社会障碍,如阶级("孤独之路"和"着陆点")、种族...
文档[3] (标题:内维尔·舒特)飞机建造公司,Airspeed有限公司。他的小说越来越受欢迎,但他变得更加著名...
输出 :超越黑色树桩[2],孤独之路[2],棋盘[2],潮湿中[2],工具室受托人[2],弯道周围[2]。
搜索 :内维尔·舒特简单可读的风格
文档[4] (内维尔·舒特)飞机建造公司,Airspeed有限公司。他的小说越来越受欢迎,但他变得更加著名...
文档[5] (棋盘)缅甸人民",这两者都是书中故事的核心。舒特担心这本书的销售...
文档[6] (潮湿中)他在短篇故事"好奇的贡多尔共和国"中使用了多次投票的想法...
反思 :搜索结果没有提供任何有用的信息来回答问题。最好搜索1950年代的内维尔·舒特的书。
搜索 :1950年代的内维尔·舒特的书
文档[7] (内维尔·舒特)早期阶段。我的祝贺。"他的作家声望导致信息部派他去...
文档[8] (内维尔·舒特)主题是跨越社会障碍,如阶级("孤独之路"和"着陆点")、种族("棋盘")...
文档[9] (内维尔·舒特)飞机建造公司,Airspeed有限公司。他的小说越来越受欢迎,但他变得更加著名...
输出 :马拉赞[7],斯蒂芬·莫里斯[7]。
结束

您的目标是仅使用提供的搜索结果为给定问题编写一个准确、有趣且简洁的答案,并正确引用它们。使用公正和新闻的语气。始终为任何事实声明引用。您可以使用四种操作:

  1. """搜索:关键词""",它请求一些关键词,根据搜索和生成历史检索最相关的文档。
  2. """反思:想法""",如果未获得有效文档以回答问题,则对搜索结果进行反思。
  3. """输出:句子""",它基于检索到的文档输出长篇答案。在答案中,通过使用[1][2][3]正确引用。至少引用一篇文档,每句话最多引用三篇文档。如果多个文档支持该句子,则仅引用最小充分子集的文档。
  4. """结束""",它结束问答任务。

以下是一些示例:

问题 :是什么导致了双相情感障碍?
搜索 :什么是双相情感障碍?
文档[1] (标题:双相情感障碍II型)在设定个人感知和行为界限方面的研究。研究表明,以下...
文档[2] (标题:双相情感障碍的生物学)位于这些区域的大脑区域被假设为双相情感障碍的机制...
文档[3] (标题:双相情感障碍的生物学)无论极性如何。炎症在双相情感障碍中一直有报道...
反思 :搜索结果没有提供有效信息来回答问题。最好搜索双相情感障碍的症状。
搜索 :双相情感障碍的症状是什么?它们持续多久?
文档[4] (标题:双相情感障碍 | 医学词典中的定义)双相情感障碍 | 双相情感障碍的定义...
文档[5] (标题:躁狂和双相情感障碍)可以从抑郁到“非常快乐”都在一天中,甚至在几天内,这...
文档[6] (标题:对于个人 — Adam Schwartz)对于个人2014 Adam Schwartz 信息是广泛的,涵盖了...
输出 :双相情感障碍是一种情绪障碍,会导致极端的情绪波动,从兴奋到抑郁[4]。情绪波动的范围可能从几天到几个月不等[5]。
搜索 :是什么导致了双相情感障碍?
文档[7] (标题:双相情感障碍)双相情感障碍通常是一种循环性疾病,个体表现出抑郁...
文档[8] (标题:抑郁症双相情感障碍症状2019 | 战胜抑郁症)抑郁症双相情感障碍症状2019。
文档[9] (标题:精神障碍)可能包括父母因素,包括父母拒绝,缺乏父母温暖...
输出 :我们仍然不确定导致这种疾病的确切因素,但遗传被认为是一个主要因素[7]。
结束

CDN
未经允许不得转载:首席AI分享圈 » Think&Cite:使用树搜索技术提升文本引用准确性

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们
zh_CN简体中文