跳转至

FAITH: Factuality Alignment through Integrating Trustworthiness and Honestness

会议: ACL 2026
arXiv: 2604.10189
代码: https://github.com/xndong/FAITH
领域: LLM对齐 / 事实性
关键词: 事实性对齐、知识状态象限、不确定性估计、PPO、检索增强

一句话总结

本文提出FAITH框架,通过将LLM的不确定性信号(一致性+语义熵)映射到自然语言描述的知识状态象限(可信度×诚实度),设计考虑不确定性的细粒度奖励函数进行PPO训练,再用RAG模块纠正潜在错误,系统性提升LLM的事实准确性。

研究背景与动机

领域现状:LLM可能生成流畅但事实错误的内容(幻觉),即使模型内部拥有正确知识。这种"知道但说不对"的know-tell gap严重损害了可靠性。近期工作尝试在训练中引入不确定性信号来对齐事实性。

现有痛点:(1) 现有方法将数值型不确定性分数直接放入QA prompt中(如"Conf: 0.833"),缺乏语义丰富性,LLM难以理解和利用;(2) 使用二值奖励函数(对/错),忽略了回答的置信度,可能鼓励"猜测"行为;(3) 忽视外部知识的使用,未能纠正潜在的错误回答。

核心矛盾:LLM的事实性不一致表现为——同一问题在不同表述下可能给出对或错的答案。根本原因是模型的知识拥有状态(是否真的知道)和回答行为(是否诚实表达)之间缺乏对齐。数值型不确定性信号无法帮助模型理解自身的知识边界。

本文目标:设计一个后训练框架,将不确定性信号转化为语义丰富的知识状态描述,通过细粒度奖励和外部知识检索来提升LLM的事实准确性和真实性。

切入角度:将LLM对每个问题的知识状态分为四个象限——KH(有知识且诚实)、K¬H(有知识但不诚实)、¬KH(无知识但诚实)、¬K¬H(无知识且不诚实),用自然语言描述这些状态并嵌入训练prompt中。

核心 idea:用自然语言知识状态替代数值不确定性→细粒度奖励同时考虑正确性和不确定性→RAG模块纠正弱基础的回答。

方法详解

整体框架

FAITH分三个模块:(1) 数据增强——采样多个回答、估计不确定性、映射到知识状态象限,增强训练数据;(2) 模型训练——参考模型SFT→奖励模型训练→PPO策略优化→RAG模型训练;(3) 推理——知识状态估计→策略模型回答→RAG纠正。

关键设计

  1. 知识状态象限映射:

    • 功能:将数值型不确定性信号转化为语义丰富的自然语言知识状态描述。
    • 核心思路:对每个问题 \(x_i\),采样K=6个回答,计算一致性 \(\text{Consistency}(x_i) = \frac{1}{K}\sum \mathbb{1}\{y_i^k = \hat{y_i}\}\) 和语义熵 \(SE(x_i) = -\sum_c p(c|x_i) \log p(c|x_i)\)。一致性>0且SE=0→KH(有知识且诚实);一致性>0且SE≠0→K¬H(有知识但不诚实);一致性=0且SE=0→¬KH(无知识但诚实);其他→¬K¬H。将状态描述用自然语言嵌入训练prompt中。
    • 设计动机:原始数值("Conf: 0.833")对LLM来说是不透明的——它无法从中推断自己"知不知道"和"该不该回答"。自然语言描述提供了语义丰富且可解释的指导,使模型能更好地识别自己的知识边界。
  2. 细粒度奖励函数:

    • 功能:同时考虑回答正确性和模型不确定性,提供比二值奖励更信息丰富的反馈。
    • 核心思路:\(R_{\text{FAITH}} = R_{\text{correctness}} + R_{\text{uncertainty}}\),其中正确性奖励是标准的精确匹配,不确定性奖励根据知识状态分配:KH→+2,K¬H→+1,¬KH→-1,¬K¬H→-2。总奖励范围从-2到+3。
    • 设计动机:二值奖励只关注对错,不区分"确信地对"和"猜对了"。细粒度奖励鼓励模型在知道答案时自信作答(KH→+2),在不确定时诚实拒绝(¬KH),惩罚不知道还乱答的行为(¬K¬H→-2)。
  3. RAG纠错模块:

    • 功能:用外部知识纠正策略模型可能产生的弱基础回答。
    • 核心思路:构建基于Wikipedia语料的向量数据库,训练一个RAG模型从数据库中检索相关段落作为上下文输入,纠正策略模型可能不正确的回答。RAG模型在策略模型之后运行,作为最后的事实性校验层。
    • 设计动机:即使经过PPO训练,模型在某些"知识不足"(¬K状态)的问题上仍可能给出错误答案。RAG提供外部知识源来弥补模型内部知识的不足。

