上下文扩展(Context Extension)
3 秒看懂
一句话:让大模型”一次能看更多文字”的工程与算法技术总称——从最初的 512 token 窗口到如今百万级 token 长上下文,核心就是在算力、显存、注意力机制之间找平衡。
关键词:RoPE 缩放 · 位置插值 · KV Cache · 长序列训练 · FlashAttention
3 分钟产业解释
为什么上下文长度是”卡脖子”参数?
大模型的上下文窗口(Context Window)决定了它单次推理能”看到”多少输入信息。这直接约束了:
| 应用场景 | 所需上下文量级 | 窗口不够时的后果 |
|---|---|---|
| 整本书阅读/摘要 | 数十万~百万 token | 被迫截断或分块,丢失全局信息 |
| 代码仓库理解 | 数十万行代码 | 无法跨文件关联函数调用 |
| 多轮长对话 | 数万~数十万 token | 早期对话被遗忘,角色一致性崩溃 |
| RAG 检索增强 | 取决于召回文档量 | 召回文档放不进去,等同退化为短上下文 |
| 金融/法律全文分析 | 数十万字合同/财报 | 分片后丧失条款间交叉引用能力 |
产业格局:上下文长度已成为模型厂商的核心竞争指标之一。主要玩家的上下文窗口演进如下 [公开产品页面/技术报告]:
| 模型 | 标称上下文长度 | 备注 |
|---|---|---|
| GPT-3(2020) | 2,048 token | 原始 Transformer 仅 512 |
| GPT-4 Turbo(2023) | 128K token | 产品页面公开 |
| Claude 3 系列(2024) | 200K token | 产品页面公开 |
| Gemini 1.5 Pro(2024) | 宣称最高 10M token | 技术报告披露的实验上限,实际可用性待验证 |
| Llama 3.1(2024) | 128K token | 从 8K 基座经 RoPE 缩放 + 长序列微调扩展而来,官方技术报告披露 |
| Qwen2.5(2024) | 128K token | 技术报告披露 |
⚠️ 标称 ≠ 有效:模型声称 128K 上下文,并不意味着 128K 位置的信息被同等有效地利用。“Lost in the Middle”现象(后文详述)表明,模型对上下文窗口中间位置的信息利用率显著低于首尾。
15 分钟专家深入
上下文扩展的三层问题
上下文扩展并非单一技术,而是围绕三个层次的系统性工程:
┌─────────────────────────────────────────────────┐
│ 第一层:位置编码可扩展性(Position Encoding) │
│ → 模型能不能"数"到更远的位置? │
│ │
│ 第二层:注意力计算效率(Attention Efficiency) │
│ → 算得起吗?显存放得下吗? │
│ │
│ 第三层:有效信息利用(Effective Utilization) │
│ → 模型真的"理解"了远处的信息,还是只是"看到"了? │
└─────────────────────────────────────────────────┘
第一层:位置编码的扩展
核心问题:训练时见过的最大位置编号为 L_train,推理时如果位置编号 > L_train,模型是否还能正确编码位置信息?
主流方案分为两大流派:
A. RoPE 系缩放方案(当前主流)
RoPE(Rotary Position Embedding,Su et al. 2021)是当前绝大多数开源 LLM 使用的位置编码。其核心思想是将位置信息编码为旋转矩阵,对 query 和 key 向量施加位置相关的旋转变换。
原始 RoPE 的旋转角度:
θ_i = base^(-2i/d), 其中 base = 10000
位置 m 处第 i 维的旋转角 = m × θ_i
扩展 RoPE 的关键在于:如何让远超训练长度的位置也能产生合理的旋转角分布?主要方法:
| 方法 | 核心思路 | 关键参数 | 提出者 |
|---|---|---|---|
| 位置插值(PI) | 将位置编号线性压缩到训练范围内:m → m/s,s = L_new/L_old | 缩放因子 s | Chen et al., Meta, 2023 |
| NTK-aware 缩放 | 修改 base 值而非位置编号:base’ = base × s^(d/(d-2)) | 无需微调即可短距离外推,但效果因任务而异 | Reddit 用户 bloc97, 2023(社区方案) |
| YaRN | NTK-aware + 注意力温度缩放 + 分频段差异化处理 | 不同频率维度采用不同缩放策略 | Peng et al., 2023 |
| LongRoPE | 渐进式扩展 + 非均匀缩放因子搜索 | 搜索每个维度的最优缩放因子 | Ding et al., 2024(Microsoft) |
| Llama 3.1 方案 | RoPE base 从 500,000 调整至更高值 + 长序列监督微调 | 多阶段训练 | Meta, 2024(技术报告披露) |
技术细节补充:PI 方法的关键洞察是——如果直接外推,远位置的旋转角会超出训练分布;而将位置线性压缩后,所有位置的旋转角都落在训练时见过的范围内,因此模型无需大幅调整即可处理更长序列。代价是分辨率降低(原本位置 m 和 m+1 之间的区别被压缩)。
B. 非 RoPE 方案
| 方法 | 核心思路 | 代表模型 |
|---|---|---|
| ALiBi(Attention with Linear Biases) | 不使用位置嵌入,直接在注意力分数上加线性衰减偏置,天然支持外推 | BLOOM(BigScience) |
| 可学习绝对位置编码 + 截断 | GPT 系列早期方案,超出训练长度直接截断 | GPT-2, GPT-3 |
| YaRN-Flash + 无限注意力 | 理论可无限外推的相对位置方案 | 学术探索中 |
第二层:注意力计算效率
即使位置编码能扩展到百万 token,直接计算全注意力面临两个根本性瓶颈:
传统 Self-Attention:
计算复杂度: O(n² × d) → n=1M 时,n² ≈ 10¹²,几乎不可行
显存占用: O(n²) → 存储注意力矩阵即需 TB 级显存
KV Cache: O(n × L × d) → 线性增长,但基数巨大
KV Cache 显存估算示例 [基于模型公开架构参数估算]:
以一个典型的 70B 参数模型(如 Llama 3.1 70B)为例:
- 层数 L ≈ 80,KV 头数 h_kv = 8(GQA),头维度 d_h = 128,bf16(2 bytes/param)
- 单 token 的 KV Cache:2(K+V) × 80 × 8 × 128 × 2 bytes ≈ 0.3 MB [估算]
- 128K token 上下文:≈ 0.3 MB × 131,072 ≈ 40 GB [估算]
- 1M token 上下文:≈ 300 GB [估算] → 远超单卡显存
关键效率技术:
| 技术 | 解决的问题 | 核心机制 | 提出者 |
|---|---|---|---|
| FlashAttention 1/2/3 | 注意力计算的显存瓶颈 | IO-aware 分块计算,将注意力矩阵的显存需求从 O(n²) 降至 O(n),计算量不变 | Tri Dao, 2022/2023/2024 |
| Ring Attention | 超长序列的分布式计算 | 将序列分片到多设备,通过环形通信传递 KV 块 | Liu et al., 2023 |
| KV Cache 量化 | KV Cache 显存占用 | 将 bf16/fp16 KV 压缩至 int8/int4 | 多个团队 |
| KV Cache 驱逐/合并 | 有效减少 Cache 长度 | 如 H₂O(Heavy Hitter Oracle)、StreamingLLM 等选择性保留关键 token 的 KV | Zhang et al., 2023; Xiao et al., 2023 |
| 滑动窗口注意力 | 限制注意力范围 | 仅关注最近 w 个 token,配合信息传递层覆盖远距离 | Longformer (Beltagy et al., 2020);Mistral (2023) 使用类似思路 |
| GQA / MQA | 减少 KV Cache 头数 | 多个 query head 共享一组 KV head | Ainslie et al., 2023(Google) |
第三层:有效信息利用
即使技术上能塞入百万 token,模型是否真的能利用这些信息?
“Lost in the Middle”现象(Liu et al., 2023, Stanford/UW):
研究者在多文档问答任务中发现,当关键信息被放置在上下文的中间位置时,模型的表现显著下降——呈现出”U 型曲线”:靠近开头和结尾的信息被更好地利用,中间信息被”遗忘”。
这说明:
- 上下文扩展 ≠ 上下文等效利用
- 模型的注意力分布并非均匀,存在显著的位置偏好
- 这一问题在所有主流模型中都存在,程度不同
“Needle in a Haystack”(NIAH)测试:
一种流行的上下文能力评测方法:在长文本中插入一条特定信息(“针”),测试模型能否在不同位置检索到它。各厂商报告的 NIAH 通过率普遍较高,但这只是检索能力的最低门槛,不能代表真正的长上下文理解能力。
技术原理
RoPE 位置编码的数学机制与扩展
原始 RoPE 定义(Su et al., 2021):
─────────────────────────────────
给定 d 维向量 x,位置 m 的旋转编码:
R(m) = 旋转矩阵,其中每对维度 (2i, 2i+1) 的旋转角为:
φ_{m,i} = m × θ_i
θ_i = 10000^(-2i/d)
Attention 计算时:
q_m = R(m) × W_q × x_m
k_n = R(n) × W_k × x_n
关键性质:
q_m^T × k_n 只依赖 (m-n),即相对位置
→ RoPE 天然编码相对位置信息
位置插值(Position Interpolation)的工作原理:
原始:位置 m 的旋转角 = m × θ_i (m = 0, 1, ..., L_train-1)
插值:位置 m 的旋转角 = (m/s) × θ_i (m = 0, 1, ..., s×L_train-1)
其中 s = L_new / L_train
直观理解:
训练长度 L_train = 4K, 扩展到 L_new = 128K → s = 32
原来 128K 位置对应的角度 = 4096 × θ_i → 现在等效于 4096 × θ_i
但位置间距从 1 缩小到 1/32 → 分辨率降低
┌──────────────────────────────────────┐
│ 原始:|·|·|·|·|·|·|·|·| (4个位置) │
│ 插值:|.|.|.|.|.|.|.|.|.|.|.|.|.(16个位置)│
│ 总覆盖范围扩大4倍,但每步的旋转角减小 │
└──────────────────────────────────────┘
NTK-aware 缩放:
不改位置编号,改 base 值:
原始:θ_i = 10000^(-2i/d)
缩放:θ_i' = (10000 × s^(d/(d-2)))^(-2i/d)
效果:高频分量(编码局部位置)基本不变,低频分量(编码远距离位置)被拉伸
→ 高频保真 + 低频外推,无需微调即可在一定程度上扩展
YaRN 的三重策略:
1. NTK-aware 缩放:处理频率维度的缩放
2. 注意力温度缩放:乘以 1/√t 补偿注意力熵的增加
3. 分频段处理:
- 低频维度(长距离依赖):使用 NTK-aware 缩放
- 高频维度(短距离依赖):不缩放或仅轻微缩放
→ 按波长与上下文长度的关系划分处理策略
KV Cache 的显存架构
KV Cache 在自回归推理中的作用:
──────────────────────────────
每生成一个新 token,需要:
1. 计算该 token 的 Q, K, V
2. 将新 K, V 拼接到已有的 KV Cache
3. 用新 Q 与完整 KV Cache 做注意力计算
4. 输出下一个 token
内存占用公式(单序列):
KV Cache = 2 × n_layers × n_kv_heads × d_head × seq_len × dtype_bytes
┌─────────────────────────────────────────┐
│ 示例 [估算,基于公开架构参数]: │
│ 70B 模型(GQA, 8 KV heads, 80 layers) │
│ d_head=128, bf16 (2B) │
│ │
│ 每 token:2×80×8×128×2 = 327,680 B ≈ 0.3MB│
│ 4K ctx: ~1.2 GB │
│ 128K ctx: ~40 GB │
│ 1M ctx: ~300 GB │
└─────────────────────────────────────────┘
FlashAttention 的分块计算策略
传统注意力:
Q (n×d), K (n×d), V (n×d)
S = QK^T → 需存储 n×n 矩阵于 HBM
P = softmax(S)
O = PV
FlashAttention:
将 Q, K, V 分为小块(块大小 B_r × B_c)
每块在 SRAM 中完成:
- 计算局部 QK^T
- 在线 softmax(使用 running max 技巧累加)
- 累积输出
无需将完整的 n×n 矩阵写回 HBM
显存:O(n) 而非 O(n²)
计算:仍是 O(n²d),但实际更快(减少 HBM 访问)
技术演进史
| 时间 | 里程碑 | 上下文长度 | 关键突破 |
|---|---|---|---|
| 2017 | 原始 Transformer(Vaswani et al.) | 512 | 注意力机制提出,但受限于位置编码和算力 |
| 2018 | BERT | 512 | 可学习绝对位置编码 |
| 2019 | GPT-2 | 1,024 | |
| 2020 | GPT-3 | 2,048 | 可学习绝对位置编码 |
| 2020 | Longformer / BigBird | 4,096+ | 稀疏注意力(局部+全局窗口),突破全注意力限制 |
| 2021 | RoPE 提出(Su et al.) | — | 旋转位置编码,为后续扩展奠定基础 |
| 2022 | ALiBi(Press et al.) | — | 线性偏置位置编码,宣称天然外推能力 |
| 2022 | FlashAttention(Dao et al.) | — | IO-aware 分块注意力,显存 O(n),使长上下文训练在工程上可行 |
| 2023.06 | 位置插值 PI(Chen et al., Meta) | — | 证明线性插值可有效扩展 RoPE 模型 |
| 2023 | NTK-aware 缩放(社区方案) | — | 无需微调的频率域缩放 |
| 2023 | YaRN(Peng et al.) | — | 综合 NTK+温度+分频段,系统性扩展方案 |
| 2023 | Llama 2 | 4,096 | RoPE base=10000 |
| 2023 | Claude 2 | 100K | 产品化长上下文 |
| 2023 | GPT-4 Turbo | 128K | |
| 2024.02 | Gemini 1.5 Pro | 宣称 1M-10M | 技术报告披露 |
| 2024.04 | Llama 3 | 8,096 | base 模型上下文仍较短 |
| 2024.07 | Llama 3.1 | 128K | RoPE base 调整 + 6 阶段长上下文训练 |
| 2024 | Ring Attention / 序列并行 | 理论无限 | 多设备分布式长序列训练 |
| 2024 | LongRoPE(Microsoft) | 宣称 2M+ | 渐进扩展 + 非均匀因子搜索 |
技术路线对比
位置编码扩展方案量化对比
| 维度 | 位置插值(PI) | NTK-aware | YaRN | ALiBi | 滑动窗口 |
|---|---|---|---|---|---|
| 是否需要微调 | 通常需要(少量) | 可免微调(短距离) | 建议少量微调 | 免微调 | N/A(架构层面) |
| 扩展倍数(典型) | 4-32× | 2-8×(免微调) | 16-64× | 天然外推但远距离质量下降 | 理论无限但有效范围=窗口大小 |
| 实现复杂度 | 低 | 低 | 中 | 低(模型训练时确定) | 低 |
| 远距离信息利用 | 中(经微调后可改善) | 低-中 | 中-高 | 高(近距离)→ 低(远距离) | 仅窗口内 |
| 对原始模型改动 | 仅改位置计算 | 仅改 base 参数 | 改位置+注意力温度 | 需模型从头训练 | 改注意力掩码 |
| 代表使用者 | Llama 系列微调社区 | 社区广泛使用 | 多个开源微调版本 | BLOOM | Mistral, Longformer |
注意力效率方案对比
| 方案 | 计算复杂度 | 显存复杂度 | 是否损失精度 | 适用场景 |
|---|---|---|---|---|
| 标准全注意力 | O(n²d) | O(n²) | 否 | 短序列基准 |
| FlashAttention | O(n²d) | O(n) | 否(数学等价) | 通用,已成为标配 |
| 滑动窗口注意力 | O(nwd) w=窗口大小 | O(nw) | 是(丢失窗口外信息) | 超长序列,配合信息传递层 |
| 稀疏/局部+全局 | O(n√n) 等 | O(n√n) 等 | 是 | 超长序列 |
| Ring Attention | O(n²d/P) P=设备数 | O(n²/P) 等效 | 否 | 多设备分布式长序列 |
上下游
上游:上下文扩展技术依赖什么?
┌──────────────────────────┐
│ 训练基础设施 │
│ - 超大显存集群 │
│ - 高速互联 (NVLink/NVSwitch) │
│ - 长文本语料 │
└──────────┬───────────────┘
│
┌──────────▼───────────────┐
│ 关键计算内核 │
│ - FlashAttention CUDA kernel │
│ - 高效通信库 (NCCL) │
│ - Ring Attention 通信调度 │
└──────────┬───────────────┘
│
┌──────────▼───────────────┐
│ 算法组件 │
│ - RoPE / ALiBi 位置编码 │
│ - GQA / MQA │
│ - 各种缩放策略 (PI/NTK/YaRN) │
└──────────────────────────┘
下游:上下文扩展赋能什么?
- 长文档处理:合同审阅、论文综述、书籍分析
- 代码理解:全仓库级代码索引、跨文件 Bug 定位
- 多模态长序列:长视频理解(视频帧序列化后可达数万 token)
- Agent / 工具调用:长 Chain-of-Thought + 多工具返回结果累积
- RAG 优化:更大的上下文窗口 = 可以塞入更多召回文档,降低信息丢失
- 对话系统:更长的多轮对话记忆
关键指标
| 指标 | 含义 | 行业参考范围(估算) |
|---|---|---|
| 标称上下文长度 | 模型支持的最大 token 数 | 4K - 2M(产品声称) |
| 有效上下文长度 | 实际能等效利用信息的距离 | 通常远低于标称,具体取决于任务和模型 |
| NIAH 通过率 | 不同深度下插入信息的检索准确率 | 主流模型在标称范围内普遍 >90%(但这是低门槛测试) |
| KV Cache 显存/token | 每多一个 token 增加的 KV Cache 显存 | 因模型规模和架构差异极大,从数十 KB 到数百 KB [估算] |
| 首 token 延迟(TTFT) | 处理长 prompt 的延迟,随上下文长度增长 | 与序列长度正相关,FlashAttention 可降低增长斜率 |
| 上下文扩展倍数 | 扩展后长度 / 原始训练长度 | 2× - 256×(方案不同差异大) |
| 长上下文训练成本 | 因注意力 O(n²) 导致训练 FLOPS 急剧增加 | 长上下文训练阶段通常占总训练成本的较小比例但绝对值可观 |
供需与市场数据
供给侧
- 训练侧:上下文扩展训练需要在预训练后进行额外的长序列微调阶段。Llama 3.1 的技术报告披露了 6 个阶段的长上下文扩展训练(从 8K 逐步扩展到 128K),每个阶段使用不同长度的训练数据。这意味着额外的训练算力投入。
- 推理侧:长上下文推理的显存瓶颈(KV Cache)推动了更大显存 GPU 的需求、KV Cache 量化/驱逐技术的发展,以及序列并行推理框架的建设。
需求侧
- 企业级文档处理、代码理解、多轮对话等场景对长上下文的需求持续增长。
- RAG 架构中,更大的上下文窗口意味着更宽松的召回策略,降低了 RAG 管道的复杂度。
市场数据
- 具体营收/市场规模数据暂无权威第三方公开报告可引用 [未充分披露]。
- 定性判断:上下文长度已成为模型 API 定价的分层因素之一(更长上下文 → 更高单价)。
代表公司与资本映射
| 公司/机构 | 角色 | 关键贡献/产品 | 公开信息 |
|---|---|---|---|
| OpenAI | 大模型厂商 | GPT-4 Turbo 128K 上下文 | 产品页面 |
| Anthropic | 大模型厂商 | Claude 3 系列 200K 上下文 | 产品页面 |
| Google DeepMind | 大模型厂商 | Gemini 1.5 Pro 宣称 1M+ 上下文 | 技术报告 |
| Meta (FAIR) | 大模型厂商 + 研究 | Llama 3.1 128K,位置插值方法原始提出者 | 技术论文 + 技术报告 |
| Mistral AI | 大模型厂商 | 滑动窗口注意力 + GQA 的工程实践 | 技术博客 |
| Tri Dao(Together AI / Princeton) | 核心基础设施 | FlashAttention 系列,几乎所有长上下文训练的基础设施 | 学术论文 |
| Hugging Face / 社区 | 开源生态 | NTK-aware、YaRN 等扩展方法的快速传播与工程化 | 社区开源 |
| Microsoft | 大模型厂商 + 研究 | LongRoPE 2M 上下文扩展 | 技术论文 |
⚠️ 注意:上下文扩展是通用技术方向,不直接对应独立的上市公司标的。投资映射主要通过上述公司的模型产品能力间接体现。
投资逻辑
核心判断框架
- 上下文长度是模型能力的”基础设施”参数——类似芯片的制程节点,本身不是产品,但决定产品能力的天花板。
- 长上下文 → 更大显存需求 → 利好高端 GPU 及显存产业链:当单卡显存无法容纳长上下文推理时,多卡序列并行成为刚需,利好高速互联(NVLink/NVSwitch)和多卡推理框架。
- KV Cache 管理技术的商业化:PagedAttention(vLLM)、KV Cache 量化等技术对长上下文推理的成本控制至关重要,相关开源项目/公司的工程化能力值得关注。
- 长上下文降低 RAG 复杂度的二阶效应:如果模型自身能高效利用百万级上下文,部分 RAG 场景的检索-重排管道可以简化,这对 RAG 服务商既是挑战也是机会。
风险点
- 有效上下文 vs 标称上下文的差距:如果用户发现”128K 上下文”在实际业务中的有效利用远低于预期,可能导致需求不及预期。
- 推理成本线性增长:即使注意力计算被优化,KV Cache 的线性增长仍然意味着长上下文推理的成本远高于短上下文。成本能否降到普惠水平是关键。
常见误读纠偏
误读 1:“标称 128K 上下文 = 能理解 128K 的所有信息”
纠偏:标称上下文长度是模型的输入长度上限,不等于等效利用。多项研究(如 Liu et al. 2023 “Lost in the Middle”)表明,模型对上下文窗口中部的信息利用率显著低于首尾。NIAH 测试是检索能力的最低门槛,不能代表深层理解能力。实际业务中,应通过具体任务测试”有效上下文长度”,而非仅依赖标称值。
误读 2:“位置插值可以无限扩展上下文而无损”
纠偏:位置插值将位置间距压缩,本质上降低了位置分辨率。当压缩比过大时(如 32× 以上),模型在区分相邻位置时的能力下降,可能影响需要精细位置感知的任务(如精确的文档定位、代码行号推理等)。且 PI 通常仍需要一定量的长序列微调才能达到较好效果,“零成本扩展”只在有限倍数内近似成立。
误读 3:“FlashAttention 让注意力复杂度降到了 O(n)”
纠偏:FlashAttention 将显存复杂度从 O(n²) 降到了 O(n),但计算复杂度仍是 O(n²d)。FlashAttention 通过减少 HBM 读写来加速计算(IO-aware),实际 wall-clock 时间通常比朴素实现快数倍,但随着序列长度增长,计算量仍按平方增长。Ring Attention 等方法可以将计算分摊到多设备,但单设备的计算量不变。
误读 4:“长上下文技术让 RAG 过时了”
纠偏:长上下文确实可以简化部分 RAG 场景(减少分块、增加召回文档量),但:① 长上下文推理成本远高于短上下文;② 模型对长上下文中部信息利用率不足;③ 当知识库规模远超上下文窗口(如数十亿 token)时,检索仍然是必需的。长上下文更可能与 RAG 互补而非替代。
学习路径
Level 0: 概念入门
└→ 理解 Transformer 自回归推理中 KV Cache 的作用
└→ 理解位置编码(绝对 vs 相对)的基本概念
Level 1: 核心论文
└→ Su et al., "RoFormer: Enhanced Transformer with Rotary Position Embedding" (2021)
└→ Dao et al., "FlashAttention: Fast and Memory-Efficient Exact Attention" (2022)
└→ Chen et al., "Extending Context Window of LLMs via Positional Interpolation" (2023)
Level 2: 扩展方法
└→ Peng et al., "YaRN: Efficient Context Window Extension" (2023)
└→ Liu et al., "Ring Attention with Blockwise Transformers for Near-Infinite Context" (2023)
└→ Ding et al., "LongRoPE: Extending LLM Context Window Beyond 2 Million Tokens" (2024)
Level 3: 工程与评估
└→ 阅读 Llama 3.1 技术报告中的长上下文训练部分
└→ 阅读 vLLM 的 PagedAttention 实现(KV Cache 管理的工程化参考)
└→ Liu et al., "Lost in the Middle: How Language Models Use Long Contexts" (2023)
└→ 在 Hugging Face 上对开源模型进行 NIAH 测试实验
Level 4: 前沿探索
└→ KV Cache 压缩与驱逐策略(H₂O, StreamingLLM 等)
└→ 线性注意力 / 状态空间模型(Mamba 等)在长序列上的替代路线
└→ 多模态长上下文(长视频理解、音频流处理)
一句话总结
上下文扩展是一套让大模型”看得更远”的系统工程,横跨位置编码缩放、注意力效率优化、KV Cache 管理三层技术栈;标称长度的竞赛仍在继续,但有效上下文利用能力才是真正的竞争壁垒。
延伸阅读与来源
核心论文
- Su et al. (2021). “RoFormer: Enhanced Transformer with Rotary Position Embedding.” — RoPE 原始论文
- Dao et al. (2022). “FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness.” — FlashAttention 1
- Chen et al. (2023). “Extending Context Window of Large Language Models via Positional Interpolation.” — 位置插值
- Peng et al. (2023). “YaRN: Efficient Context Window Extension of Large Language Models.” — YaRN 综合方案
- Liu et al. (2023). “Ring Attention with Blockwise Transformers for Near-Infinite Context.” — Ring Attention
- Liu et al. (2023). “Lost in the Middle: How Language Models Use Long Contexts.” — 有效上下文利用研究
- Ding et al. (2024). “LongRoPE: Extending LLM Context Window Beyond 2 Million Tokens.” — LongRoPE
- Beltagy et al. (2020). “Longformer: The Long-Document Transformer.” — 稀疏注意力
技术报告
- Meta, “The Llama 3 Herd of Models” (2024). — Llama 3.1 长上下文训练方案
- Google, “Gemini 1.5: Unlocking Multimodal Understanding Across Millions of Tokens” (2024). — Gemini 长上下文技术
工程资源
- Tri Dao 的 FlashAttention GitHub 仓库
- vLLM 项目(PagedAttention 实现)
- Hugging Face Transformers 库中 RoPE 缩放相关配置文档
免责声明:本文为技术概念学习材料,不构成投资建议。具体模型规格以各厂商最新官方技术报告为准。标注 [估算] 的数据为基于公开架构参数的推算,可能与实际实现存在差异。