大型语言模型 (LLM) 在文本生成领域展现出卓越的能力,然而当需要 引用上下文内容 以支撑其生成内容时,现有方法仍面临挑战。 传统方法在引导 LLM 准确、可靠地对上下文内容进行引用时,容易产生 幻觉,即生成与上下文不符或缺乏上下文依据的引用,从而降低了生成回复的可信度和实用性。 为了解决这一关键问题,SelfCite 提出了一种新颖的自监督方法,旨在通过 自监督奖励机制,直接 提升 LLM 对上下文内容的引用质量,使其能够生成更准确、更可靠的句子级别引用,最终提升基于上下文的生成任务的整体性能。 SelfCite 的核心思想是利用 上下文消融 技术,通过模型自身评估引用质量,无需人工标注即可实现有效的引用优化。
问题形式化
考虑采用自回归语言模型 (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 中采样得到,过程如下:
优化语言模型的最终目标是确保引用序列 ei 能够准确地反映上下文中的证据,从而有效支持陈述 ri 的生成。
基于上下文消融的自监督奖励机制
引用序列 ei 的质量评估,是通过衡量当引用的句子从上下文中移除或在上下文中被隔离时,语言模型生成陈述 ri 的概率变化来实现的。所有被引用的上下文句子集合表示为 Ei。为了量化引用质量,论文定义了两个关键指标:必要性得分和充分性得分,并将二者结合以形成最终的奖励信号:
必要性得分 (Probability Drop):该指标量化了当所有被引用的句子 Ei 从上下文中移除时,生成陈述 ri 的概率降低程度。公式如下:
充分性得分 (Probability Hold):与必要性得分相反,充分性得分衡量了仅保留被引用的句子时,生成陈述 ri 的概率是否仍然维持在较高水平。这有效地检验了引文对于支持回复陈述的充分性。公式如下:
最终奖励:为了全面评估生成引用的必要性和充分性,论文将必要性得分和充分性得分相加,公式如下,其中公式中的相反项相互抵消,从而综合反映引用的质量:
该组合奖励旨在衡量引用对于生成回复 ri 是否同时具备必要性和充分性。
Best-of-N 采样策略
为了有效利用通过上下文消融计算得到的自监督奖励,论文采用了 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 分数、平均引用长度和答案正确性等多个维度。
结果表明,应用 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 对齐方法也能够显著提升引用质量,这验证了在缺乏监督数据的情况下,该对齐方法的有效性。
SimPO 微调过程对答案的正确性没有产生显著影响,答案正确性与未进行引用信息训练的基线模型基本持平,表明 SelfCite 在提升引用质量的同时,没有损害模型的原始问答能力。使用 ContextCite SFT 数据进行训练,答案正确性出现轻微下降,这可能是由于 SFT 阶段缺乏指令遵循数据所致。然而,后续的 SimPO 步骤在提升引用质量的同时,并未对答案正确性造成进一步的负面影响。
论文
https://avoid.overfit.cn/post/8e5ac05efeef4cc4b63a0f7b78ba744f
作者:Ritvik Rastogi
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。