探索长上下文大模型核心技术:从 RoPE 旋转位置编码到位置插值,从 Ring Attention 分布式计算到大海捞针评估。通过交互式可视化理解模型如何突破上下文窗口限制,处理百万级 token 序列。
不同上下文长度规模对比,及 RoPE 旋转位置编码在外推时的角度变化。
m 每个维度施加旋转 m·θᵢ,θᵢ=10000^(-2i/d)。序列超过训练长度时,低频维度角度外推导致位置编码进入未见区域,引发性能下降。对比原始 RoPE、线性插值(PI)、NTK-aware、YaRN 四种位置编码扩展方法的频率缩放。
Ring Attention 将长序列分片到多 GPU 组成环形拓扑,KV 块在环上循环传递,实现序列并行注意力。
Q 和一块 KV。每步:① 本地计算 Q×KV 部分注意力;② 将 KV 块发给环上下一个 GPU。N 步后每个 GPU 的 query 见过全部 KV,注意力完成。标准注意力 O(n²) 与稀疏、线性注意力的复杂度与内存消耗对比。
n×n 矩阵在 128K 序列下需 64GB 内存。FlashAttention 不改变复杂度但分块 IO 优化降内存至 O(n);稀疏/线性注意力从算法层面降复杂度,但可能损失长程精度。在长文档中藏入事实("针"),测试模型在不同文档长度和针深度下的检索成功率。
长上下文下 KV-Cache 内存爆炸问题,及量化、驱逐、压缩等优化策略对比。
2 × layers × heads × seq × dim × bytes。128K FP16 下 Llama-70B 需约 40GB 仅存 KV。PagedAttention 减少碎片;INT4 降至 1/4;滑动窗口只保留最近 W 个 token,代价是丢失早期上下文。对比主流模型在 RULER、LongBench、∞Bench、Needle、HELM 等基准上的表现。
长上下文模型典型应用:整本书理解、代码库分析、多轮长对话、文档问答。点击卡片查看上下文使用模式。