RoPE(Rotary Position Embedding,旋转位置编码)是一种将位置信息通过旋转操作融入Transformer模型的技术,已成为LLaMA、ChatGLM等主流大模型的核心组件。以下从原理到实践的系统解析:
一、技术原理与数学推导
1. 核心目标
解决Transformer无法捕获位置信息的缺陷,通过绝对位置编码实现相对位置感知,满足内积关系:
⟨f(qₘ, m), f(kₙ, n)⟩ = g(qₘ, kₙ, m-n)
即注意力分数仅依赖相对位置 (m-n)。
2. 数学推导
- 二维旋转:将向量视为复数,位置m的向量旋转角度 mθ:
qₘ = (qₘ₁ + iqₘ₂) · e^{imθ}
旋转矩阵:
R θ = ( cos m θ − sin m θ sin m θ cos m θ ) R_{\theta} = \begin{pmatrix} \cos m\theta & -\sin m\theta \\ \sin m\theta & \cos m\theta \end{pmatrix} Rθ=(cosmθsinmθ−sinmθcosmθ) - 高维扩展:将d维向量按两两分组,每组独立旋转:
R Θ , m d = diag ( R m θ 1 , R m θ 2 , ⋯ ) R_{\Theta, m}^d = \text{diag}\left( R_{m\theta_1}, R_{m\theta_2}, \cdots \right) RΘ,m


3160

被折叠的 条评论
为什么被折叠?



