什么是 中间遗忘现象(Lost in the Middle)?
中间遗忘现象(Lost in the Middle)是长上下文中的位置敏感失败模式:同一相关证据位于部分中间位置时,语言模型可能比证据位于开头或结尾时更难可靠使用它。
快速了解
| 规范文档 | 官方规范 |
|---|
工作原理
中间遗忘现象是一种通过任务表现观察到的经验模式,并不证明模型真的遗忘了 Token,也不说明所有失败都由同一个机制导致。请求可以完整落在上下文窗口内,但检索、上下文组装、证据利用、推理、引用或授权仍可能失败。原始受控实验在多文档问答和合成键值检索中发现了位置相关结果;RULER、NoLiMa、LongBench v2 等后续评测又补充了多跳推理、聚合、低词汇重叠、代码、对话和结构化数据等维度。生产评测应同时改变位置、长度、干扰项数量与相似度、证据数量和证据状态,并记录完整发布身份。
主要特点
- 通过移动同一证据并比较任务表现来测量位置敏感性
- 即使全部输入 Token 均被接受且未发生截断,也可能出现
- 结果会随模型版本、分词器、提示模板、任务、长度、干扰项和推理参数变化
- 常表现为中间位置较弱,但不能假定所有模型都呈现固定 U 型曲线
- 需要分别测量检索、证据利用、推理、引用正确性与端到端成功率
- 应加入证据缺失、冲突、恶意和未授权等负控
常见用途
- 在上线前确定一个模型发布版本的有效上下文范围
- 诊断 RAG 失败来自检索、上下文组装还是生成阶段
- 比较证据排序、重排、压缩与分层处理策略
- 测试长文档问答、代码仓库、对话历史和结构化记录
- 围绕最差位置准确率、位置差距、引用、延迟和成本建立发布门禁
示例
loading...
Loading code...常见问题
中间遗忘现象是否意味着大模型忘记了中间 Token?
不一定。这个术语描述的是相关证据移动到不同位置后,任务表现发生变化。它不能直接证明模型发生了某种记忆事件,也不能证明所有模型都因同一个架构原因失败。
中间遗忘现象与上下文截断相同吗?
不同。截断会在推理前移除 Token;中间遗忘关注的是证据仍在已接受的上下文中,模型却未能可靠使用。诊断位置敏感问题前,应先检查 Token 数和实际保留的来源 ID。
大海捞针测试足以评估长上下文可靠性吗?
不足。它适合做检索冒烟测试,但字面重叠可能让任务过于简单。稳健评测还应改变长度、干扰项、证据数量和词汇重叠,并覆盖多跳、聚合、真实业务与负控用例。
RAG 能消除中间遗忘现象吗?
RAG 可以减少上下文总量,但也可能漏掉必需证据、错误排序,或重新组装出难以利用的长上下文。应分别测量检索召回、证据保留、生成模型利用、引用正确性和端到端任务成功率。
团队应如何定义有效上下文长度?
应将其定义为固定模型与流水线版本在特定业务中同时满足质量、安全、延迟和成本阈值的范围,并记录模型版本、分词器、提示模板、推理参数、检索器、重排器、组装器和语料版本。