Primacy Bias in Multimodal Retrieval-Augmented Question Answering

  • 关联论文:2606.16494
  • 作者:Tom
  • 更新:2026-07-20

一句话结论

多模态 KB-VQA 中的检索信息并非「迷失在中间」(U 形),而是「迷失在末尾」——gold passage 放在首位比放在末位可高出 26 分,且 retrieval-side 修复全部无效,闭gap必须从 reader 侧下手。

解决什么真问题

当 Vision-Language Model(VLM)需要在超出其参数知识范围的问题上给出准确答案时,Knowledge-based Visual Question Answering(KB-VQA)是标准解法:先从 Wikipedia 级别的知识库中检索相关 passages,再将 question + passages 输入 VLM reader 产生答案。

在纯文本 LLM 领域,上下文窗口中的信息使用规律已被充分研究——Liu et al. (2024) 揭示了著名的「迷失在中间」(Lost in the Middle)效应:LLM 对 context 开头和末尾的信息利用最好,中间部分被显著忽视。这形成了一个 U 形曲线(U-shape)。

核心问题是:这一规律是否同样适用于部署环境中的多模态 KB-VQA?具体来说:

  1. 当 VLM reader 同时看到图像和多个检索到的 text passages 时,其信息使用模式是否与纯文本 LLM 相同?
  2. 如果不同——尤其是如果 VLM 的行为模式与纯文本不同——现有的 retrieval 优化策略(为纯文本 LLM 设计的)是否仍然有效?
  3. 当前评估 KB-VQA 的主流指标 recall@k 是否真的在衡量「正确信息被送到了 reader」?

这些问题在论文之前完全 open,没有任何受控实验验证——这是本文的核心贡献所在。

核心方法

Gold-Position Protocol(黄金位置协议)

这是本文设计的关键实验装置,用于严格控制 gold passage(包含正确答案的 passage)的位置变量:

标准设置:一个 KB-VQA 问题的 prompt 通常包含:

[Question] + [Image] + [Retrieved Passages: P1, P2, ..., Pk]

Gold-Position Protocol 变体:在 question 中设计多个 prompt slot(槽位),gold passage 可以在不同变体的 prompt 中被插入到不同位置,同时控制其他 passages 的内容/顺序不变。

举例(原文具体 prompt 格式未完整给出,推测结构):

Prompt A: [Q] + [Img] + [Gold passage] + [Distractor 1] + [Distractor 2] + ...
Prompt B: [Q] + [Img] + [Distractor 1] + [Gold passage] + [Distractor 2] + ...
Prompt C: [Q] + [Img] + [Distractor 1] + [Distractor 2] + [Gold passage] + ...

通过比较 VLM reader 在 Gold@Pos-N 的 accuracy,论文可以干净地测量位置效应,而不受 passage 内容差异的混淆。

实验设置

  • VLM readers:三个开源 7B/8B VLM(具体模型名原文未给出,属实现细节)
  • KB-VQA benchmarks:两个 benchmark(具体名称未给出)
  • k 值:up to 20(即最多同时送入 20 个检索到的 passages)
  • 对比维度:Gold@First(gold passage 在首位)vs. Gold@Last(gold passage 在末位)

关键发现

结果惊人地一边倒:在所有 reader × benchmark 组合中,Gold@First 始终显著优于 Gold@Last,优势幅度:

16 ~ 26 个 accuracy 百分点

这完全不是 Liu et al. 的 U 形模式,而是清晰的 Primacy 模式(首因效应)——只看开头,不看结尾。论文将这种现象命名为 "Lost at the End"(迷失在末尾)

三步消融实验(定位原因)

论文设计了三个消融来追溯 locus:

消融 1:Text-Only Control

排除图像,仅用文本 passages 测试。结果:文本模式下也观察到 primacy,但幅度为 2.2 ~ 4.5 倍弱于多模态模式

→ 结论:多模态设置放大了文本模式中已存在的 primacy bias,图像的加入不是原因,但显著放大了效应。

消融 2:Image-Position Ablation

将图像放在 prompt 的不同位置,观察对 gold passage 利用率的影响。

→ 结论:图像位置的变化影响 reader 对 text passages 的注意力分配(原文未给出具体数字)

消融 3:Distractor Shuffle Ablation

随机打乱 distractor passages 的顺序,观察 Gold@Last accuracy 是否恢复。

→ 结论:打乱 distractor 顺序对 gap 无显著影响(原文未明确说明具体数字),说明问题不在 distractor 本身,而在于 prompt slot 0(指令调优 reader 的第一个 text slot)的结构

