George Arthur Baker, Ankush Raut, Sagi Shaier, Lawrence E Hunter, Katharina von der Wense | 2024-12 | arXiv Category: model | Tags: long-context, multi-hop-qa, lost-in-the-middle, position-bias, chain-of-thought
"Lost-in-the-middle"在多跳QA中呈现二维退化:LLM准确率不仅随证据绝对位置下降(U型),还随多个证据间的相对距离单调退化(lost-in-between)。CoT仅对instruction-tuned模型有效;上下文裁剪以准确率换鲁棒性,无已有方法同时解决两个维度。
Liu et al. (2024) 在 single-hop QA 中发现了 "lost in the middle" 的 U 型位置偏置,但真实 RAG 场景需要多跳推理——$k$ 个证据文档分散在上下文不同位置,必须全部被检索并联合推理才能回答。多跳设定的位置组合空间为 $\binom{n}{k}$,$k=4, n=20$ 时已是 4845 种排列,使得已有缓解方案(reranking、permutation self-consistency、long-context fine-tuning)在计算上不可行。核心未解问题:多个证据之间的相对距离是否是独立于绝对位置的第二个退化变量?
作者将 Liu et al. 的 single-hop perturbation 协议扩展为 multi-hop 版:在 3 个 MHQA 数据集(HotpotQA / 2WikiMultihopQA / MuSiQue-Ans)上,用 20 个文档构建 prompt,$k$ 个 gold 文档在 9 个预选位置组合中系统变化——5 个 adjacent(gold 紧邻,如 (1,2), (5,6), …)和 4 个 separated(gold 分散,如 (1,5), (5,10), …)。对文档表示做 3 种处理(原文 / BART-large-CNN 摘要 / LLaMA-2-7B 的 KG triple 抽取),prompt 模式叠加 standard 与 few-shot CoT,在 3 个模型(MPT-7B-8k-instruct、Llama-2-7B-longlora-8k-ft、GPT-3.5-turbo-1106)上评测 best-subspan accuracy。
核心技术壁垒:用 adjacent vs separated 二元对照作为控制变量,将"绝对位置的 U 形偏置"与"证据间距的单调退化"解耦。这种解耦是非平凡的——天真做法只画 U 形曲线,会把 (1,5) 和 (15,20) 都当 "两端" 统计平均,从而隐藏 between-distance 效应。通过固定 adjacent/separated 条件并横跨位置做配对比较,作者首次独立测出了 inter-evidence distance 的退化贡献。
本文为评测/诊断类工作,不发布新模型。下方展示实验方法论的总体架构。

Paper's Figure 1, verbatim (caption: "Question Answering setups with documents containing relevant information (green) and distractor documents (gray) placed at different ordinal positions, with both Single-hop (1a) and Multi-hop (1b) questions.").
Figure 1 是全文的概念基石。上半 (a) 复现 Liu et al. 的 single-hop 设定:1 个 gold 文档在 20 个位置间移动。下半 (b) 是本文的核心创新:$k$ 个 gold 同时存在,引入"距离 d"(两个 gold 之间的 distractor 数量)作为新的实验自由度。关键在于 (b) 右侧的 Distance=1 示例:相同位置区间(3,4 vs 3,5),仅因一个 distractor 插入 gold 之间,就构成了 "adjacent vs separated" 的对照条件。
| Model | Pos. encoding | Long-ctx mechanism | Inst.-tuned | Context | 角色 |
|---|---|---|---|---|---|
| MPT-7B-8k-instruct | ALiBi | ALiBi 原生外推 | ✓ | 8k | 代表 ALiBi 路线 |
| Llama-2-7B-longlora-8k-ft | RoPE | LongLoRA shifted-attention FT | ✗ | 8k | 代表 RoPE-extension 路线 |
| GPT-3.5-turbo-1106 | 闭源 | 闭源 | ✓ | 16k | 代表闭源 SOTA |
三角对照跨越 (ALiBi vs RoPE vs 闭源) × (instruction-tuned vs 非 instruction-tuned) 两个设计轴,可分离位置编码与指令微调对偏置行为的独立贡献。
N/A — 本文不发布新模型,不存在 tokenizer → embed → decoder → head 的架构画图需求。三个被评测模型均为公开 checkpoint 直接加载,其各自架构详见原始论文(Touvron et al. 2023; MosaicML 2023; OpenAI 2023)。
无形式化作者证明 — 仅实证。
本文无定理/引理/形式化推导。唯一的数学内容是组合计数,用于论证实验空间大小:
| 符号 | 含义 | 取值 | ||
|---|---|---|---|---|
| $n$ | prompt 中总文档数 | 20 | ||
| $k$ | gold 文档数(= hop 数) | 2, 3, 4 | ||
| $P = \{p_1, \dots, p_k\}$ | gold 文档位置集合 | $P \subset \{1, \dots, 20\}$ | ||
| $d$ | gold 文档间距 | $\ | p_i - p_j\ | - 1$(间隔的 distractor 数) |
| $A_q$ | 问题 $q$ 的 ground-truth 答案及 alias 集合 | — | ||
| $\hat{a}$ | 模型输出 | — |
$$\binom{n}{k} = \binom{20}{2}, \binom{20}{3}, \binom{20}{4} = 190, 1140, 4845$$
物理意义:$k$ 个 gold 文档在 $n=20$ 个位置中的不同放法数。$k=4$ 时组合数接近 5000,逐一评测需要每条问题推理 5000 次——这是论文选择 9 个采样组合的直接理由。
$$\text{acc}(q, P) = \mathbb{1}[\exists\, a \in A_q : a \subseteq \hat{a}]$$
物理意义:best-subspan accuracy——只要模型输出 $\hat{a}$ 中包含任一合法答案字串,即判正。
| Dataset | Hops | Questions | Docs/Q (原始) | 文档来源 |
|---|---|---|---|---|
| HotpotQA | 2 | 3,703 | 20 | Wikipedia |
| 2WikiMultihopQA | 2, 4 | 6,288 | 10 → 20 (Contriever 补充) | Wikipedia + KB |
| MuSiQue-Ans | 2, 3, 4 | 1,209 | 20 | 多源 + adversarial |
官方 test set 为私有排行榜,作者将 validation set 切半:前半作 validation、后半作 test。2WikiMultihopQA 原始每题仅 10 个文档,额外用 Contriever 检索 10 个 distractor 补齐到 20,对齐 Liu et al. 的 20-doc 协议。
| Dataset | Full (avg words) | Summary | KG Triples |
|---|---|---|---|
| HotpotQA | 69 | 29 | 33 |
| 2WikiMultihopQA | 45 | 21 | 29 |
| MuSiQue-Ans | 85 | 32 | 35 |
裁剪把单文档长度压到原文 1/3–1/2,整 prompt 长度减少 50–70%。

