KnowRL: Exploring Knowledgeable Reinforcement Learning for Factuality¶
会议: ACL 2026
arXiv: 2506.19807
代码: https://github.com/zjunlp/KnowRL
领域: 强化学习 / 慢思考 LLM / 事实性 / 幻觉缓解
关键词: 过程级奖励、原子事实校验、GRPO、知识边界、refusal 激励
一句话总结¶
KnowRL 把"原子事实校验"作为过程级奖励直接塞进 GRPO 训练循环,对慢思考模型的 CoT 每一步进行事实判定,同时用"拒答给正奖励"教模型识别自己的知识边界,在 SimpleQA Incorrect Rate 上直降 20.3% 的同时不损失(甚至略升)GPQA / AIME 等推理能力,并展现出英文知识 → 中文 QA 的跨语言迁移。
研究背景与动机¶
领域现状:DeepSeek-R1 一类"慢思考"模型通过 RL 鼓励长 CoT,在 GPQA / AIME 等强推理基准上突破明显;但 SimpleQA 等事实性基准上反而出现规模反比——DeepSeek-R1-Distill-Qwen-32B 在 SimpleQA 上准确率仅 6.64%,规模越大幻觉不降反升。
现有痛点:现有 RL 训练几乎全是 outcome-only 奖励(看最终答案对不对),把推理过程当黑箱。这有两个致命问题:(i) 模型可以"答案蒙对、推理过程胡编",奖励信号反而强化了虚构推理路径;(ii) 模型完全不知道"自己不知道",只会硬猜以拿奖励——知识边界这件事缺失。
核心矛盾:要让慢思考既能推理又能讲真话,必须同时解决"对推理过程做事实监督"和"教模型主动拒答"两个事。但 RAG 在长 CoT 中检索成本爆炸、SFT 容易遗忘并只是死记知识、DPO 类偏好优化也只能在 outcome 层面调整,都不直接解决过程级幻觉。
本文目标:(1) 把事实校验嵌入到 RL 训练 loop 里,做 step-level 监督;(2) 不损害已经训出的复杂推理能力;(3) 教模型在缺信息时说 "I don't know",且这种"边界意识"应能跨任务、跨语言迁移。
切入角度:借鉴 FactScore 把长生成拆成原子事实并逐条对知识库校验的范式,作者把"原子事实通过率"做成 RL 的稠密奖励信号;再设计 correctness 奖励里"答对 +2 / 拒答 +1 / 答错 −1"的非对称结构,把"拒答"显式 incentive 起来。
核心 idea:用 GRPO + 三项复合奖励(format + correctness with refusal bonus + atomic-fact factuality)打开慢思考的"思考黑箱",让模型把概率质量从幻觉链路转移到知识支持的链路。
方法详解¶
整体框架¶
KnowRL 整体在 GRPO 之上做奖励工程:(1) 数据构造——从 NQ-Open / WebQuestions / ComplexQuestions 抽事实题,GPT-4o 抽实体,从 Wikipedia 2023-11-01 dump 检索对应事实段落作为外部知识库 \(K\);(2) Rollout & 复合奖励——每个 prompt \(x\) 让旧策略 \(\pi_{\theta_{\text{old}}}\) 采 \(G\) 条 rollout,每条 \(o=(o_{\text{think}},o_{\text{answer}})\) 算 \(R_{\text{total}}=r_{\text{format}}+r_{\text{correct}}+r_{\text{fact}}\);(3) GRPO 优势归一化——同 prompt 组内 \(A_g=(R_g-\mu_x)/(\sigma_x+\varepsilon)\);(4) 代理目标+ KL anchor + 熵正则做 PPO-style 更新;(5) 全程 LoRA (rank 128) 微调,1×A800 即可训 7B/14B 模型。
关键设计¶
-
原子事实分解 + GTR 检索的过程级奖励 \(r_{\text{fact}}\):
- 功能:把 CoT 中每一步事实是否"有据可查"变成稠密、连续的奖励信号,直接监督推理过程。
- 核心思路:用 GPT-4o-mini 调一次 prompt 把 \(o_{\text{think}}\) 拆成 \(M\) 条原子事实 \(\Phi(o_{\text{think}})=\{f_1,\dots,f_M\}\),每条 \(f_j\) 用 sentence-transformers
gtr-t5-large从知识库 \(K\) 中检索 top-相关段 \(K_x\),再让 GPT-4o-mini 给 0/1 verification \(v(f_j,K_x)\)。\(r_{\text{fact}}(o)=\frac{1}{M}\sum_j v(f_j,K_x)\),\(M=0\) 时为 0。 - 设计动机:FactScore 已证明"分原子事实 + 检索 + 二元校验"是衡量长文本事实性的可靠管道;把它从评测搬到训练侧,就把"事实性"从黑箱标量变成可被梯度推动的密集分。这是本文的灵魂。
-
非对称 correctness 奖励 + refusal 正激励:
- 功能:在正确性奖励里显式区分"答对 / 拒答 / 答错",用 +2/+1/−1 的设计教模型遇到不会的题主动 "I don't know"。
- 核心思路:\(r_{\text{correct}}=+2\)(GPT-4o-mini 判答对)/ \(+1\)(显式拒答)/ \(-1\)(答错);format 奖励再加 ±1 强制
<think>...</think><answer>...</answer>结构。把 refusal 的 +1 拿掉(改为 −1),Incorrect Rate 会从 57.67% 弹回 78.67%,说明拒答正激励几乎不可替代。 - 设计动机:传统 RL 把所有"非正确"等价惩罚,会逼模型在不确定时也"赌一把";非对称结构告诉模型"拒答虽然没奖励正答多,但比答错好",从而塑造知识边界。
-
基于 GRPO 的过程级优势聚合:
- 功能:把组内 \(G\) 条 rollout 的 \(R_{\text{total}}\) 归一化为带符号的 \(A_g\),让"事实多 + 拒答得当"的轨迹获得正信用,让"幻觉为主"的轨迹获得负信用。
- 核心思路:\(A_g=(R_g-\mu_x)/(\sigma_x+\varepsilon)\);轨迹级 importance ratio \(\varrho_g=\pi_\theta(o^{(g)}|x)/\pi_{\theta_{\text{old}}}(o^{(g)}|x)\);clip 后求 surrogate \(\hat{\mathcal{J}}(\theta)=\frac{1}{G}\sum_g \min(\varrho_g A_g, \text{clip}(\varrho_g,1{-}\epsilon,1{+}\epsilon)A_g)\);再加 entropy bonus 与 KL anchor 形成 \(\mathcal{L}_{\text{KnowRL}}=-\hat{\mathcal{J}}+\beta_{\mathcal{H}}\mathcal{E}_{\mathcal{H}}+\beta_{\text{KL}}\mathcal{E}_{\text{KL}}\)。
- 设计动机:GRPO 不需 critic、内存友好;用组内归一化能稳定不同 prompt 难度下的奖励量级;KL anchor 防止模型为追事实而丢失推理能力。
损失函数 / 训练策略¶
LoRA rank 128 / alpha 256,bf16,lr=1e-5,batch=20、grad accum=4,KL 系数 \(\beta_{\text{KL}}\approx 1\text{e-3}\),cosine LR 调度、warmup 0.03,AdamW-8bit,vLLM gpu mem util 0.5;7B 模型 1×A800 即可。训练 100-300 步即收敛,超过 300 步会出现轻微 over-optimization。
实验关键数据¶
主实验¶
两个 7B 慢思考模型(distillation 派 DeepSeek-R1-Distill-Qwen-7B 与 RL 派 Skywork-OR1-7B-Preview),主要指标 SimpleQA Incorrect Rate 和 GPQA Diamond 同时报:
| 模型 | 方法 | SimpleQA Incorrect ↓ | ChineseSimpleQA Incorrect ↓ | GPQA Diamond ↑ | AIME 2025 ↑ |
|---|---|---|---|---|---|
| DeepSeek-7B | Zero-shot | 78.00 | 68.33 | 40.91 | 30.00 |
| DeepSeek-7B | SFT | 83.33 (+5.33) | 76.67 (+8.34) | 36.36 | 26.67 |
| DeepSeek-7B | DPO | 88.00 (+10.0) | 79.33 (+11.0) | 37.37 | 30.00 |
| DeepSeek-7B | FactTune-FS | 59.67 (−18.3) | 76.00 (+7.67) | 38.89 | 30.00 |
| DeepSeek-7B | TruthRL | 61.00 (−17.0) | 60.00 (−8.33) | 39.39 | 26.67 |
| DeepSeek-7B | KnowRL | 57.67 (−20.3) | 58.33 (−10.0) | 36.87 | 33.33 |
| Skywork-7B | Zero-shot | 76.33 | 67.00 | 37.37 | 26.67 |
| Skywork-7B | KnowRL | 60.33 (−16.0) | 52.33 (−14.7) | 42.42 | 36.67 |
多 run(Avg@5, T=0.6)下 KnowRL 把 DeepSeek-7B 的 SimpleQA Incorrect 从 62.47 降到 48.27、AIME 从 29.33 升到 34.00;14B 上 SimpleQA Incorrect 83→68、GPQA 47→51。
消融实验¶
DeepSeek-7B 上不同奖励组合(SimpleQA Incorrect / GPQA):
| 奖励配置 | SimpleQA Incorrect ↓ | Refusal | GPQA ↑ | AIME ↑ |
|---|---|---|---|---|
| \(r_{\text{format}}\) only | 74.00 | 24.00 | 39.39 | 30.00 |
| \(r_{\text{format}}+r_{\text{fact}}\) | 80.67 (+6.67) | 17.33 | 47.47 | 40.00 |
| \(r_{\text{format}}+r_{\text{correct}}\) | 60.67 (−13.3) | 37.33 | 38.89 | 40.00 |
| Full \(R_{\text{total}}\) (KnowRL) | 57.67 (−16.3) | 40.67 | 36.87 | 33.33 |
| KnowRL with \(r_{\text{refusal}}=-1\) | 78.67 (+4.67) | 8.67 | 34.85 | 30.00 |
跨算法鲁棒性:把 GRPO 换成 DAPO / BNPO / Dr.GRPO,SimpleQA Incorrect 仍降 16-19,证明效果来自奖励设计而非特定优化器。
关键发现¶
- 拒答正激励是知识边界的"焊点":把 \(r_{\text{refusal}}\) 从 +1 改成 −1,refusal 率从 40.67 暴跌到 8.67,Incorrect 从 57.67 弹回 78.67——说明只用 correctness 自身的 +2/−1 不足以稳定边界行为。
- \(r_{\text{fact}}\) 单独使用利于推理但不抑制幻觉:\(r_{\text{format}}+r_{\text{fact}}\) 这条配置 GPQA 升到 47.47、AIME 40.00,但 Incorrect Rate 反而比 baseline 还差(80.67 vs 74.00),原因是缺 correctness 信号,模型更敢"自信编造"。这一对照非常巧妙地说明三项奖励是耦合互补的。
- 跨语言迁移:训练知识库几乎是英文,但 ChineseSimpleQA Incorrect 也降 10-15 点,说明模型学到的是"语言无关的核查行为"而非死记。
- completion length 巨幅下降但 ≠ 推理能力崩:训练中生成长度急降,是模型学会"不再为未知问题硬编故事"的副产物——GPQA / AIME / OlympiadBench 同时保持或微升。
- 训练步数甜区 ≈ 200 步:100→200 步事实指标快速改善后趋稳,300+ 步可能出现轻微过优化。
亮点与洞察¶
- 把 FactScore 从"评测工具"重新理解为"奖励工厂"是个简单却效果显著的范式迁移;几乎所有现有 RL 框架都能 plug-in 这个稠密事实奖励。
- 非对称 refusal 奖励(+2/+1/−1)的设计很优雅:它把"诚实"作为单独动作类型奖励,而不是依赖输出层熵或外加 reject head,是模型学边界的最直接信号。
- 跨算法(GRPO/DAPO/BNPO/Dr.GRPO)几乎等效,说明本质是"奖励设计 → 行为塑造",告诉社区"奖励工程比 RL 算法替换更重要"。
- 英文训练 → 中文测试的迁移是个意外但强力的发现:暗示 verification 行为可能是某种语言无关的"元能力"。
局限与展望¶
- 每个 rollout 都要调 GPT-4o-mini 拆原子事实 + 校验,训练成本和延迟都被绑死在外部 API;如能把校验器内化为本地小模型会更工程友好。
- 知识库覆盖窄(NQ/WebQ/Wiki 2023-11),对开放/最新事实仍有盲区;模型可能学会"凡这种问就拒答"而不是真懂边界。
- 评测样本各 300 条受计算限制,AIME 也仅 30 题,方差较大;作者用 Avg@5 部分缓解但仍偏窄。
- 仅文本,无多模态;图表 / 公式 / 物理图等"原子事实"如何拆解尚未涉及。
- refusal 的语义判定也靠 LLM evaluator,可能把"答得保守"误判为 refusal。
相关工作与启发¶
- vs TruthRL:TruthRL 也走"诚实 vs 真值"奖励,但仍是 outcome-level;KnowRL 给出更细的过程级 + 原子事实信号,DeepSeek-7B 上 Incorrect 57.67 vs 61.00 略胜。
- vs FactTune-FS:FactTune-FS 用 FactScore 筛 SFT 数据;KnowRL 把 FactScore 直接做 RL 奖励,避免了静态 SFT 的灾难性遗忘,GPQA / AIME 都不掉。
- vs DPO with R1 chosen data:DPO 反而让 Incorrect Rate 涨 10+,说明"偏好对齐"在事实任务上可能强化错误风格。
- vs RAG:RAG 在每步长 CoT 都检索成本爆炸;KnowRL 把"检索 + 校验"放在 reward 端而非 inference 端,部署不引入检索开销。
评分¶
- 新颖性: ⭐⭐⭐⭐ "FactScore 当 RL 奖励 + 拒答正激励"组合在事实性 RL 里第一次完整落地;非对称 refusal 设计尤其精彩。
- 实验充分度: ⭐⭐⭐⭐ 两类慢思考模型 × 6+ 基线 × 4 RL 算法 × 14B 扩展 × Avg@5 多 run,覆盖度足;OlympiadBench 中英双语物理任务进一步加分。
- 写作质量: ⭐⭐⭐⭐ 故事讲得清晰,图 2 的"规模 vs 幻觉"反比直接立住问题;公式 1-5 自成闭环,工程细节交代充分。
- 价值: ⭐⭐⭐⭐⭐ 给社区一条"不重训知识、不上检索"也能让慢思考说真话的实践路径,工程友好且通用性强,是慢思考 + 事实性方向值得跟进的代表作。
评分¶
- 新颖性: 待评
- 实验充分度: 待评
- 写作质量: 待评
- 价值: 待评