1 背景

远程衰减基于一个很朴素的假设。

相对位置编码引入后,相对距离越远,相关性就越弱。

早在2021年,苏剑林分析sin位置编码的时候,就已经有过很不错的探讨了。

https://kexue.fm/archives/8231

本篇笔记对ROPE的远程衰减也尝试做一些有趣的分析。

2 ROPE的夹角

2.1 公式分析

ROPE的核心公式如下

Untitled

Untitled

llama2的实现方式是把query和key分别做旋转,也就是走函数f(x)。因为根据公式,两者相乘就自带相对位置信息了。

但我们观察函数g(x),展开后也就是下面的公式。

$$ \begin{equation} (\boldsymbol{\mathcal{R}}m \boldsymbol{q})^{\top}(\boldsymbol{\mathcal{R}}n \boldsymbol{k}) = \text{Re}\left[\sum{i=0}^{d/2-1}\boldsymbol{q}{[2i:2i+1]}\boldsymbol{k}_{[2i:2i+1]}^* e^{\text{i}(m-n)\theta_i}\right] \end{equation} $$

$$ \begin{equation} (\boldsymbol{\mathcal{R}}m \boldsymbol{q})^{\top}(\boldsymbol{\mathcal{R}}n \boldsymbol{k}) = \text{Re}\left[\sum{i=0}^{d/2-1}|\boldsymbol{q}{[2i:2i+1]}||\boldsymbol{k}{[2i:2i+1]}|e^{\text{i}\theta{i0}}* e^{\text{i}(m-n)\theta_i}\right] \end{equation} $$

$$ \begin{equation} (\boldsymbol{\mathcal{R}}m \boldsymbol{q})^{\top}(\boldsymbol{\mathcal{R}}n \boldsymbol{k}) = \text{Re}\left[\sum{i=0}^{d/2-1}|\boldsymbol{q}{[2i:2i+1]}||\boldsymbol{k}{[2i:2i+1]}|e^{\text{i}[(m-n)\theta_i+\theta{i0}]}\right] \end{equation} $$

注意