1. 位置编码
1.1 绝对位置编码
绝对位置编码是一种相对简单的位置编码方式,主要有如下几种方式
- 训练式:直接将位置编码当作可训练参数,如BERT、GPT等,缺点是没有外推性
- 三角式:使用三角函数进行编码,如transformer;
- 优点:1. 有显式的生成规律,有一定的外推性;2. 由 s i n ( α + β ) sin(\alpha + \beta) sin(α+β) 的展开式可以得到, α + β \alpha+\beta α+β的向量可以表示成 α \alpha α和 β \beta β向量的组合,即提供了相对位置信息。
- 缺点:计算复杂
- 递归式:如RNN的形式,在句子后面接RNN,再输入到transformer理论上可以不用位置编码
1.2 相对位置编码
相对位置并没有建模每个输入的位置信息,而是在算Attention的时候考虑当前位置与被Attention的位置的相对距离,由于自然语言一般更依赖于相对位置,所以相对位置编码通常也有着优秀的表现。相对位置将本来依赖于二元坐标 ( i , j ) (i,j) (i,j) 的向量改为只依赖于相对距离 i − j i−j i−j,并且通常来说会进行截断,所以能适配任意的距离
经典的相对位置编码比如XLNET、T5、等都是在 q i k j T q_ik_j^T qikjT的展开式上进行处理,如下图所示:

1.3 旋转位置编码
目前很火的LLAMA、GLM模型都采用的是旋转位置编码,和相对位置编码相比,RoPE具有更好的外推性。其基本思想是 q m k n q_m k_n qmkn做点积的结果可以表示成向量 x m 、 x n x_m、x_n x

本文深入探讨大模型的基础知识,重点介绍Transformer的位置编码,包括绝对位置编码、相对位置编码和旋转位置编码。同时,文章讨论了多头注意力机制的不同变体,如MHA、MQA和GQA。此外,还涵盖了大模型分类、微调方法,如Prompt Tuning和Prefix Tuning,以及加速技巧,如KV Cache和混合精度训练。
最低0.47元/天 解锁文章
1785

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



