§ 06阶段六 · 上下文扩展 面试指引

上下文扩展(Long Context)· 面试高频考点

聚焦:RoPE / Ring Attention / LongLoRA / YaRN / Lost in the Middle 的面试高频考点

适用:AI算法岗、大模型应用岗、研究实习面试 | 阅读:10-15分钟

一、高频考点总览

1RoPE旋转位置编码,绝对+相对统一
2长上下文挑战O(N²)复杂度、KV cache显存
3Ring Attention分布式长上下文计算
4Lost in the MiddleU形注意力现象
5位置编码外推PI、YaRN等扩展方法

二、必会问答

Q1: RoPE的核心思想是什么?相比绝对/相对位置编码有什么优势?

答:通过对Q和K做旋转变量来编码位置,使attention score天然只依赖相对距离(内积只与m-n相关)。优势:同时编码绝对和相对位置(统一两种路线);实现简单(只改Q/K,不改V);兼容线性Attention;是LLaMA等主流LLM的标配。

想听:旋转编码 + 相对距离性质 + 主流标配

Q2: 长上下文的主要挑战是什么?

答:两个核心挑战:1)计算复杂度O(N²)——100K tokens的attention矩阵需要100亿次计算;2)KV cache显存——推理时要存储所有历史token的K/V,100K tokens×40层×32头×128维≈几十GB。训练时还需要存N×N的中间激活。

想听:O(N²)计算 + KV cache显存,不只是"太长了"

Q3: Ring Attention是怎么解决显存问题的?

答:把长序列按设备切分,每个设备只存一段KV block。计算时KV block在设备间环形传递,每个设备依次与其他设备的block计算attention。关键是计算与通信重叠(通信被计算覆盖),使上下文容量随设备数近似线性增长。

想听:序列切分 + KV环传 + 计算通信重叠

Q4: Lost in the Middle发现了什么现象?对RAG有什么影响?

答:发现模型对长上下文的使用呈U形:开头和结尾的信息记得住,中间的信息容易丢失。影响:RAG中检索到的文档重排很重要,关键信息应该放在开头或结尾;中间位置的文档可能被"忽略"。

想听:U形注意力 + 对RAG重排的启示

Q5: 什么是位置编码外推?为什么RoPE需要外推方法?

答:模型训练时用固定长度(如4K),推理时需要处理更长序列(如32K),这叫外推。RoPE虽然能定义任意位置,但超出训练长度后性能会急剧下降(位置编码频率与训练分布不匹配)。PI(位置插值)和YaRN是常用的扩展方法。

想听:训练长度 vs 推理长度的gap

三、追问陷阱

追问应对要点
"RoPE的旋转是在哪个维度上?"将Q/K的偶数维两两配对组成二维平面,每个平面以不同频率旋转。d维向量有d/2个旋转平面。
"Ring Attention会改变Attention结果吗?"不会。它是精确计算,只是把序列分到多设备上,通过环形传递保证每个设备都能"看到"所有token。数学结果与单机一致。
"YaRN和PI有什么区别?"PI是简单的线性插值(把位置缩放到训练范围内),YaRN是NTK-aware插值(考虑不同频率分量的不同衰减),效果更好。
"Lost in the Middle的U形现象有解释吗?"论文没有给出完整解释,但推测与位置编码的偏差有关。开头/结尾信息在训练中出现频率更高,模型学到了更强的注意力模式。
"为什么不用稀疏Attention来加速?"稀疏Attention牺牲了全局依赖建模能力,对某些任务有损失。FlashAttention是精确计算,不牺牲质量。实际中两者可以结合(如LongLoRA的S²-Attn)。

四、实战建议

长上下文方案选型

场景推荐方案理由
训练时扩展RoPE + PI简单有效,兼容性好
推理时扩展YaRNNTK-aware,效果更好
超长序列(100K+)Ring Attention分布式,容量随设备线性增长
成本敏感LongLoRAS²-Attn训练省算力,推理保持全注意力

面试前速查清单

论文面试关键词关联考点
RoFormer/RoPE旋转位置编码相对距离、主流标配
Ring Attention分布式长上下文KV环传、计算通信重叠
LongLoRAS²-Attn训练省算力、推理全注意力
YaRNNTK-aware插值位置编码扩展
Lost in the MiddleU形注意力RAG重排启示