【文献阅读】ALiBi: Attention With Linear Biases位置编码
论文地址:
论文代码:
该方法通过不同的方式引入相对位置编码,具体来说:不添加position embedding,而是添加一个静态的不学习的bias。
如上图所示,就是在query和key做矩阵点乘的基础上,加上一个常数负值,比如距离当前位置前1位为-1,前两位为-2,两个token距离越远这个负数就越大,代表他们的相互贡献越低。这些常数要乘上权重m,并且每个attention head的m的取值不一样。
如果是8个头,则取值如下:\(\frac{1}{2^{1}},\frac{1}{2^{2}},...,\frac{1}{2^{8}}\)。
如果是16个头,则取值如下:\(\frac{1}{2^{0.5}},\frac{1}{2^{1}},\frac{1}{2^{1.5}},...,\frac{1}{2^{8}}\)。
如果是n个头,则是以\(2^{\frac{-8}{n}}\)为首项,以\(2^{\frac{-8}{n}}\)为比率的等比数列。
从实验结果来看ALiBi有几个优点:
- 减少了需要训练的embedding,可以稍微加快训练速度,减小模型参数。
- 在512上训练,到更长的token上推理时,表现相比于之前的方法更稳定。
- 像MosaicLM用了这种技术可以直接拿来写小说,生成特别长的文本内容。