为什么 Retrieval-Side Fixes 无效

论文测试了三种 retrieval-side 改进方案:

方案 描述 对 Lost at the End gap 的效果
MMR(Maximal Marginal Relevance) 多样性召回策略,减少相似 distractor 无效
Oracle Reranking 用 oracle 知道正确答案位置,重排 passages 无效
Rank-Based Reordering 按 relevance score 重新排序 无效

→ 结论:无论 retrieval 侧怎么优化,只要 gold passage 不在首位,reader 就大概率读不到。gap 是 reader 侧问题,不是 retrieval 侧问题

对 recall@k 指标的批判

当前 KB-VQA 评估依赖 recall@k:如果 top-k 检索结果中包含任意一个含正确答案的 passage,就算 recall=1。但论文结果表明:recall@k=1 并不意味着 reader 实际利用了该信息。Gold@Last 的存在说明即使 recall@k=1,reader 也可能完全没用到 gold passage。

论文主张:recall@k 是 deployment metric 的错误代理,需要 reader-side 的行为指标来真正评估 KB-VQA 系统的质量。

关键实验数据

(原文未给出精确数字,仅报告方向性结果) - Gold@First vs. Gold@Last accuracy gap:16 ~ 26 分(所有 reader × benchmark 组合) - Text-only vs. Multimodal 效应倍数:2.2 ~ 4.5 倍(多模态放大因子)

亮点与局限

亮点

  1. 概念命名有力:「Lost at the End」比「Lost in the Middle」更准确地描述了多模态 KB-VQA 的实际失效模式,命名本身就传达了核心发现
  2. Gold-Position Protocol 设计严谨:这是一个受控探查(controlled probe),变量控制干净,结论可信度高
  3. 消融实验链条完整:text-only → image-position → distractor-shuffle,三步逻辑递进,步步压缩候选原因
  4. 对评估实践的直接批评有价值:指出 recall@k 作为 deployment metric 的误导性,可能改变后续 benchmark 设计

局限

  1. 具体模型名称未公开:三个开源 7B/8B VLM 读者无法直接复现,只能等代码/权重公开
  2. benchmark 具体名称未给出:无法判断结论在不同类型 KB-VQA 任务(实体识别 / 关系推理 / 计数等)上的泛化性
  3. Gold@Middle(中间位置)的数据未在 abstract 中报告:只报道了 First vs. Last 的对比,U 形是否存在未被直接验证
  4. Prompt Slot 0 的具体机制:结论指向 instruction-tuned reader 的 slot 0 是 locus,但为什么 instruction tuning 会导致这个现象,论文未给出机制解释
  5. k=20 是最大测试,但实际系统可能用 k=5 或更小:在小 k 下是否依然存在同样严重的 primacy,abstract 未讨论

对工程落地的启发

  1. 在部署多模态 RAG 系统时,不要默认「正确答案在 list 的任意位置都一样好」:Gold@First 显著更好意味着应该对检索结果的排序做更aggressive的优化——把最可能含答案的 passage 放在最前面

  2. MMR / Reranking 对多模态 VLM reader 可能完全无效:本文结果表明为纯文本 LLM 设计的检索优化策略未必迁移到多模态场景;每个多模态 KB 系统都应该做一次 gold-position probe 来验证自己的 retrieval 策略是否有效

  3. 评估必须从 recall@k 走向 reader-side metrics:如果团队在评估 KB-VQA 系统时只看 recall@k,应该立刻补充 reader accuracy 指标;两个指标可以差距极大(正如本文所展示的)

  4. Instruction-tuned VLM 的 position bias 值得特别关注:指令微调后的 VLM 可能会固化「只看第一位」的模式,这对需要同时处理多个检索结果的工具型 VLM 是系统风险

  5. 在系统 prompt / user prompt 中设计 passage slot 时要谨慎:开发者不应该把关键信息放在靠后的 passage slot 中,应该考虑显式告诉模型「阅读所有 passages」或使用 chunking 策略避免超长列表

