窗口外推技术综述

超长上下文

衡量超长上下文的核心维度

维度 关键问题 示例指标或方法
🧠 记忆能力 模型能否保留并使用早期输入信息? Attention Score, Retrieval Accuracy
🔍 信息利用 模型是否正确引用了上下文中的关键信息? Answer Correctness, Source Attribution
📏 上下文距离 模型能处理的最大“有效”token跨度是多少? Token Distance vs Accuracy 曲线
🧱 上下文稀疏鲁棒性 插入无关信息后仍能保持性能吗? Needle-In-A-Haystack、Passkey等测试
⚡ 推理效率 上下文越长是否大幅拖慢速度? 推理时间、显存使用、Token/s
🧠 泛化能力 模型对训练时未见过的长上下文是否泛化? Interpolation vs Extrapolation Comparison

主流评估方法

方法/指标 类型 适用任务 能力维度
Needle-in-a-Haystack 对抗测试 通用 远距记忆、干扰鲁棒性
Passkey Test 控制变量实验 通用 记忆保持、跨度泛化
文档问答 QA 应用场景评估 法律、教育、企业RAG 信息提取、引用准确性
LRA 标准评测集 学术 长序列建模能力
多轮对话回忆评估 用户模拟 助理型模型 记忆力、上下文一致性
写作连贯性分析 主观评分+BLEU 生成类任务 一致性、记忆性

主流技术路线

目前已有多种技术路线尝试破解以上挑战,分别从结构优化、注意力稀疏化、位置编码设计、外部记忆机制等方向切入。

✅ 路线一:稀疏注意力机制(Sparse Attention)
⏩ 方法代表:
Longformer(fixed + sliding window attention)

BigBird(window + global + random)

Sparse Transformer(block sparse)

Reformer(LSH attention)

📌 优势:
将O(n²)降为 O(n√n) 或更低;

结构清晰,较容易在已有Transformer框架中集成。

⚠️ 限制:
对长距离依赖仍然有限制;

在一般语言任务中未显著超过标准全注意力模型。

✅ 路线二:Flash Attention / Linear Attention 加速
⏩ 方法代表:
FlashAttention v1/v2(OpenAI)

xFormers、Memory-efficient Attention

Performer / Linear Transformer(内积核逼近)

📌 优势:
保留全注意力机制,降低显存需求;

FlashAttention 在 GPT-4/Claude等模型中广泛使用。

⚠️ 限制:
FlashAttention 加速的是“计算效率”,并不提升“信息记忆能力”;

Linear Attention 有泛化退化的问题。

✅ 路线三:改进位置编码以支持无限泛化
⏩ 方法代表:
RoPE缩放(如ChatGPT-4-128k)

YaRN(RoPE延拓技术,2023)

ALiBi(位置偏移,Meta)

Position Interpolation (Pi) - 如Claude 100k使用

📌 优势:
实现 RoPE 向更长范围的“插值”泛化;

在不改变模型结构的情况下,延长上下文窗口(RoPE缩放即可)。

⚠️ 限制:
插值策略对不同任务鲁棒性不同;

训练阶段未见的长序列在推理时表现可能不稳定。

✅ 路线四:外部记忆机制(Memory Augmented / Retrieval)
⏩ 方法代表:
RETRO (DeepMind):检索增强Transformer

RAG (Facebook)、LlamaIndex / LangChain Memory

MemGPT、LongChat(Memory Injection)

📌 优势:
通过检索外部知识库或历史记录,实现“动态上下文扩展”;

提高信息检索能力而非模型“死记硬背”。

⚠️ 限制:
需要额外设计召回机制;

召回结果质量决定模型上下文质量。

✅ 路线五:分块处理和延迟更新策略
⏩ 方法代表:
Transformer-XL(带有segment-level recurrence)

GPTCache / Streaming LLMs

Windowed Transformer + Recurrence

📌 优势:
模拟“上下文记忆”的方式实现跨块信息流;

支持流式、低延迟推理。

⚠️ 限制:
对生成任务效果不如全局上下文直接可见。

关键场景与超长上下文需求

场景类别 示例任务 对上下文长度的需求
学术/法律文档 合同分析、论文问答 ✅必须全文处理
多轮对话 私人助理、多Agent协作 ✅需记住多轮上下文
代码理解 项目级代码生成 ✅需跨文件全局语义
RAG系统 企业知识库问答 ✅上下文拼接需保持完整
文本创作 小说剧本生成 ✅情节一致性要求高
多模态场景 视频理解、电子病历分析 ✅时序长度需求极高

多轮对话/Agent协作系统

长文档理解

软件工程

RAG系统

企业内部文档问答
基于大量文档的洞察报告生成

长文档生成

长篇小说/剧本/
视频脚本/课程讲义生成

窗口外推技术

直接外推

提前预留一些维度,训练阶段设为0,推理阶段直接改为其他数字。

插值

线性内插

将不在预训练范围的位置除整数后映射到训练范围,适应相对位置(序信息)更重要的场景。通常需要微调以便适应新的映射关系。

进制转换

NTK-aware插值

RoPE

YaRN

本质是一种新的RoPE方法。

S2-Attention

上下文窗口外推常见问题

  1. 在注意力机制中距离倍增时容易发生梯度爆炸或收缩
  2. 在上下文非常长时(如128K),大部分 token 实际上对训练损失的贡献较小(尤其是头尾位置)

DeepSeek应用 YaRN(Peng et al., 2023a)进行上下文扩展,并进行两个额外的训练阶段,每个阶段包含1000步,逐步将上下文窗口从4K扩展到32K,然后扩展到128K。

长上下文大模型(Long-Context LLM)微调

LongLora

技术 作用
Sequence-Parallel LoRA (SP-LoRA) 将序列维度并行,用多个 GPU 分担超长序列计算,显著降低单卡显存压力
Hidden State Caching 在重复的上下文块中缓存隐藏状态,减少冗余计算,加快训练
Mixed-Precision KV Cache Training 用低精度训练 KV cache,节省内存、提升速度
项目 普通 LoRA LongLoRA
支持上下文长度 通常 <8K 支持长达 128K-1M
显存需求 快速增长 显著优化,线性扩展
训练效率 慢,受限于序列长度 快,支持更大 batch 和序列
稳定性 长 context 下容易崩 收敛更稳定

参考

Scaling Transformer to 1M tokens and beyond with RMT
突破Transformer输入限制:实测支持200万个有效token


窗口外推技术综述
https://summerchengh.github.io/tech-blog/2025/03/26/大模型-LLM窗口外推技术综述/
Author
Your Name
Posted on
March 26, 2025
Licensed under