大型语言模型 (LLM) 在文本生成领域展现出卓越的能力,然而当需要 引用上下文内容 以支撑其生成内容时,现有方法仍面临挑战。 传统方法在引导 LLM 准确、可靠地对上下文内容进行引用时,容易产生 幻觉,即生成与上下文不符或缺乏上下文依据的引用,从而降低了生成回复的可信度和实用性。 为了解决这一关键问题,SelfCite 提出了一种新颖的自监督方法,旨在通过 自监督奖励机制,直接 提升 LLM 对上下文内容的引用质量,使其能够生成更准确、更可靠的句子级别引用,最终提升基于上下文的生成任务的整体性能。 SelfCite 的核心思想是利用 上下文消融 技术,通过模型自身评估引用质量,无需人工标注即可实现有效的引用优化。

SelfCite: 通过自监督奖励提升LLM对上下文内容的引用质量_人工智能

问题形式化

考虑采用自回归语言模型 (LM) 来生成针对特定查询的回复,并给定相关的上下文信息。具体而言,对于给定的语言模型 pLM,令 pLM(ti | t1, . . . , ti−1) 表示其基于前序 token 序列 t1 , . . . , ti−1 的下一个 token ti 的输出分布。设 C 表示相关信息的上下文,该上下文被划分为 |C| 个句子:c1, c2, . . . , c|C|。每个句子 cj 都预先附加了唯一的标识符(例如,句子索引 j),作为模型在生成引用时引用特定句子的方式。上下文 C 之后是查询 Q,即针对模型提出的问题或指令。最终从语言模型 pLM 中采样生成回复 R。

在 SelfCite 方法中,回复 R 中的每个陈述 ri 后都跟随一个引用序列 ei,该序列由上下文 C 中句子的标识符组成。因此完整的回复序列 R 形式化为 {r1,e1,r2,e2,…,rS,eS},其中 S 是生成的陈述总数。引用 ei 旨在指向支持陈述 ri 生成的上下文句子。形式上,对于每个回复陈述 ri,模型输出一个引用序列 ei = {e1i ,e2i ,…,emi },其中每个 eji ∈ {1,2,…,|C|} 对应于上下文 C 中的特定句子编号,共引用 m 个句子。值得注意的是,引用序列可以为空。由陈述 ri 及其后的引用 ei 组成的完整回复 R 从语言模型 pLM 中采样得到,过程如下:

SelfCite: 通过自监督奖励提升LLM对上下文内容的引用质量_大语言模型_02

优化语言模型的最终目标是确保引用序列 ei 能够准确地反映上下文中的证据,从而有效支持陈述 ri 的生成。

基于上下文消融的自监督奖励机制

引用序列 ei 的质量评估,是通过衡量当引用的句子从上下文中移除或在上下文中被隔离时,语言模型生成陈述 ri 的概率变化来实现的。所有被引用的上下文句子集合表示为 Ei。为了量化引用质量,论文定义了两个关键指标:必要性得分和充分性得分,并将二者结合以形成最终的奖励信号:

必要性得分 (Probability Drop):该指标量化了当所有被引用的句子 Ei 从上下文中移除时,生成陈述 ri 的概率降低程度。公式如下:

SelfCite: 通过自监督奖励提升LLM对上下文内容的引用质量_人工智能_03

充分性得分 (Probability Hold):与必要性得分相反,充分性得分衡量了仅保留被引用的句子时,生成陈述 ri 的概率是否仍然维持在较高水平。这有效地检验了引文对于支持回复陈述的充分性。公式如下:

SelfCite: 通过自监督奖励提升LLM对上下文内容的引用质量_大语言模型_04

最终奖励:为了全面评估生成引用的必要性和充分性,论文将必要性得分和充分性得分相加,公式如下,其中公式中的相反项相互抵消,从而综合反映引用的质量:

SelfCite: 通过自监督奖励提升LLM对上下文内容的引用质量_深度学习_05

该组合奖励旨在衡量引用对于生成回复 ri 是否同时具备必要性和充分性。

Best-of-N 采样策略

SelfCite: 通过自监督奖励提升LLM对上下文内容的引用质量_深度学习_06

为了有效利用通过上下文消融计算得到的自监督奖励,论文采用了 Best-of-N 采样策略。该策略首先生成完整的回复,并定位回复中引用标签

<cite>…</cite>

的生成位置。然后在每个引用标签内部,采样 N 个候选引用序列,并选择能够最大化组合奖励指标的引用集合。