与同方向工作的关系

  1. vs. Liu et al. (2024) Lost in the Middle:本文最重要的关系是反驳——纯文本 LLM 的 U 形位置效应不直接迁移到多模态 KB-VQA;多模态 VLM 展现出截然不同的 primacy 模式
  2. vs. Multimodal RAG 优化工作:大多数现有的多模态 RAG 工作(如 MMR-based、reranking-based 方法)默认检索侧优化可以解决所有问题;本文揭示了这个假设在 reader 侧不成立
  3. vs. VLM attention mechanism 研究:本文发现了 instruction-tuned VLM 在多模态 context 上的系统性位置偏差,但没有深入解释机制;这与 LLM attention 可解释性方向高度相关
  4. vs. KB-VQA benchmark(OK-VQA, A-OKVQA 等):这些 benchmark 主要用于评估整体系统 end-to-end 准确率;本文揭示了在这些 benchmark 上可能被高估的 retrieval 质量

适合谁读

  • 多模态 RAG / VLM 应用开发者:在生产环境中构建多模态 KB-QA 系统的工程师,尤其是检索结果排序模块的设计者
  • VLM 可解释性研究者:关心 instruction tuning 如何改变 VLM attention 行为的研究者
  • RAG 评测方法研究者:对 recall@k 是否为正确评估指标有疑虑的同行
  • LLM/VLM 位置效应方向:想了解文本 LLM 与多模态 VLM 在上下文利用上存在何种差异的研究者

注:本文核心信息来自 arXiv abstract(2606.16494v3, 2026-07-04)及对应 paper card,Gold-Position Protocol 的具体 prompt 格式、模型名称、benchmark 名称为原文实现细节,abstract 中未给出。

工程落地与核查(Jay)

事实核查

核查项 结论 备注
arXiv 2606.16494v3 存在 ✅ 核实 https://arxiv.org/abs/2606.16494,v3(2026-07-04),标题与解读一致
Gold@First vs. Gold@Last gap = 16-26 分 ✅ 核实 abstract 原文:「gold-at-first beats gold-at-last by 16 to 26 points」
三个开源 7B/8B VLM readers ✅ 核实 abstract 原文确认
两个 KB-VQA benchmarks,k up to 20 ✅ 核实 abstract 原文确认
Text-only 放大 2.2-4.5 倍 ✅ 核实 abstract 原文:「amplifies an already-present text-mode primacy 2.2 to 4.5 times」
MMR / Oracle Reranking / Rank-Based Reordering 均无效 ✅ 核实 abstract 提到三种检索侧修复无效(具体消融表述见原文)
recall@k 作为 deployment metric 存在误导 ✅ 核实 解读与 abstract 逻辑一致,abstract 批判指向「recall@k is not a reliable proxy for retrieval quality in deployed VLM readers」
Gold@Middle(中间位置)数据 ⚠️ 未覆盖 abstract 只报道 First vs. Last,未报道中间位置;U 形是否存在未经直接验证
图像位置变化对注意力分配影响的具体数字 ⚠️ 存疑 消融 2 结论方向存在,具体数字未在 abstract 给出
Distractor shuffle 对 gap 影响的具体数字 ⚠️ 存疑 abstract 称「distractor shuffle」对 gap 无显著影响,但未给具体数字
prompt slot 0 是 locus ⚠️ 推断 slot 0 机制为消融 3 结论的推断方向,未在 abstract 直接命名 slot 0
三个 VLM 具体模型名称 ⚠️ 未披露 abstract 未给出模型名称,解读完全未虚构,可信
两个 KB-VQA benchmark 名称 ⚠️ 未披露 abstract 未给出 benchmark 名称(如 OK-VQA / A-OKVQA 等为解读自行举例)
代码/权重公开时间 ⚠️ 未明确 abstract 未说明 code release 时间线

存疑程度:低(核心数字全部来自 abstract 原文核实)。主要未核实项为具体模型名称、benchmark 名称、slot 0 精确机制,均为 abstract 原文未覆盖的实现细节,不影响核心结论可信度。

可读性精修

  • 术语统一:全文「gold passage」「Gold passage」「Gold@First」大小写混用,建议统一为「gold passage」小写(全小写为论文惯例)。
  • 数字标注统一:16-26 分建议加注单位(accuracy percentage points),避免读者误解为原始 accuracy 而非 gap。
  • 逻辑顺序:「三步消融」顺序建议与论文原文顺序对齐:消融 1(Text-Only)→ 消融 2(Image-Position)→ 消融 3(Distractor Shuffle),当前解读顺序正确。
  • Oracle Reranking 描述:Oracle Reranking 是用 oracle 知道正确答案位置——这意味着 reranking 已知 gold passage 位置却依然无效,说明 gap 不是「不知道哪个 passage 重要」而是「即使知道也不读」,此层逻辑建议在工程启发中显式点出。

