基于知识一致性验证的强化学习框架:提升大模型在长文生成中的事实性
基于知识一致性验证的强化学习框架:提升大模型在长文生成中的事实性
🧾 Paper | 💻 Code | 🤗 Models
前言
自从参加工作后,博客更新就渐渐少了,日常时间实在有限,很难静下心来写长篇内容。最近几个月一直在集中精力完成一篇论文,现在终于告一段落,特地在这里和大家分享这份成果。
很高兴能以作者之一的身份,向大家介绍我们团队的最新工作——KLCF框架(Knowledge-Level Consistency Reinforcement Learning: Dual-Fact Alignment for Long-Form Factuality)。在这篇文章中,我会尽量用通俗的语言,为大家解读我们是如何通过这一新型强化学习框架来缓解大模型在长文本生成中的“幻觉”问题,让模型输出既全面覆盖已知信息,又严格忠实于事实。
值得一提的是,我们已全面开源了本文的代码与训练好的模型,诚挚欢迎各位同行试用、复现,并在此基础上进一步拓展与创新!此外,我们还系统整理了一份面向长文本事实性的文献综述与资源库,作为附录放在文末。该仓库汇集了这一方向的重要进展与主流评测基准,也期待大家的关注与共同建设!!
1. Motivation
在让大语言模型生成事实性长文本(如人物传记、事件描述)时,我们通常面临一个两难困境:
- 如果鼓励模型多说,它很容易产生“幻觉”,编造一些不在其知识范围内的内容,损害回答的事实精确度(Precision)。
- 如果限制模型少说,它又会变得过于保守,遗漏大量其实际“知道”的正确信息,损害回答的事实召回率(Recall)。
现有的方法,尤其是那些严重依赖外部工具进行实时事实核查的RL方法,往往偏向于解决第一个问题。它们通过惩罚错误来让模型“闭嘴”,但这导致了第二个问题的加剧:模型变得“不敢说”,输出内容干瘪、信息不全,知识覆盖率低。
我们认为,理想的长文本事实性对齐,其核心目标应该是最大化模型“表达的知识”与其“内在参数知识”之间的一致性。
为了更直观地理解这一点,请参考图1:
图1:传统方法通过缩小“表达知识”(Expressed Knowledge)来减少幻觉,但牺牲了覆盖率(即遗漏真实事实)。KLCF 则扩大“表达知识”与“参数知识”(Parametric Knowledge)的交集,减少遗忘知识和幻觉。
如图1所示,我们将Base模型在预训练中学到的所有知识视作其 “参数知识”,而将模型对齐后在实际生成中表达出来的内容视作 “表达知识”。
- 传统方法的策略本质上是缩小表达知识,说得少则错得少。这种方法牺牲了大量模型本可以正确回忆和表达的知识(粉红色区域中未被覆盖的部分)。
- 我们的方法KLCF则采取了截然不同的策略:我们致力于扩大粉红色与淡蓝色部分的相交区域。也就是说,我们鼓励模型尽可能多地去表达它确定知道的内容(提高Recall),同时通过内部自省机制,严格防止它的表达超越其知识边界(保证Precision)。
因此,KLCF的动机就是让模型学会 “知无不言,言必求实”——自信地表达其所知,谨慎地回避其所不知,从而在保持高事实精确度的同时,显著提升回答的丰富性和完整性。
2. KLCF框架
为了将“对齐模型的表达知识(expressed knowledge,即模型生成的内容中包含的知识)与它的参数知识(parametric knowledge,即预训练时编码的内部知识)”这一核心动机落地,我们提出了知识一致性强化学习框架(KLCF)。这是一个专为在线强化学习设计的高效训练框架,其核心在于利用双事实对齐机制产生的奖励信号来引导模型的行为。
与以往那些严重依赖在线、实时调用外部搜索引擎或大型验证器来评估每一个生成结果的方法不同,KLCF巧妙地将其主要工作量转移到了离线准备阶段。这种设计上的转变,使得我们的方法在保持高性能的同时,实现了极高的训练效率,易于扩展到大规模训练中。
整个KLCF框架的运行可以分为两个主要阶段:
- 离线数据准备:在此阶段,我们系统地探测Base模型的知识边界,构建出两个关键的离线资源——事实检查表和真实性奖励模型训练数据。
- 在线强化学习:在此阶段,我们利用第一阶段准备好的离线资源,高效地计算出知识一致性奖励,进而优化策略模型。整个过程无需任何昂贵的外部知识检索。
下图清晰地展示了KLCF(左)与先前方法(右)的工作流程对比:

