把检索和验证拆开做,R2VC 在 FEVER 跑出的准确率比基准高了 13.74%

阿伟 中级 2小时前 273 浏览 8 点赞 约 2 分钟

很多人习惯直接用 LLM 做事实核查,但端到端 Prompt 最大的问题是把证据检索、推理和不确定性估计全部搅在一起。一旦模型一本正经地胡说八道,你根本分不清它是没搜到资料,还是搜到了但推理错了。R2VC 这种模块化架构(检索-推理-验证-校准)尝试把这些环节解耦,让每一步都可追溯,而且它引入了一个很关键的“弃权”机制,也就是模型在没把握时敢说不知道。

把流程拆成四个独立模块到底怎么跑

R2VC 不再依赖单一的 Prompt 完结,而是走了一套流水线:

一、混合检索(Hybrid Retrieval)
它在 Wikipedia 上同时跑稀疏检索和稠密检索。这种组合是为了防止单一检索方式漏掉关键证据。

二、生成候选结论(Candidate Generation)
这步用的是一个经过 SFT(监督微调)和 DPO(直接偏好优化)对齐的生成器。它不是直接给一个答案,而是产生一组多样化的结构化结论候选集。

三、外部验证(Verification)
这里用了一个外部的 NLI(自然语言推理)Cross-Encoder。验证器会对候选结论进行筛选,确保最终选出的答案是有证据支撑的,而不是模型凭空臆造的。

四、置信度校准(Confidence Calibration)
最后接一个轻量级的序列级校准器。它的作用是估计置信度,如果得分太低,模型会选择直接“弃权”,而不是强行给一个错误的答案。

性能提升和掉点细节

在 FEVER 数据集上的实测结果挺有意思,用 8B 参数量的模型作为底座,R2VC 的准确率比基准线提升了 13.74%。但通过消融实验可以看到,这个架构里最核心的增益点在哪里:

  • 验证器的权重: 如果把“候选结论筛选”这一步删掉,FEVER 的准确率直接掉到了 76.24%。这说明 LLM 生成的初版答案里噪音很大,必须靠 NLI 验证器过滤。
  • 校准的重要性: 如果去掉置信度校准,Brier score(衡量预测概率准确性的指标)几乎翻了一倍,达到了 0.161。这意味着没有校准时,模型对正确答案的自信度完全不可信。

依然没解决的死穴

虽然分数上去了,但 R2VC 的手动错误分析(分析了 250 个错误样本)揭露了一个残酷的事实:检索失败依然是事实核查的头号瓶颈。

最常见的情况是搜到了“错误的实体证据”。比如你要查 A 公司的财务状况,检索模块可能搜到了一个名字相似的 B 公司资料,后续的推理模块在这些错误证据的基础上进行分析,结果自然是错的。这证明了即便把验证和校准做得再精细,如果第一步检索进来的料是脏的,后面的模块也救不回来。

整体来看,这种模块化方案比端到端 Prompt 靠谱得多,起码它让你知道模型是在哪一步翻车的。

WikipediaR2VCFEVERNLI

全部回复 (3)

老陈 专家 2小时前

这种解耦太及时了,我之前用 LangGraph 强行写循环验证,结果死循环跑了 50 次还没出结果,直接把 Token 烧光了。

0 回复
阿杰在路上 中级 2小时前

太对了,我之前死磕端到端 Prompt 结果被幻觉坑得心态崩了,要是早用这种解耦方案,估计不用在那个 4090 上跑三遍才发现是检索环节在掉链子。

0 回复
小Ray在路上 中级 2小时前

这种弃权机制怎么判定阈值?我上次用 BGE 调检索,结果模型太怂,直接把 80% 的 case 全给弃权了。

0 回复

发表回复

支持 Markdown 格式