Paper's Figure 2, verbatim (caption: "The performance impacts of varying the positions of relevant documents within instruction-tuned models' inputs, with context reduction techniques and Chain-of-Thought prompting. All positions are out of 20 total documents.").
Figure 2 同时回答三个问题。(a) Full Doc + CoT(红虚线)几乎处处最优,但 U 型曲线仍清晰可见——CoT 提升绝对水平但不消除位置偏置。(b) KG 和 Summary 曲线(绿/蓝实线)最平坦,GPT-3.5 子图中 KG 近乎水平——验证缩短上下文确实抹掉了位置偏置。(c) 但 KG/Summary 的绝对水平比 Full Doc 低 15–30 pp——"准确率 vs 位置鲁棒性" trade-off 一图说尽。

Paper's Figure 3, verbatim (caption: "Experimental results for Llama-2-7b-longlora-8k-ft. Results for MuSiQue 3- and 4-hop splits are relegated to Appendix A due to exceedingly poor performance.").
Figure 3 揭示了一个反直觉但工程上至关重要的失败模式。所有 +CoT 虚线(红/绿/蓝虚线)几乎贴在 0% 横轴上,而无 CoT 的实线还在 5–25% 区间。这表明 few-shot CoT 不是 "always-on" 增益:在非 instruction-tuned 模型上,few-shot exemplar 引发极端 primacy bias,模型退化为对示例的复述而非对上下文的推理。这解释了为何许多 RAG pipeline 加 CoT 后效果反降。