图2:KLCF框架流程图。左边是我们的KLCF框架,它依赖于离线准备的事实检查表和真实性奖励模型来高效计算奖励。右边是先前的主流方法,需要在RL循环中为每一个生成响应进行耗时的在线外部知识检索与验证。
总而言之,KLCF的核心就是:通过精心设计的离线数据准备,构建出能够评估知识一致性的轻量级、无外部依赖的奖励信号,从而在高效的在线RL训练中,驱动模型的表达知识与其参数知识对齐。 接下来,我们将深入框架的两个核心阶段,详细讲解其工作原理。
2.1 离线数据准备
在KLCF框架中,离线数据准备是整个系统的基石。它的核心作用是:在我们开始任何耗时的在线强化学习之前,预先探测并利用基础模型(Base Model)自身的参数知识,构建出两个至关重要的资源:
- 事实检查表(Checklist):作为“知识地图”,用于在训练中引导模型提高事实召回率。
- 真实性奖励(Truthfulness)模型训练数据:用于训练一个轻量级的RM,以提升模型生成内容的精确度。
这个过程确保了我们的奖励信号完全源于模型内部的知识边界,从而实现了无需外部知识检索的高效训练。整个离线数据 pipeline 包含四个严谨的步骤,如下图所示:

图3:离线数据准备四阶段流程图。该流程从基础模型采样开始,经过声明提取、声明验证,最终构建出用于双事实对齐机制的两个核心资源。
Stage 1:Sampling from the Base Model
目的:主动探索并激发基础模型 π b a s e \pi_{base} πbase的知识边界,获取其关于一系列问题所能生成的原始回答。
过程:我们从一个包含多样问题的query集合 Q = { q 1 , q 2 , . . . , q N } \mathcal{Q} = \{q_1, q_2, ..., q_N\} Q={q1,q2,...,qN}出发,在少量示例的上下文的引导下,让基础模型为每个问题生成一个长形式的回答。形式化地,我们获得的reponse集合为 O = { o 1 , o 2 , . . . , o N } \mathcal{O} = \{o_1, o_2, ..., o_N\} O={o1,o2,...,oN},其中 o i ∼ π base ( ⋅ ∣ q i , C ) o_i \sim \pi_{\text{base}}(\cdot | q_i, \mathcal{C}) oi∼πbase(⋅∣qi,C)。这些回复构成了我们后续挖掘事实的“原材料”。
Stage 2:Claim Extraction
目的:将模型生成的非结构化文本,转化为一系列可被独立验证的原子事实(即claim)。
过程:我们训练了一个轻量级的claim抽取模型 f e x t r a c t f_{extract} fextract,它能够精准地从模型回答 o i o_i oi中解析出所有可验证的客观声明。对于每个回答,我们得到其claim集合:
C ( o i ) = f extract ( o i ) = { c i , 1 , c i , 2 , . . . , c i , M i } C(o_i) = f_{\text{extract}}(o_i) = \{c_{i,1}, c_{i,2}, ..., c_{i,M_i}\} C(oi)=fextract(oi)={ci,1,ci,2,...,ci,Mi}
将所有回复的claim汇集,我们得到了一个结构化的claim全集 C all = ⋃ i = 1 N C ( o i ) \mathcal{C}_{\text{all}} = \bigcup_{i=1}^{N} C(o_i) Call=⋃i=1NC(oi),为下一步的精确验证做好准备。
Stage 3: Claim Verification
目的:借助一个可靠的外部知识源(我们使用一个本地构建的Wikipedia知识库),为提取出的每一个声明打上标签。
过程:对于每个claim c ∈ C all c \in \mathcal{C}_{\text{all}} c∈Call,我们从Wikipedia知识库中检索出和该claim最相关的十篇文档 D ( c ) D(c) D(c)作为evidence。然后,使用一个强大的验证器模型(Qwen2.5-72B-Instruct) f v e r i f y f_{verify} fverify来基于evidence对claim进行验证,并给出标签:
l = f verify ( c , D ( c ) ) , l ∈ { SUPPORT , REFUTE , NOT ENOUGH INFO } l = f_{\text{verify}}(c, D(c)), \quad l \in \{\text{SUPPORT}, \text{REFUTE}, \text{NOT ENOUGH INFO}\} l=fverify(c,D(c)),l∈{SUPPORT,REFUTE,NOT ENOUGH INFO}
这一步确保了我们对模型内部知识的评估是建立在可靠事实基础上的。
Stage 4: Factual Reward Data Preparation
目的:将经过验证的claim数据,加工成可直接用于驱动在线RL训练的两个核心组件。
过程:
- 构建事实检查表 Λ ( q i ) \Lambda(q_i) Λ(qi):对于每个问题 q i q_i qi,我们将其所有被打上 SUPPORT 标签的claim聚合起来,形成一个初步的checklist。随后,通过大模型对其进行去重和重要性过滤,最终得到一个简洁、高质量、针对该问题的“标准答案”检查表。
- 准备真实性奖励模型训练数据:为了训练一个能判断claim真实性的轻量级模型,我们将 SUPPORT(正例)和 REFUTE(反例)的claim按一定比例组合成一个平衡的数据集。这个数据集将用于训练RM模型,使其能够估算一个claim为True的概率 P ( c ∣ True ) P(c \mid \text{True}) P(c∣True)。具体来说,我们从Base模型出发直接进行SFT,让SFT模型能够对输入的claim进行真假判断,输出True或者False。
2.2 知识一致性奖励
在完成了离线数据准备,拥有了事实检查表和真实性奖励模型之后,我们来到了KLCF框架最核心的部分:在线强化学习中的知识一致性奖励(KLC Rewards)的计算。KLC Rewards是整个框架的核心,帮助模型在生成长文本时既全面覆盖已知事实,又避免超出知识边界的幻觉。在KLC Rewards包括清单奖励(Checklist-Based Consistency Reward,简称 Checklist Reward)和真实性奖励(Confidence-Based Truthfulness Reward,简称 Truthfulness Reward)。二者共同构成了双事实对齐机制(Dual-Fact Alignment),从事实召回(factual recall)和事实精确(factual precision)两个维度优化模型输出,确保知识一致性。
在本文中,我们使用以下符号来表示RL过程中的一些关键概念: q i q_i qi表示query; o i o_i oi表示对应的response,其由两部分组成:思维链 T i \mathcal{T}_i Ti和最终回复 A i \mathcal{A}_i Ai。
清单奖励(Checklist Reward)
Checklist Reward评估模型回复的事实覆盖度(factual coverage)。它利用预构建的事实清单 Λ ( q i ) \Lambda(q_i) Λ(qi),通过一个prompt将清单中的每个true claim与回复 A i \mathcal{A}_i Ai进行比较,并将checklist中每个true claim分类为一致(Consistent)、矛盾(Contradictory)或缺失(Missing)。所谓一致,是指 A i \mathcal{A}_i Ai中正确包含了该事实;矛盾则是指 A i \mathcal{A}_i Ai中的信息与该事实冲突;缺失则表示 A i \mathcal{A}_i Ai中未提及该事实。这种细粒度分类允许我们定义两个关键子奖励:Fact Recall Reward和Fact Precision Reward。
-
Fact Recall Reward:衡量策略模型生成的 A i \mathcal{A}_i Ai中正确包含相关事实的比例,即一致事实数除以清单总事实数。这反映了响应的完整性(completeness):
R recall ( A i ) = N consistent ( i ) N consistent ( i ) + N contradictory ( i ) + N missing ( i ) R_{\text{recall}}(\mathcal{A}_i) = \frac{N_{\text{consistent}}(i)}{N_{\text{consistent}}(i) + N_{\text{contradictory}}(i) + N_{\text{missing}}(i)} Rrecall(Ai)=Nconsistent(i)+Ncontradictory(i)+Nmissing(i)Nconsistent(i)其中, N consistent ( i ) N_{\text{consistent}(i)} Nconsistent(i)、 N contradictory ( i ) N_{\text{contradictory}(i)} Ncontradictory(i) 和 N missing ( i ) N_{\text{missing}(i)} Nmissing(i) 分别表示被判断为一致、矛盾或缺失的清单事实数量。Fact Recall Reward衡量模型从检查表中回忆并正确表达了多少已知事实,关注的是知识的广度。
-
Fact Precision Reward:衡量模型在提及检查表相关事实时的准确性,关注的是知识的可靠性:
R precision ( A i ) = N consistent ( i ) N consistent ( i ) + N contradictory ( i ) R_{\text{precision}}(\mathcal{A}_i) = \frac{N_{\text{consistent}}(i)}{N_{\text{consistent}}(i) + N_{\text{contradictory}}(i)} Rprecision(Ai)=Nconsistent(i)+Ncontradictory(i)Nconsistent(i)
为了将二者统一成一个综合信号,我们对二者进行了加权来得到最终的Checklist Reward:
R checklist ( A i ) = 1 3 × R recall ( A i ) + 2 3 × R precision ( A i ) R_{\text{checklist}}(A_i) = \frac{1}{3} \times R_{\text{recall}}(A_i) + \frac{2}{3} \times R_{\text{precision}}(A_i) Rchecklist(Ai)=31×Rrecall(Ai)+32×Rprecision(Ai)
这个权重设计强调Precision略高于Recall,以避免过度覆盖导致的错误引入。
真实性奖励(Truthfulness Reward)
Checklist Reward虽然有效,但其监督范围仅限于预定义的检查表。为了确保模型生成的所有内容——甚至是检查表未涵盖的新表述——都真实可靠,我们引入了Truthfulness Reward。
Truthfulness Reward不依赖于任何固定的清单,而是利用离线训练好的轻量级真实性奖励模型,对 A i \mathcal{A}_i Ai中的每一个原子声明进行真实性概率评估。具体来说,首先,使用一个轻量级模型从 A i \mathcal{A}_i Ai中提取可验证的原子声明集 C ( A i ) = { c i , 1 , c i , 2 , . . . } C(A_i) = \{c_{i,1}, c_{i,2}, ... \} C(Ai)={ci,1,ci,2,...}。然后,真实性奖励模型为每个声明 c i , j c_{i,j} ci,j 估计其为真的概率 P ( c i , j ∣ T r u e ) P(c_{i,j} | True) P(ci,j∣True)。Truthfulness Reward计算为这些概率的平均值,它提供了一个对回答整体真实性的全面评估:
R truth ( A i ) = 1 ∣ C ( A i ) ∣ ∑ j = 1 ∣ C ( A i ) ∣ P ( c i , j ∣ True ) R_{\text{truth}}(A_i) = \frac{1}{|C(A_i)|} \sum_{j=1}^{|C(A_i)|} P(c_{i,j} \mid \text{True}) Rtruth(Ai)=∣C(Ai)∣1j=1∑∣C(Ai)∣P(ci,j∣True)
我们还提出一个变体奖励,以减少噪声:利用提前准备好的事实清单 Λ ( q i ) \Lambda(q_i) Λ(qi)作为高置信先验知识。我们不再评估回复中的所有声明(可能引入噪声),而是跳过已由 Λ ( q i ) \Lambda(q_i) Λ(qi)覆盖的声明,因为它们的真实性已确认。具体来说,将 Λ ( q i ) \Lambda(q_i) Λ(qi)中的所有item连接成pseudo-response,然后使用前面计算Checklist Reward的prompt对 C ( A i ) C(A_i) C(Ai)中所有claim进行验证。变体奖励 R truth variant R_{\text{truth}}^{\text{variant}} Rtruthvariant只计算标记为Missing的子集 C M ( A i ) C_M(A_i) CM(Ai):
R truth variant ( A i ) = I ∣ C M ( A i ) ∣ > 0 ⋅ 1 ∣ C M ( A i ) ∣ ∑ j = 1 ∣ C M ( A i ) ∣ P ( c i , j ∣ True ) R_{\text{truth}}^{\text{variant}}(\mathcal{A}_i) = \mathbb{I}_{|C_M(\mathcal{A}_i)| > 0} \cdot \frac{1}{|C_M(\mathcal{A}_i)|} \sum_{j=1}^{|C_M(\mathcal{A}_i)|} P(c_{i,j} \mid \text{True}) Rtruthvariant(Ai)=I∣CM(Ai)∣>0⋅∣CM(Ai)∣1j=1∑∣CM(Ai)∣P(ci,j∣True)
协同作用:双奖励如何实现知识对齐
我们的双奖励机制从两个互补维度有效缩小策略模型的表达知识与其内部参数知识之间的差距,增加它们的交集。具体来说,Checklist Reward从外部约束模型,利用基础模型知识边界的可验证事实集,旨在提升特定集上的事实召回和精确,鼓励模型更全面表达内部知识。同时,Truthfulness Reward从内部起作用,使用基于相同参数知识训练的自评估模块判断生成内容的置信度,旨在抑制超出知识边界的不可靠或编造信息,确保事实精确。这两个奖励的协同促使模型自信表达“知道”的内容,同时谨慎避免“不知道”的内容,从而系统性地实现知识一致性强化。
2.3 其他辅助奖励
尽管知识一致性奖励专注于优化事实性,但一个优秀的模型,其回复还需要具备良好的可读性、正确的格式和恰当的篇幅。为了确保模型在提升事实性的同时,不在这些基本质量维度上退化,我们引入了三种轻量级的辅助奖励。
1. 通用奖励:在本文的实验中,我们是从Base模型开始进行强化学习(KLCF-zero)来训练一个推理模型,传统的KL惩罚不再适用。为了防止策略模型偏离至低质量输出,我们引入了基于人类偏好数据训练的奖励模型(本文使用的是轻量级模型Skywork-Reward-V2-Llama-3.2-1B)来提供通用奖励 R g ( A i ) R_g(A_i) Rg(Ai),确保生成内容符合人类偏好。
2. 格式奖励:为了确保推理模型输出符合格式,格式奖励被设计为:
R f ( o i ) = { 0 , 如果 o i 具有有效格式 − 1 , 否则 R_f(o_i) = \begin{cases} 0, & \text{如果 } o_i \text{ 具有有效格式} \\ -1, & \text{否则} \end{cases} Rf(oi)={0,−1,如果 oi 具有有效格式否则其中有效格式要求回答必须将推理过程封装在<think></think>标签内,最终答案封装在<answer></answer>标签内。
3. 长度惩罚:为了避免模型通过生成冗余内容来刷事实覆盖率得分,我们引入了分段长度惩罚(这里参考了DAPO)。设 L m L_m Lm为最大长度阈值, L c L_c Lc为临界长度值:
R l ( A i ) = { 0 , ∣ A i ∣ ≤ L m − L c ( L m − L c ) − ∣ A i ∣ L c , L m − L c < ∣ A i ∣ ≤ L m − 1 , ∣ A i ∣ > L m R_l(\mathcal{A}_i) = \begin{cases} 0, & |\mathcal{A}_i| \leq L_m - L_c \\ \frac{(L_m - L_c) - |\mathcal{A}_i|}{L_c}, & L_m - L_c < |\mathcal{A}_i| \leq L_m \\ -1, & |\mathcal{A}_i| > L_m \end{cases} Rl(Ai)=⎩
⎨
⎧0,Lc(Lm−Lc)−∣Ai∣,−1,∣Ai∣≤Lm−LcLm−Lc<∣Ai∣≤Lm∣Ai∣>Lm
这种设计鼓励模型在保持信息密度的同时,避免过度冗长。
2.4 奖励组合
上述辅助奖励与知识一致性奖励结合,形成最终奖励 R ( o i ) R(o_i) R(oi),通过加权方式集成。公式为:
R ( o i ) = { R checklist ( A i ) + 0.1 ⋅ R g ( A i ) + R l ( A i ) + R f ( o i ) , not using R truth R truth ( A i ) + 0.1 ⋅ R g ( A i ) + R l ( A i ) + R f ( o i ) , not using R checklist R fact ( A i ) + 0.1 ⋅ R g ( A i ) + R l ( A i ) + R f ( o i ) , both R(o_i) = \begin{cases} R_{\text{checklist}}(A_i) + 0.1 \cdot R_g(A_i) + R_l(A_i) + R_f(o_i), & \text{not using } R_{\text{truth}} \\ R_{\text{truth}}(A_i) + 0.1 \cdot R_g(A_i) + R_l(A_i) + R_f(o_i), & \text{not using } R_{\text{checklist}} \\ R_{\text{fact}}(A_i) + 0.1 \cdot R_g(A_i) + R_l(A_i) + R_f(o_i), & \text{both} \end{cases} R(oi)=⎩
⎨
⎧Rchecklist(Ai)+0.1⋅Rg(Ai)+Rl(Ai)+Rf(oi),Rtruth(Ai)+0.1⋅Rg(Ai)+Rl(Ai)+Rf(oi),Rfact(Ai)+0.1⋅Rg(Ai)+Rl(Ai)+Rf(oi),not using Rtruthnot using Rchecklistboth
其中 R fact ( A i ) = κ ⋅ R recall ( A i ) + λ ⋅ R precision ( A i ) + μ ⋅ R truth ( A i ) R_{\text{fact}}(A_i) = \kappa \cdot R_{\text{recall}}(A_i) + \lambda \cdot R_{\text{precision}}(A_i) + \mu \cdot R_{\text{truth}}(A_i) Rfact(Ai)=κ⋅Rrecall(Ai)+λ⋅Rprecision(Ai)+μ⋅Rtruth(Ai),且 κ + λ + μ = 1 \kappa + \lambda + \mu = 1 κ+λ+μ=1。通用奖励的权重为 0.1,反映其辅助作用,确保核心事实性目标不受过多干扰。
2.5 策略优化
在定义了完整的奖励后,KLCF采用GRPO进行策略优化:
J GRPO ( θ ) = [ 1 G ∑ i = 1 G 1 ∣ o i ∣ ∑ t = 1 ∣ o i ∣ ( min ( r i , t ( θ ) A ^ i , t , clip ( r i , t ( θ ) , 1 − ϵ , 1 + ϵ ) A ^ i , t ) − β D KL ( π θ ∥ π ref ) ) ] \mathcal{J}_{\text{GRPO}}(\theta) = \left[\frac{1}{G}\sum_{i=1}^{G} \frac{1}{|o_i|}\sum_{t=1}^{|o_i|}\left(\min\left(r_{i,t}(\theta)\hat{A}_{i,t},\,\text{clip}(r_{i,t}(\theta),1-\epsilon,1+\epsilon)\hat{A}_{i,t}\right) - \beta D_{\text{KL}}(\pi_\theta\|\pi_{\text{ref}})\right)\right] JGRPO(θ)=
G1i=1∑G∣oi∣1t=1∑∣oi∣(min(ri,t(θ)A^i,t,clip(ri,t(θ),1−ϵ,1+ϵ)A^i,t)−βDKL(πθ∥πref))
这部分比较基础,就不过多赘述了。
3. 实验
3.1 实验设置
我们在4个主流长文本事实性Benchmark上验证KLCF:
- FActScore:使用原论文提供的测试集,并报告FActScore指标
- Hallulens-LongWiki:报告原文中使用的Recall@32、Precision、F1@32指标
- LongFact 和 Factory:采用VeriScore流程,报告Recall@64、Precision、F1@64及胜率(WR)
模型选择:Qwen2.5系列(7B/14B/32B)。对比模型包括:
- Base模型(10-shot)
- CoVe(在base模型上应用,基于prompt的方法)
- SFT模型(DeepSeek-R1-Distill-Qwen-7B/14B/32B)
- Intuitor(一种无监督方法)
- DPO/GRPO + FActScore奖励
- DPO/GRPO + KLC奖励(我们的方法)
训练配置:
- 硬件:16 × \times ×H100 GPU,全参数训练
- 学习率:1e-6,cosine warmup
- 训练模式:
- KLCF-zero:直接从基础模型训练
- KLCF:从SFT模型开始训练
3.2 主实验

如表1所示,KLCF在两种训练范式下均取得了显著的效果提升。其中,直接基于Base模型开始训练的KLCF-zero在所有事实性指标上都超越了现有基线方法,这证明了我们的方法能够在无需SFT的情况下有效提升模型的事实性。特别值得注意的是,KLCF-zero甚至取得了比从SFT模型开始训练更高的性能上限,我们分析这得益于其避免了基于SFT的蒸馏方法带来的知识遗忘和对齐税问题。
此外,基于外部检索的FActScore奖励过于偏向精确度而严重牺牲了召回率,而我们的框架通过双事实对齐机制联合优化两个目标,实现了最佳的整体平衡,在各个数据集上都取得了领先的事实性F1分数。
3.3 消融实验

如表2所示,消融实验清晰地验证了双事实对齐机制的必要性。当仅使用Checklist Reward时,模型呈现出高Recall但低Precision的特点,表明过度追求知识覆盖会引入错误事实;反之,当仅使用Truthfulness Reward时,模型变得过度保守,Precision虽高却严重牺牲了Recall。
系统性地调整奖励权重进一步揭示了这一权衡关系:降低Checklist Reward权重同时提高Truthfulness Reward权重会单调提升Precision,但持续损害Recall。只有当两者协同工作时,KLCF才能在保持高精确度的同时实现优异的召回率,证明了我们提出的双奖励机制在解决“幻觉-保守”权衡问题上的价值。
3.4 Scaling Study

如表3所示,Scaling Study证实了KLCF在不同模型规模上的一致有效性。在7B、14B和32B的Qwen2.5模型上,基于Base模型训练的KLCF-zero均在所有事实性指标上显著超越了原始基础模型和CoVe提示方法。值得注意的是,随着模型规模从7B增长到32B,KLCF带来的性能提升保持稳定甚至有所增加,这表明我们的方法在不同模型容量下均能有效工作,具备良好的可扩展性。无论是小型(7B)、中型(14B)还是大型(32B)模型,KLCF都能显著提升长文本事实性,证明了该框架具备强大的通用性和扩展能力。
3.5 架构泛化能力验证

如表4所示,KLCF的有效性并不仅限于推理模型。当我们将框架适配到标准的非推理模型(如Qwen2.5-14B-Instruct)时,移除格式奖励和通用奖励,模型在各项事实性指标上仍取得显著提升。这证明KLCF的核心机制不依赖于特定的输出格式,能够稳健地应用于常规的对话模型,展现了其良好的通用性。
3.6 Truthfulness Reward分析

如表13所示,我们对比了标准真实性奖励与其变体的效果。虽然两种奖励均能显著提升事实性,但标准版本在大多数指标上表现更优。分析发现,变体奖励依赖的事实检查表可能存在遗漏,导致其对部分有效声明的评估不够准确,反而引入了噪声。标准奖励通过全面评估响应中的所有声明,提供了更稳定、全面的学习信号,因此在整体事实性平衡上表现更佳。
3.7 效率分析

如表5所示,我们的KLC奖励展现出显著效率优势。在串行和并行模式下,KLC Reward相比FActScore和VeriScore分别实现了3.46×/4.09×和5.24×/5.40×的速度提升。更重要的是,我们的方法完全无需调用外部搜索引擎API,仅使用轻量级的本地奖励模型,在大幅降低计算开销的同时避免了网络延迟,为大规模在线强化学习训练提供了理想解决方案。
3.8 Case Study

如附录中的表14所示,我们通过具体案例直观展示了KLCF的效果。针对“Who is lawyer Amal Clooney?”这一query,KLCF生成的回答长度显著增加,涵盖了教育背景、职业经历、代表性案例等更多事实细节,体现了事实召回率的显著提升。同时,原始回答中的事实错误(如错误的出生日期)在KLCF版本中得到纠正,新增内容均准确无误,证明了事实精确度的同步改善。
4. 总结与展望
本文提出了KLCF,一个通过显式对齐策略模型的表达知识与其预训练参数知识来减少幻觉的新型强化学习框架。其核心的双事实对齐机制联合优化事实召回率与精确度,在多个长文本事实性基准测试上显著优于现有基线方法。更重要的是,该框架的奖励设计完全无需外部知识检索,实现了高效、可扩展的在线RL训练。
文章最后宣传一下我们同步整理的一个专注于长文本事实性研究的GitHub仓库,与本论文工作高度相关:🧾 Survey
该仓库系统性地梳理了该领域的研究进展,涵盖了从问题洞察、评测方法到提示工程、微调技术、强化学习等多种优化范式,并汇总了主流评测基准与综述文章。旨在为社区提供一个全面且持续更新的研究路线图。
更多推荐



所有评论(0)