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纠正。
关键设计¶
-
知识状态象限映射:
- 功能:将数值型不确定性信号转化为语义丰富的自然语言知识状态描述。
- 核心思路:对每个问题 \(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来说是不透明的——它无法从中推断自己"知不知道"和"该不该回答"。自然语言描述提供了语义丰富且可解释的指导,使模型能更好地识别自己的知识边界。
-
细粒度奖励函数:
- 功能:同时考虑回答正确性和模型不确定性,提供比二值奖励更信息丰富的反馈。
- 核心思路:\(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)。
-
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事实性对齐提供了实用且可解释的方法
相关论文¶
- [ACL 2025] GainRAG: Preference Alignment in Retrieval-Augmented Generation through Gain Signal Synthesis
- [ACL 2025] REFIND at SemEval-2025 Task 3: Retrieval-Augmented Factuality Hallucination Detection in Large Language Models
- [AAAI 2026] RRRA: Resampling and Reranking through a Retriever Adapter
- [AAAI 2026] HiMo-CLIP: Modeling Semantic Hierarchy and Monotonicity in Vision-Language Alignment
- [CVPR 2026] Explaining CLIP Zero-shot Predictions Through Concepts