LLM 2025.05.28
大语言模型的上下文窗口机制 Context Window Mechanism in LLMs
梳理了 Transformer 架构中的注意力机制,以及不同模型处理长上下文时的技术方案。
A walkthrough of the attention mechanism in Transformers and technical approaches for long-context handling.
注意力机制基础
Transformer 的核心是自注意力(Self-Attention)机制,它允许模型在处理每个 token 时关注序列中的所有其他 token。
注意力计算公式:
$$ \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V $$
长上下文的挑战
标准 Transformer 的注意力计算复杂度为 $O(n^2)$,当序列长度增加时,计算和内存开销急剧上升。
位置编码方案对比
| 方案 | 原理 | 外推能力 |
|---|---|---|
| RoPE | 旋转位置编码,通过复数旋转编码相对位置 | 中等,可通过 NTK-aware 缩放改进 |
| ALiBi | 直接在注意力分数上添加距离偏置 | 较好,天然支持长度外推 |
| 位置内插 | 压缩位置索引到训练范围内 | 好,但需要微调 |
实际应用
- GPT-4 使用 128K 上下文窗口
- Claude 3 支持 200K 上下文
- 开源模型通过 RoPE + NTK 缩放实现 32K+
关键洞察:长上下文不等于长记忆,模型在长序列中仍存在”迷失在中间”的问题。