Paper's Figure 4, verbatim (caption: "Average question-answering accuracy for full document prompts by distance setting for GPT and MPT models. Performance with adjacent evidence documents is generally higher than when evidence documents are separated by distractor documents.").
Figure 4 是论文核心结论的最干净证据。6 个 (dataset, hop) 配置 × 2 个模型 = 12 对柱子中,红色 (adjacent) 全部高于蓝色 (separated),差距 1–7 pp。GPT-3.5 HotpotQA: adj ~49% vs sep ~44%(-5 pp);MPT HotpotQA: adj ~49% vs sep ~42%(-7 pp)。这确认 "lost-in-between" 不是噪声——它是跨模型、跨数据集的稳定现象,且独立于 "lost-in-the-middle" 的绝对位置效应。
| Condition | (1,2) | (5,6) | (10,11) | (15,16) | (19,20) | (1,5) | (5,10) | (10,15) | (15,20) |
|---|---|---|---|---|---|---|---|---|---|
| Standard | 76.7 | 71.1 | 71.4 | 72.8 | 73.9 | 73.8 | 70.0 | 70.2 | 71.1 |
| Standard+CoT | 79.3 | 73.9 | 75.1 | 75.6 | 76.6 | 77.5 | 72.9 | 71.8 | 74.1 |
| KG | 56.1 | 53.8 | 53.6 | 54.3 | 57.5 | 56.1 | 52.0 | 52.0 | 54.6 |
前 5 列 (adjacent) 呈 U 形:两端 76.7/73.9 高,中间 71.4 低——经典 lost-in-middle。后 4 列 (separated):相同绝对位置区间下全部低于 adjacent 对照——这是 lost-in-between。比较 (1,2)=76.7 vs (1,5)=73.8:起点相同,第二个 gold 仅远 3 格就掉 2.9 pp。
N/A — 本文不训练任何模型。三个 LLM 使用公开 checkpoint 直接推理(MPT via HuggingFace, Llama-2-longlora via HuggingFace, GPT-3.5 via OpenAI API)。BART-large-CNN 也是预训练好的;KG triple 抽取通过 in-context prompting 完成,无 fine-tuning。
| Stage | 说明 |
|---|---|
| Pre-training | [论文未涉及] — 使用三方预训练好的 checkpoint |
| SFT | [论文未涉及] — MPT/GPT-3.5 已经 instruction-tuned; Llama-longlora 无 SFT |
| Post-training | [论文未涉及] |
| Evaluation-time intervention | CoT prompting (3-shot least-to-most) 和 context reduction (BART summary / KG triples) |
Hardest-to-replicate training trick: N/A(评测论文,不涉及训练)。最难复现的评测 trick 是位置采样策略:9 个组合的选取需要覆盖 adjacent/separated 对照且均匀覆盖 1–20 的位置区间,这在代码中通过 config.json 的硬编码位置数组实现。
| Step | Premise (引用) | Conclusion | Load-bearing? |
|---|---|---|---|
| 1 | Liu et al. 2024 在 single-hop QA 上发现 LITM U 形曲线(1 gold + N distractor 协议)(§2.1) | LITM 真实但仅 single-hop 维度被刻画 | 公认前提 |
| 2 | 真实 RAG 是 multi-hop,$k$ 个 gold 离散;位置组合 $\binom{20}{k}$ 最高 4845;reranking / perm self-consistency / long-ctx FT 在此组合空间下不可行 (§1, §2.2) | LITM 在 multi-hop 维度需重新评估,旧方法救不了 | load-bearing motivation |
| 3 | 设计 adjacent(gold 紧邻)vs separated(gold 分散)二元对照,固定 distractor 数量和顺序 (§4) | 实验可独立测出"证据间距"是否为独立退化变量 | load-bearing 实验设计基石 |
| 4 | 实测 3 模型 × 3 数据集 × 多 hop,adjacent 全部优于 separated 1–7 pp (Figure 4);Llama-longlora+CoT 崩溃至 ~0% (Figure 3) | "lost-in-between" 跨模型稳定;CoT 在非 inst-tuned 模型上是灾难 | load-bearing 主结论 |
| 5 | KG/Summary 压平位置曲线但绝对准确率掉 1/3–1/2 (Figure 2);弱模型(Llama-longlora)反从裁剪受益 | 现有缓解策略都在"位置鲁棒 + 准确率"间 trade-off,留待后续 | decorative 负面结论 |
代码来源:https://github.com/Spongeorge/long-context-multihop (MIT license)
| 论文概念 | 代码路径 | 关键实现 |
|---|---|---|
| 位置生成器 (§4) | config.json; hotpot_config.json | "positions" 数组硬编码 9 个位置组合,0-indexed |
| 文档排列 | scripts/make_qa_prompts.py:order_input() (~L40) | 遍历 0..total_len-1,在 gold_positions 处插入 gold,其余位置依序填 distractor |
| Prompt 模板 | prompts/qa_standard_instruct.prompt (zero-shot); prompts/qa_3shot_cot_instruct.prompt (CoT) | 使用 {search_results} 和 {question} 占位符 |
| 模型推理 (MPT/Llama) | scripts/get_mpt_responses.py (~L35–60) | config.max_seq_len = 8192; temperature=0; max_new_tokens=256; load_in_8bit=True; torch_dtype=torch.bfloat16 |
| 主入口 | run_experiment.py:main() | 遍历 config 中 datasets × positions,调用 make_qa_prompts.py 生成 prompt → get_mpt_responses.py 推理 |
config.json 使用 0-indexed 位置([0,1], [4,5], …),对应论文中的 1-indexed (1,2), (5,6), …。复现时需注意此转换——make_qa_prompts.py:order_input() 的 while i < total_len 循环从 0 开始。get_mpt_responses.py 中 load_in_8bit=True — 论文未显式提及 MPT 推理精度为 INT8。这可能对边缘位置的准确率有微小影响,但 adjacent vs separated 的相对比较不受影响(两者使用相同推理配置)。data/base/2wiki_2ndhalfvalid_adtldocs.json(文件名中 adtldocs = additional docs)已预处理好,不在 runtime 检索。本文的"壁垒"不在于模型或算法,而在于实验设计的解耦能力。order_input() 函数的实现看似简单(20 行 Python),但其背后的 adjacent/separated 对照设计是论文全部 claim 的唯一支撑。如果不做这个解耦——比如只画 U 形曲线——就会把 between-distance 效应混入 absolute-position 效应,无法得出"lost-in-between 是独立退化维度"的结论。
N/A — 论文不讨论量化。唯一相关细节:get_mpt_responses.py 中 MPT 推理使用 load_in_8bit=True(INT8 weight quantization via bitsandbytes),论文未显式声明。
本文非模型发布,以下为论文结论对 RAG serving 的直接推论。
N/A — 本文为评测论文,非模型发布。不存在官方推理/训练代码中的模型架构可供提取。三个被评测模型(MPT-7B、Llama-2-7B、GPT-3.5)的架构图应分别参见各自的原始论文 L2 笔记。