损失函数 / 训练策略

四阶段训练:(1) SFT训练参考模型 \(\pi_\mu\);(2) 奖励模型训练;(3) PPO优化策略模型;(4) RAG模型训练。在Llama3-8B和Mistral-7B-v0.1上验证。使用NQ-Open、SciQ、TriviaQA做域内训练,PopQA做域外测试。

实验关键数据

主实验(Llama3-8B)

方法 域内精度 域内真实性 域外精度 域外真实性
基线平均
UAlign
FAITH 74.26% 45.73% 67.99% 34.03%

消融实验

配置 精度 真实性 说明
Full FAITH 最优 最优 完整框架
w/o 知识状态(用数值) 下降 下降 自然语言描述的优势
w/o 不确定性奖励(二值) 下降 下降 细粒度奖励的必要性
w/o RAG 下降 下降 外部知识的纠错贡献

关键发现

  • 自然语言知识状态描述一致优于数值型不确定性信号,在两个模型和四个数据集上都成立
  • 细粒度奖励比二值奖励提供更好的学习信号,减少了"猜对"的虚高性能
  • RAG模块在域外泛化上贡献尤其显著——弥补了模型内部知识的覆盖不足
  • FAITH在Llama3-8B和Mistral-7B上都超越了5个强基线,证明了跨模型泛化性

亮点与洞察

  • 知识状态象限的语义化:将不透明的不确定性数值转化为"有知识且诚实/不诚实"等自然语言描述,使LLM能在训练中理解自身的知识边界。这比让模型学习"0.833意味着什么"更符合LLM的能力特点。
  • 区分"确信地对"和"猜对了":通过不确定性奖励惩罚低置信度的正确回答,减少了虚高性能。这对高风险场景(如医疗、法律)尤为重要。
  • 三层事实性保障:知识状态引导(认识自我)→细粒度奖励(正确行为)→RAG纠错(外部校验),形成完整的事实性保障链。

局限与展望

  • 知识状态估计需要对每个问题采样多个回答(K=6),推理时有额外开销
  • 四象限划分可能过于简化——实际的知识状态可能是连续的而非离散的
  • RAG模块依赖Wikipedia语料库,对最新知识或专业领域可能覆盖不足
  • PPO训练的计算成本较高,可能不适合大规模模型

相关工作与启发

  • vs UAlign:UAlign在prompt中直接使用数值不确定性和二值奖励。FAITH用自然语言状态和细粒度奖励,提供更丰富的信号
  • vs R-Tuning:R-Tuning教模型在不确定时拒绝回答,但不区分知识拥有和回答行为的细粒度差异
  • vs 自一致性方法:自一致性通过多次采样检测不确定性,FAITH将此信号转化为训练信号而非仅用于推理

评分

  • 新颖性: ⭐⭐⭐⭐ 知识状态象限和细粒度奖励的组合是有洞察力的设计
  • 实验充分度: ⭐⭐⭐⭐ 四个数据集、两个模型、五个基线、详细消融
  • 写作质量: ⭐⭐⭐⭐ 框架描述清晰,公式推导完整
  • 价值: ⭐⭐⭐⭐ 为LLM事实性对齐提供了实用且可解释的方法

相关论文