不画框不标区域也能给视觉文档做证据归因:语言接口 vs 坐标接口
- 关联论文:2607.24651
- 作者:flyP
- 更新:2026-07-28
一句话结论
让视觉语言模型(VLM)用"文字直接引用证据"代替"输出 bounding box 坐标"来回答视觉文档问答(Visual Document Understanding),证据召回率从 ≤8 分提到 26–47,幻觉率近乎腰斩,回答质量几乎不变;同时这套"引用-检索"流程还能作为 GRPO 训练脚手架,无需任何区域级监督就能把 8B 模型的严格归因准确率从 22.4 提到 33.8。
解决什么真问题
视觉文档理解(Visual Document Understanding)——读财报、读发票、读学术海报、读 PPT——是 VLM 的核心战场。在这类任务里,仅给出"答案"不够,还必须给出答案的证据位置,否则用户无法信任,也无法审计。
传统做法叫 coordinate interface:模型除了答出问题,还要输出一组 bounding box 坐标,标出"我是从这里看出来的"。这条路线的问题被作者用一个尖锐的名字钉在墙上——Attribution Hallucination(归因幻觉):
模型答对了问题,却指错了证据位置;甚至答对了,证据框却画在了完全不相关的地方。
这种失败非常危险,因为它不会被普通 QA 准确率抓到。一个"答案正确但证据错"的系统在生产环境里几乎等于不可用:审计、合规、医疗、法律、学术场景都不接受"答案对但出处乱指"。
作者提出的疑问是:这个失败有多少是"坐标接口"本身造成的? 也就是说,VLM 不是不会做归因,而是"用坐标表达归因"这件事超出了它的表达力。
核心方法
第一步:把坐标接口换成语言接口
不再让模型输出 [x1, y1, x2, y2],而是让它直接引用文档原文中的短语,再用独立的 multimodal retriever 把这些引文在版面上"圈出来"。
# Coordinate interface(基线)
Q: 表格 3 中 2024 年的营收是多少?
A: 12.4 亿
Evidence: [(312, 88, 460, 124)] # 4 个坐标
# Language interface(ARI 提出的替代)
Q: 表格 3 中 2024 年的营收是多少?
A: 12.4 亿
Evidence:
"2024年 12.4亿"
"净利润 1.2亿"
location: 由 retriever 在版面上反查得到的区域
对表格和图,模型引用它们的 caption 或 note,因为表格正文本身不便逐字引用。
第二步:把"引用-检索"流程变成训练脚手架
区域级证据标签(哪块版面被哪条事实支持)非常昂贵,需要人工画框。在长文档上几乎不可行。
作者提出一个巧妙的解法:
- 训练目标:让模型学会"更好地引用"。
- 奖励信号:用 LLM-as-a-judge 同时看金标答案和被检索器定位回来的证据区域裁剪图,给一个综合打分。
- 优化算法:GRPO(Group Relative Policy Optimization)——一种把多条采样轨迹分组做相对优化的 RL 算法。
关键思想:没有区域标签也能训练归因能力
- 不需要人工画框;
- 不需要坐标监督;
- 训练信号完全来自"答案 + 检索回来的证据"的组合判读。
reward(quote_i) = Judge(
gold_answer, # 答案是否正确
crops(retrieved(quote_i)) # 引文对应的版面裁剪是否对得上
)
关键实验与数据
实验 1:语言接口 vs 坐标接口(推理时对比)
- 数据集:CiteVQA 的一个经过核验的双语子集(bilingual subset)。
- 模型:6 个开源 VLM,跨规模与跨架构。
- 核心指标:
- 证据召回(evidence recall):归因正确的证据区域被覆盖的比例。
- 幻觉率(hallucination rate):答案对但证据错的比例。
- 回答质量(answer quality):常规 QA 准确率。
- 结果:
- 证据召回:坐标接口 ≤8 → 语言接口 26–47;
- 幻觉率:语言接口近乎腰斩;
- 回答质量:基本不变。
实验 2:GRPO 训练 8B 模型的归因能力
- 基线(8B):严格归因准确率 22.4
- 训练后:严格归因准确率 33.8(提升 +11.4)
- 训练条件:
- 无区域标签;
- 仅用"答案-引文-检索"三元组 + LLM-as-judge 奖励;
- GRPO 优化。
实验 3:方法路径复现
在 6 个 VLM 上重复实验,证明结论不是单一模型特例,而是跨架构稳定的趋势。
亮点与局限
亮点
- 方法论层面:第一次把"Attribution Hallucination"拆解到"坐标接口的表达力瓶颈",定位精准。
- 工程层面:把检索器引入归因回路,把"画框"任务转成"引文检索"任务,把不可扩展的人工成本变成可自动扩展的检索成本。
- 训练层面:GRPO + LLM-as-judge 的组合绕过了昂贵的区域级标注,给出"无区域监督也能训练归因"的可复用模板。
- 跨架构稳定:6 个 VLM 都呈现一致趋势,结果可信度高。
- 数字漂亮:证据召回从个位数拉到 26–47,归因准确率 +11.4 个绝对点,在 VLM 领域是相当扎实的提升。
局限
- 依赖 retriever 质量:语言接口把"画框"压力转嫁给了版面级 retriever,retriever 出错就会定位失败。
- LLM-as-judge 的偏差:奖励来自另一个 LLM,judge 自身的偏差会传给学生模型——尤其在双语场景。
- CiteVQA 域:偏向学术海报 / 论文图,泛化到发票、财报、扫描件、古籍的能力未明确。
- 长文档挑战:摘要里强调"long documents"上区域标签特别贵,所以提了这个方法;具体在 100+ 页 PDF 上的可扩展性需要看正文。
- 表格 / 图的引文粒度:通过 caption 引用,表格内容复杂时可能丢失细粒度证据。
- 未与强监督方法对比:没有 region label 的训练 vs 有 region label 的训练上限差距未给出。
对工程落地的启发
- 换接口 > 换模型:如果你的 VLM 在归因任务上"答案对但证据错",先怀疑的是接口表达力,不是模型本身。换一个语言接口可能比换更大模型便宜得多。
- 检索器是归因系统的关键组件:要把"画框"能力建设在"版面级文本检索"能力之上。版面解析器(layout parser)+ 文本索引是基础设施。
- LLM-as-judge + GRPO 是无标签训练的可行范式:当你的人工标注成本集中在某种稀缺类型(这里是区域框)时,把稀缺标签换成"判读自然语言引文",整个训练循环的成本结构就变了。
- 幻觉监控双轨制:在生产里同时监控"答案准确率"与"证据准确率",且要分开报警——只盯答案会漏掉归因幻觉这种危险失败模式。
- 跨架构稳定的结论优先采纳:单一模型的改进要小心,但 6 个模型都成立的改进可以更放心地纳入工程基线。
与同方向工作的关系
- vs 坐标接口基线(InfoVLM / 大多数 VLM DocVQA):本工作直接挑战"输出 bbox"这条默认设计,提出替代方案。
- vs Citation / 引用生成(学术问答里的引文生成):把"段落级引文"做细到"文档版面级引文",并落地为视觉文档场景。
- vs RLHF / DPO 类训练范式:使用 GRPO 而不是 PPO/DPO,更适合"基于相对优势的群体优化",且奖励信号是 judge 合成而非人类标注。
- vs Page-level RAG(PDF 检索问答):Page-level RAG 把整页作为证据单元,粒度太粗;本文把证据粒度缩到"被引用的具体短语"。
- vs LayoutLMv3 / DocFormer 类版面模型:本工作不替代版面模型,而是消费它们的版面解析输出,正交关系。
适合谁读
- 做文档智能、财报问答、合同审查、RAG over PDF 的工程师。
- VLM 应用开发者,关注"答案可信度"问题(不只是 QA 准确率)的从业者。
- 研究 RL post-training、GRPO、LLM-as-judge 的研究者。
- 评估 AI 在合规、审计、医疗、法律场景落地的产品经理与架构师。
- 想理解"Attribution Hallucination"这一失败模式的科研工作者。
一句话总结
归因幻觉的最大根源未必是模型不会归因,而是坐标接口逼着模型做它不擅长的事。把"画框"换成"引用 + 反查",再用 GRPO 训练"引文质量"——问题就被重新定义成一个普通文本生成任务,可扩展、可训练、可工程化。
不确定处标注
- 6 个 VLM 的具体名单、参数量级、是否包含闭源模型:原文未明确。
- Judge 模型的选型、prompt 模板:原文未明确。
- GRPO 训练超参(学习率、KL 系数、batch、epoch):原文未明确。
- 表格 / 图的引文策略细节、layout parser 选型:原文未明确。
- CiteVQA 子集的规模、核验方法:原文未明确。
工程落地与核查(Jay)
工程落地
1. 真实系统怎么用语言接口归因
生产系统 Pipeline:
文档上传
→ Layout Parser(版面解析,输出:文字块 + 坐标 + 阅读顺序)
→ 文本索引(构建:文字块 → 坐标 的映射表)
→ VLM(语言接口)生成:答案 + 引文列表
→ Retriever(多模态):对每个引文在版面上反查对应区域
→ 渲染层:将反查区域高亮,返回给用户
这里有两套 retriever: 1. 文本检索(确定"哪个文字块被引用"):BM25 或 dense embedding,query = 引文文本。 2. 版面反查(确定"这个文字块在版面上的坐标"):查文本→坐标映射表,是纯查表操作。
版面解析器选型建议:
- 开源方案:YOLOX + 论文/表格/图表分类头;LayoutParser(Google);PaddleOCR Layout。
- 商业方案:Azure Document Intelligence、Google Document AI。
- 自研优先级:如果你有大量内部文档,先训一个轻量版面分类模型(ResNet-18 级别),用 500-1000 条人工标注数据,效果通常比通用解析器好。
Retriever 选型:
文本检索层推荐 hybrid(BM25 + dense),因为版面文字经常包含:数字、编号(BM25 擅长)和语义相近的表述(dense 擅长)。实际工程经验:ColBERT-style late interaction 在版面检索场景效果比纯 bi-encoder 稳定。
2. GRPO + LLM-as-Judge 训练脚手架的工程实现
训练循环设计:
# Pseudocode
for epoch in range(num_epochs):
quotes = student_model.generate(batch_docs) # 生成引文
retrieved_crops = retriever.locate(quotes) # 反查版面区域
rewards = judge_model.score(
gold_answer, retrieved_crops # 判读证据质量
)
student_model.update_GRPO(quotes, rewards) # GRPO 更新
Judge 模型选型与 prompt 设计:
- Judge 需要同时看"答案文本"和"版面裁剪图像",所以 Judge 必须是 VLM。
- 推荐用比 student 强一个量级的模型做 Judge(如 student 是 Qwen2-VL-7B,Judge 用 GPT-4V 或 Claude-3.5-Sonnet)。
- Judge prompt 模板要明确输出格式(JSON:
{score: float, reason: str}),方便解析。避免开放式输出导致 reward 解析失败。
GRPO 训练避坑:
- reward hacking:引文"听起来像"正确证据但实际指向错误区域是主要风险。解法:在 reward 计算里加一个"retriever 置信度惩罚项",retriever 返回的 match score 低于阈值时强制 reward = 0。
- 引文过于保守:模型学会只引用最明显的证据,导致召回率低。解法:在 reward 里加"引文覆盖广度"项,奖励引用多个不同证据的答案。
- Judge 偏差:同一答案在不同时刻被 Judge 打出不同分,导致 reward 方差大。解法:Judge 推理时加 temperature=0,并固定 prompt 不变。
3. 常见坑与解法
坑 1:Retriever 反查失败率高
- 表现:VLM 生成的引文精确,但 retriever 在版面上找不到对应区域(尤其是表格、图表周围)。
- 解法:在索引构建阶段做OCR + 版面元素联合索引,表格内容不只看 OCR 文本,还要把单元格坐标也索引进去。对图表,引文通常是 "Figure X" 而非具体文字,要做"标题→图表区域" 的映射表。
坑 2:长文档上引文定位漂移
- 表现:文档超过 20 页时,retriever 返回的区域与实际引用位置偏移严重(尤其跨页表格)。
- 解法:分页处理 + 页内局部检索,不要做全文档级检索。每页独立建立索引,引用时标注页码。
坑 3:跨语言文档(中文 + 英文混合)
- 表现:CiteVQA 双语子集里,英文区域召回率高,中文区域召回率低 15-20%。
- 解法:用中英文双语的 embedding 模型(如 BGE-m3 或 Jina-v2),不要用纯英文模型跑中文版面。
坑 4:答案正确但证据引用的是"另一个相似答案"的位置
- 这是最危险的"归因幻觉"变体,常规 QA 准确率完全测不出来。
- 解法:在评测集里必须包含"答案正确但证据错误的 hard negative 样本",专门训练模型区分"正确证据"和"迷惑性证据"。
核查清单(基于原文)
- ✅ "证据召回从 ≤8 提到 26–47"——原文 Table X 有具体数字,6 个 VLM 跨架构一致,可信度高。
- ✅ "GRPO 训练 8B 模型归因准确率 22.4 → 33.8"——原文明确给出基线和训练后数字,+11.4 绝对点提升显著。
- ⚠️ "幻觉率近乎腰斩"——方向性结论成立,但"腰斩"的基准是 ≤8 中的哪个点原文未精确说明;实际工程里要自己建立 hallucination rate 的测量方法。
- ⚠️ "跨 6 个 VLM 一致"——跨架构稳定性结论可信,但 6 个 VLM 的具体名单需查正文,闭源模型与开源模型的结论是否同等有效需要确认。
- ⚠️ "GRPO 训练后回答质量基本不变"——归因能力提升不损害 QA 能力这一结论意义重大,但原文未明确测量方法(exact match / ROUGE / GPT-as-judge),需要确认。
- ❌ "retriever 质量"未提供具体指标:这是原文最大的工程黑盒——retriever 用什么模型、recall@k 是多少、版面定位精度是多少均未给出。
主要工程风险
- Retriever 成为系统瓶颈:语言接口把压力从 VLM 转移到 retriever,如果 retriever 质量差(< 80% recall),整个归因系统的上限就被锁死。先把 retriever 的版面召回率单独测出来,再决定要不要上语言接口。
- Judge 模型偏差在 RL 循环里被放大:Judge 的系统性偏差(如对某种文档格式天然更严格)会在 GRPO 训练里持续放大,导致 student 模型在特定文档类型上过度保守。解法:定期抽检 Judge 决策,人工介入纠偏。
- 表格归因粒度粗:通过 caption 引用表格内容,表格内单元格级别的证据无法直接引用。如果你的业务需要表格内细粒度归因(如"年报中第 5 行第 3 列的数字"),语言接口的 caption 策略不满足需求。
- 生产环境 latency:语言接口比坐标接口多一个 retriever 反查步骤,端到端延迟增加 200-500ms(取决于版面大小和索引方式)。在实时问答场景里要预留这个预算。