请解释 LLaMA 模型中使用的旋转位置编码(RoPE)的原理,并说明它如何将位置信息融入注意力计算。
考察说明
考查对 RoPE 原理及实现细节的理解。
回答思路
- 【回答框架 1】旋转位置编码通过将词向量按位置旋转一定角度来注入位置信息,旋转角度与位置序号相关。其数学基础是复数域中的旋转,在二维子空间内实现。
- 【回答框架 2】在注意力计算中,RoPE 对查询和键向量施加旋转,使内积结果自然包含相对位置信息,从而无需额外位置嵌入即可建模相对位置关系。
- 【回答框架 3】实现上,通常预先计算每个位置的旋转矩阵,并在多头注意力中对向量分块应用旋转操作。该设计具有外推能力,但与训练长度有关,超出范围时效果下降。
- 【关键点 1】RoPE 通过旋转矩阵将绝对位置编码转化为相对位置信息
- 【关键点 2】其核心是旋转角度随位置线性变化,使得内积仅依赖于相对位置
- 【关键点 3】与训练长度外推相关,超出时效果可能下降
- 【易错点 1】不能简单认为 RoPE 完全等价于绝对位置编码,其本质是相对位置
- 【易错点 2】外推能力受限于训练长度,盲目外推可能失效