Contextual forgetting — 上下文遗忘

From Systems analysis wiki
Jump to navigation Jump to search

大型语言模型中的上下文遗忘(Contextual Forgetting)是一个多方面的现象,指大型语言模型 (LLM)在单次交互中丢失、忽略或低效使用先前提供的信息[1]。与人类记忆不同,LLM 没有长期状态存储,仅依赖于上下文窗口——即模型一次可以处理的有限文本量(以词元为单位)。这个窗口充当了模型的短期或工作记忆[2]

这种限制最著名的表现是“中间遗忘”(Lost in the Middle)问题——即模型倾向于更好地处理位于长上下文开头和结尾的信息,而对中间部分的信息处理较差[2]。这种现象并非故障,而是源于 Transformer 架构及其训练原理的一个基本特性。

两种遗忘类型:上下文遗忘与灾难性遗忘

区分 LLM 中的两种根本不同类型的“遗忘”至关重要:上下文内遗忘和灾难性遗忘。

上下文内遗忘(中间遗忘)

这类遗忘发生在与已训练模型的单次交互会话(推理过程)中。它与上下文窗口的限制有关。当对话或文档的长度超过窗口大小时,模型会“忘记”最旧的片段,以便为新内容腾出空间。即使在窗口范围内,来自上下文中间部分的信息也可能被低效使用。这是模型工作记忆的一种限制[3]。在通俗文章中,这种现象也被称为“上下文退化综合征”(Context Degradation Syndrome, CDS)[1]

灾难性遗忘(模型漂移)

这类遗忘,也称为“模型漂移”(model drift),发生在对模型进行新数据微调(fine-tuning)的过程中。当一个在海量通用知识语料库上预训练的模型,在特定领域的数据集(例如医学文本)上进行微调时,其权重会发生改变。这可能导致与新任务无关的、先前习得的知识和技能发生退化或被“抹去”[4]

原因与机制

上下文遗忘是 Transformer 架构和向量空间几何的直接结果。

Lost in the Middle - “中间遗忘”效应

斯坦福大学 2023 年一项名为《Lost in the Middle》的研究清晰地表明,LLM 从长上下文中提取信息的性能呈现出一条U形曲线[2]。当相关信息位于上下文的开头(首因效应)或结尾(近因效应)时,回答的准确性最高;而当信息“隐藏”在中间时,准确性会显著下降。 这种现象的原因如下:

  • 注意力机制:Transformer 架构的本质使其为了保持全局连贯性,会不成比例地关注初始词元(即所谓的“注意力锚点”或 attention sinks)以及局部上下文,这导致了对中间部分的“焦点”减弱[5]
  • 预训练数据:模型通常在相对较短的文本上进行训练,在这些文本中,重要信息很少会距离开头数万个词元之远,这妨碍了它们有效利用超长上下文的能力[6]

表现与后果

  • 上下文退化综合征:在长时间的对话中,模型开始“跟不上思路”,重复回答,与先前确立的事实相矛盾,并给出越来越笼统和模糊的答案[1]
  • 多阶段任务失败:在需要通过多轮对话来明确条件任务中,模型可能会“固守”最初的错误假设,而忽略后续的澄清,导致完全无法解决问题[7]
  • 文档分析的不可靠性:在分析长篇报告或法律文件时,LLM 可能会遗漏位于中间部分的关键事实,这使其成为执行此类任务的不可靠工具。

缓解与预防策略

研究人员和开发人员采用多种方法来解决上下文遗忘问题。

扩大上下文窗口

最直接的方法是增加上下文窗口的大小。现代模型,如 Claude 3(20万词元)和 Gemini 1.5 Pro(高达200万词元),已显著扩展了这一限制[8][9]。然而,研究表明,仅仅扩大窗口并不能保证其被有效利用,“中间遗忘”问题依然存在[2]

高级提示工程

巧妙地构建提示可以显著提高性能。Anthropic 公司提出了以下实践建议[10]

  • 将文档置于开头:将长文本放在提示的最开始,位于指令和问题之前。
  • 使用 XML 标签:用 `<document>` 标签包裹文档,以实现清晰分隔。
  • 用引文支撑回答:指示模型先提取相关引文,然后基于这些引文形成答案。

Retrieval-Augmented Generation (RAG) - 检索增强生成

一种根本不同的方法是,不将所有信息都放入上下文窗口,而是将其外置于外部系统(如向量数据库),并根据请求提供。

  1. 检索 (Retrieve):当收到请求时,系统在外部数据库中搜索相关信息。
  2. 增强 (Augment):将找到的片段添加到原始请求中。
  3. 生成 (Generate):LLM 基于提供的上下文生成答案。

RAG 允许处理几乎无限量的数据,并能访问最新且经过验证的信息,从而降低了产生幻觉的风险,是目前最可靠的解决方案之一[11]

链接

参考文献

  • Liu, N. F. et al. (2023). Lost in the Middle: How Language Models Use Long Contexts. arXiv:2307.03172.
  • An, C. et al. (2024). Why Does the Effective Context Length of LLMs Fall Short?. arXiv:2410.18745.
  • Ding, J. et al. (2023). LongNet: Scaling Transformers to 1,000,000,000 Tokens. arXiv:2307.02486.
  • Yang, A. et al. (2024). Context Parallelism for Scalable Million-Token Inference. arXiv:2411.01783.
  • Chen, S. et al. (2023). Extending Context Window of Large Language Models via Positional Interpolation. arXiv:2306.15595.
  • Ding, Y. et al. (2024). LongRoPE: Extending LLM Context Window Beyond 2 Million Tokens. arXiv:2402.13753.
  • Li, S. et al. (2023). Functional Interpolation for Relative Positions Improves Long Context Transformers. arXiv:2310.04418.
  • Dong, Z. et al. (2024). Exploring Context Window of Large Language Models via Decomposed Positional Vectors. arXiv:2405.18009.
  • Laban, P. et al. (2025). LLMs Get Lost in Multi-Turn Conversation. arXiv:2505.06120.
  • Li, R. et al. (2024). Extending Context Window in Large Language Models with Segmented Base Adjustment for Rotary Position Embeddings. Applied Sciences, 14(7), 3076. DOI:10.3390/app14073076.
  • Yang, A. & Reizenstein, J. (2024). Exploring Context Window of LLMs via Decomposed Positional Vectors (NeurIPS Poster). NeurIPS 2024.


注释

  1. 1.0 1.1 1.2 Howard, James. «Context Degradation Syndrome: When Large Language Models Lose the Plot». jameshoward.us. [1]
  2. 2.0 2.1 2.2 2.3 Liu, Nelson F.; et al. «Lost in the Middle: How Language Models Use Long Contexts». arXiv. [2]
  3. Liu, Nelson F.; et al. «Lost in the Middle: How Language Models Use Long Contexts». ACL Anthology. [3]
  4. Greyling, Cobus. «Catastrophic Forgetting In LLMs». Medium. [4]
  5. «Exploring Context Window of Large Language Models via Decomposed Positional Vectors». NeurIPS Proceedings. [5]
  6. An, Chenxin; et al. «Why Does the Effective Context Length of LLMs Fall Short?». arXiv. [6]
  7. «LLMs Get Lost In Multi-Turn Conversation». arXiv. [7]
  8. «Introducing the next generation of Claude». Anthropic. [8]
  9. «Google's Gemini 1.5 Pro - Revolutionizing AI with a 1M Token Context Window». Medium. [9]
  10. «Long context prompting tips». Anthropic Documentation. [10]
  11. «What is Retrieval-Augmented Generation (RAG)?». Google Cloud. [11]