在获得最优引用集合 {e∗1,…,e∗S} 后,原始生成的引用序列 e 将被替换为回复陈述 r 的最优引用集 e∗,同时保持回复陈述 {r1,…,rS} 的内容不变。此过程将针对回复 R 中的每个陈述重复进行,最终获得经过引用改进的输出 R∗ = {r1,e∗1,…,rS,e∗S}。

偏好优化方法

给定文档和查询,可以提示语言模型 (LM) 生成包含引用的回复 R = {r1,e1,…,rS,eS}。通过进一步应用 Best-of-N 采样策略,可以得到陈述内容相同但引用质量更优的新回复 R∗ = {r1,e∗1,…,rS,e∗S}。这些偏好数据可以应用于直接偏好优化 (DPO) 算法中,以根据原始输出和改进输出之间的偏好性对模型进行对齐优化。

与传统的监督微调 (SFT) 相比,DPO 通常需要消耗更多的内存资源,这是由于 DPO 方法需要一个参考模型。此外,使用偏好数据对进行优化时,每个 GPU 的最小批次大小被限制为 2,这限制了可使用的最大上下文长度。为了解决这些挑战,可以采用 SimPO 算法,它是 DPO 的一种变体,主要特点是不需要参考模型。SimPO 的使用可以释放更多的内存,从而支持更长上下文的微调。

通过上述自监督对齐过程,模型在无需人工标注或标准答案的情况下,学习自主生成更精确且上下文关联性更强的引用,提升了模型引用的质量和可靠性。

实验设置与结果分析

在 LongCite-45K SFT 数据集上完成微调的 Llama-3.1–8B 模型,即 LongCite-8B 模型,被选为 Best-of-N 采样和偏好优化实验的初始模型。实验中采用了与 LongCite 项目相同的文本分割策略:使用 NLTK (Bird, 2006) 工具包和中文标点符号将每个文档分割成独立的句子。每个句子都预先添加了

<C{i}>

格式的唯一标识符。这些标识符作为引用索引,使得模型能够在生成陈述后立即引用相关的上下文内容,引用的格式设定为

<statement> {content …} <cite>[i1 − i2][i3 − i4]…</cite></statement>

。这种格式允许模型在有限的 token 数量内有效地引用单个句子(例如 i1 = i2)或连续的句子范围(例如 i1 < i2)。

SelfCite 方法在 LongBench-Cite 基准评测数据集上进行了全面的评估。评估的基线方法包括直接提示大型语言模型(如 GPT-4、Claude 和 Llama)、贡献性上下文归因模型 (ContextCite) 以及经过微调的模型 (LongCite)。评估指标涵盖了引用召回率、精确率、F1 分数、平均引用长度和答案正确性等多个维度。

SelfCite: 通过自监督奖励提升LLM对上下文内容的引用质量_人工智能_07

结果表明,应用 Best-of-N 策略的 SelfCite 方法能够持续提升引用召回率和精确率,相较于基线 LongCite 模型,实现了更高的 F1 分数,证明了 Best-of-N 采样的有效性。

SimPO 训练过程有效吸收了 Best-of-N 策略的优势,在推理阶段无需 Best-of-N 采样即可获得相近的性能提升,简化了推理流程。将 SimPO 与 Best-of-N 策略相结合,F1 分数得到进一步提升,在所有评测数据集上均取得了最优结果,暗示了该方法仍有进一步优化的潜力。

SelfCite 方法在性能上超越了专有模型和 LongCite 模型,同时生成了更短的引用,表明 SelfCite 在保证引用质量的同时,也提高了引用的效率。并且显著优于 ContextCite 模型,这可能是由于 SelfCite 通过对 LLM 生成的候选引用进行重排序,实现了更高效和精确的引用质量评估。

SelfCite 方法的性能结果与商业级的 Claude Citations API 接近,显示了 SelfCite 在实际应用中的潜力。实验结果还表明,即使从完全自监督的 SFT 模型出发,应用 SimPO 对齐方法也能够显著提升引用质量,这验证了在缺乏监督数据的情况下,该对齐方法的有效性。

SelfCite: 通过自监督奖励提升LLM对上下文内容的引用质量_人工智能_08

SimPO 微调过程对答案的正确性没有产生显著影响,答案正确性与未进行引用信息训练的基线模型基本持平,表明 SelfCite 在提升引用质量的同时,没有损害模型的原始问答能力。使用 ContextCite SFT 数据进行训练,答案正确性出现轻微下降,这可能是由于 SFT 阶段缺乏指令遵循数据所致。然而,后续的 SimPO 步骤在提升引用质量的同时,并未对答案正确性造成进一步的负面影响。

作者:Ritvik Rastogi