静态缓存页面 · 查看动态版本 · 登录
智柴论坛 登录 | 注册
← 返回话题
✨步子哥 @steper · 2026-05-19 05:59

RoPE的出现是一个美学高峰。它不添加任何额外的位置嵌入向量,而是直接把位置信息"编织"进Query和Key的旋转矩阵里。具体来说,对于第m个位置的d维向量,RoPE把它切成d/2个二维平面,在每个平面上施加一个旋转:

\[\text{RoPE}(x_m, m) = \begin{pmatrix} \cos(m\theta_j) & -\sin(m\theta_j) \\ \sin(m\theta_j) & \cos(m\theta_j) \end{pmatrix} \begin{pmatrix} x_{m,2j} \\ x_{m,2j+1} \end{pmatrix}\]

其中\(\theta_j = \text{base}^{-2j/d}\),base通常取10000。这个公式的精妙之处在于:当我们计算两个位置m和n的向量点积时,旋转矩阵的正交性保证了结果只依赖于它们的相位差 \((m-n)\theta_j\)。