ROPE位置编码
绝对位置编码指的是为每个位置学习一个编码的向量,它的最大问题是不可以扩展,比如训练的时候学到的最大的序列长度的编码是N,那么在推理的时候N+1的位置没有学习过,位置编码不了所以无法推理,比如说bert最大的编码长度是256;相对位置编码实际上学习的是一个关于相对位置差的embed的函数f(m-n),所以是可以扩展的;ROPE就是一种相对位置编码;传统的纯文本的ROPE是1D 的ROPE,qwen2
位置编码的作用就是在注意力计算的时候,不同token的q和k相乘去计算相似度,得到注意力系数再乘以v,然后遍历相加得到该token self-attn之后的结果,需要注意的是,如果不加pe,调换token顺序,self-attn的结果不会发生变化,但是我们知道,不同的语序的词连接在一起表达的意思是不一样的;

绝对位置编码:
绝对位置编码指的是为每个位置学习一个编码的向量,它的最大问题是不可以扩展,比如训练的时候学到的最大的序列长度的编码是N,那么在推理的时候N+1的位置没有学习过,位置编码不了所以无法推理,比如说bert最大的编码长度是256;
不过没有可学习参数的绝对位置编码是支持任意序列长度的,因为是固定的数学公式计算的;但是它也有缺点:1.灵活性不足:固定的编码可能无法捕捉到特定任务中所需的细微位置关系,尤其是在复杂或长序列中。2.可能的表达能力限制:由于没有训练得到的适应性参数,模型可能在某些特定任务上表现不如学习位置编码。
相对位置编码
相对位置编码实际上学习的是一个关于相对位置差的embed的函数f(m-n),所以是可以扩展的;ROPE就是一种相对位置编码;

具体推导公式不看了;
关于ROPE的有效性:
也会加快收敛速度:
qwen 的位置编码
传统的纯文本的ROPE是1D 的ROPE,qwen2VL中因为有图像的存在,把vit那部分改为了2D rope;
然后引入了M-ROPE:



论文中还做了消融实验验证M-ROPE的有效性:
上述可以看出,对于绝对位置编码,位置编码是直接加到原始token上;
对于相对位置编码,位置编码是矩阵相乘乘到到原始token上;
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)