工程落地:实际系统怎么用,坑在哪

适用场景

多模态 KB-VQA 生产系统(产品图 + 说明书知识库、医学影像 QA、视觉文档问答)、视频帧级 QA(监控视频证据定位)、多模态 RAG pipeline 评估与排序模块设计。

Gold-Position Probe 最小可跑测试

如果你的系统涉及多模态 KB-VQA,建议跑一次 Gold-Position Probe 验证自己的 reader 是否有 primacy bias:

# 伪代码:gold-position probe
def gold_position_probe(vlm_reader, question, image, kb_passages, gold_idx):
    """
    kb_passages: 检索回来的 top-k passages(含 gold passage 在已知位置 gold_idx)
    gold_idx: gold passage 在 kb_passages 中的真实位置(用于控制实验)
    """
    results = {}
    for pos in ["first", "last", "middle"]:
        passages_variant = rearrange(kb_passages, gold_idx, target_pos=pos)
        prompt = build_prompt(question, image, passages_variant)
        answer = vlm_reader.generate(prompt)
        results[f"gold_at_{pos}"] = evaluate(answer, ground_truth)

    gap_first_last = results["gold_at_first"] - results["gold_at_last"]
    gap_first_middle = results["gold_at_first"] - results["gold_at_middle"]

    print(f"Gap First-Last: {gap_first_last:.1f}pp")
    print(f"Gap First-Middle: {gap_first_middle:.1f}pp")
    # ⚠️ 如果 gap > 10pp → 你的 VLM reader 有严重 primacy bias
    # ⚠️ retrieval-side 优化(MMR/reranking)大概率无法闭合此 gap
    return gap_first_last

# 用法示例
probe_result = gold_position_probe(
    vlm_reader=Qwen2VLReader(model="Qwen2-VL-7B-Instruct"),  # 三个具体模型待原文披露
    question="图中产品的额定功率是多少?",
    image=product_image,
    kb_passages=retrieved_top_20,
    gold_idx=15  # gold passage 实际在第16位
)

闭 gap 策略:从 reader 侧下手

既然 retrieval-side fix 全部无效,以下 reader-side 策略值得尝试:

  1. Aggressive 排序:强制将最可能含答案的 passage 排在第 1 位(即使 recall@1 降低),而不是相信 ANN score 排序。
  2. Explicit All-Read Prompt「请仔细阅读上述所有 {k} 个 passage,再回答问题」——在 prompt 中明确要求全读,可能部分对抗 primacy bias(但 paper 未测试此策略,效果未知)。
  3. Multi-pass Reading:先生成「哪些 passage 可能包含答案」的 intermediate prediction,再读对应 passage 做最终答案——两阶段 reader 可能对 slot 0 依赖更低。
  4. Position Debiasing Fine-tune:在 fine-tune 阶段对 gold passage 位置做均匀采样(不要总放首位),显式训练 VLM 抵抗位置偏差。

⚠️ 关键坑点

  1. k=20 是最大测试,k=5/3 时 gap 可能不同:论文测试上限 k=20,实际系统往往只取 top-3 或 top-5;小 k 下位置效应是否同等严重尚无数据,不要直接假设 gap 恒定。
  2. Gold@Middle 数据缺失,U 形未被排除:abstract 只测 First vs. Last,未报告 Middle(中间位置);「Lost at the End」命名可能过于确定——实际上如果 middle 也比 first 差但比 last 好,则仍存在部分 U 形,只是极值在首位而非中间。
  3. 三个具体 VLM 读者未知,结论泛化性受限:abstract 未披露模型名;结论是否对 LLaVA 系列、Qwen-VL 系列、Vicuna-VL 系列同等有效未知;部署到特定模型前建议独立验证。
  4. Slot 0 机制未解明,实际修复方向不明确:论文指出 slot 0 是 locus,但为什么 instruction tuning 导致 slot 0 优先——attention 权重分析?SFT 数据位置偏差?——未给出机制;无法针对性做架构级修复,只能靠行为层 workaround。
  5. recall@k 替代指标尚无标准:论文批判 recall@k 的同时没有给出替代方案;工程团队目前只能自己在 reader accuracy 和 recall@k 之间双轨评估,没有行业标准参考。
  6. Benchmark 名称未知,无法直接复现实验条件:OK-VQA / A-OKVQA 等 KB-VQA benchmark 是解读自行举例,原文未确认;选型时应确认自己的 task 类型(实体识别 vs 计数 vs 关系推理)是否与论文测试任务一致。