【NLP高频面题 - LLM架构篇】旋转位置编码RoPE相对正弦位置编码有哪些优势?

【NLP高频面题 - LLM架构篇】旋转位置编码RoPE相对正弦位置编码有哪些优势?

重要性:⭐⭐⭐ 💯


NLP Github 项目:


RoPE相对正弦位置编码而言是更好的位置编码方式。一个好的位置编码应该满足以下条件:

  • 每个位置输出一个唯一的编码
  • 具备良好的外推性
  • 任何位置之间的相对距离在不同长度的句子中应该是一致的

RoPE可以更好的解决上面的三个问题。

正弦编码(Sinusoidal)

基于Sinusoidal的位置编码最初是由谷歌在论文Attention is All You Need中提出的方案,用于Transformer的位置编码。具体计算方式如下所示:

其中pos是位置,i表示维度。

  • 具有相对位置表达能力:Sinusoidal可以学习到相对位置,对于固定位置距离的k,PE(i+k)可以表示成PE(i)的线性函数。
  • 两个位置向量的内积只和相对位置 k 有关
  • Sinusoidal编码具有对称性 。,即 P E ( t + k ) P E ( t ) = P E ( t ) P E ( t − k ) PE(t+k)PE(t) = PE(t)PE(t-k) PE(t+k)PE(t)=PE(t)PE(t−k),这表明Sinusoidal编码具有对称性
  • 随着k的增加,内积的结果会直接减少,即会存在远程衰减
    • 正弦编码是否真的具备外推性?实际的Attention计算中还需要与attention的权重W相乘,即 P E t T W q T W k P E t + k PE_t^T{W}_q^{T}{W}kPE{t+k} PEtTWqTWkPEt+k ,这时候内积的结果就不能反映相对距离

正弦编码是否真的具备外推性?

似乎Sinusoidal只和相对位置有关。但是实际的Attention计算中还需要与attention的权重W相乘,即 P E t T W q T W k P E t + k PE_t^T{W}_q^{T}{W}kPE{t+k} PEtTWqTWkPEt+k ,这时候内积的结果就不能反映相对距离。正弦编码中真实的q,k向量内积和相对距离之间,没有远程衰减性,如下图所示:

首先,对于RoPE编码任何位置之间的相对距离在不同长度的句子中应该是一致的。

如果两个token在句子1中的相对距离为k,在句子2中的相对距离也是k,那么这两个句子中,两个token之间的相关性应该是一致的,也就是attention_sample1(token1, token2) = attention_sample2(token1, token2)。

可以从旋转矩阵的角度轻松理解此特性。

其次:RoPE编码中q,k向量内积只和相对位置有关

最后,RoPE位置编码具有良好的外推性。

RoPE位置编码:

可以看出,在外推(Extrapolation)时,红色点超出了预训练时的位置编码。

为了解决这个问题,位置线性内插的核心思想是通过缩放位置索引 ,使得模型能够处理比预训练时更长的序列,而不损失太多性能。

微调少量长文本,位置线性内插就能推理长文本:

另外,RoPE旋转位置编码不是作用在embedding的输入层,而是作用在与Attention的计算中,可以避免在输入中引入噪声。


NLP 大模型高频面题汇总

NLP基础篇
【NLP 面试宝典 之 模型分类】 必须要会的高频面题
【NLP 面试宝典 之 神经网络】 必须要会的高频面题
【NLP 面试宝典 之 主动学习】 必须要会的高频面题
【NLP 面试宝典 之 超参数优化】 必须要会的高频面题
【NLP 面试宝典 之 正则化】 必须要会的高频面题
【NLP 面试宝典 之 过拟合】 必须要会的高频面题
【NLP 面试宝典 之 Dropout】 必须要会的高频面题
【NLP 面试宝典 之 EarlyStopping】 必须要会的高频面题
【NLP 面试宝典 之 标签平滑】 必须要会的高频面题
【NLP 面试宝典 之 Warm up 】 必须要会的高频面题
【NLP 面试宝典 之 置信学习】 必须要会的高频面题
【NLP 面试宝典 之 伪标签】 必须要会的高频面题
【NLP 面试宝典 之 类别不均衡问题】 必须要会的高频面题
【NLP 面试宝典 之 交叉验证】 必须要会的高频面题
【NLP 面试宝典 之 词嵌入】 必须要会的高频面题
【NLP 面试宝典 之 One-Hot】 必须要会的高频面题
...
BERT 模型面
【NLP 面试宝典 之 BERT模型】 必须要会的高频面题
【NLP 面试宝典 之 BERT变体】 必须要会的高频面题
【NLP 面试宝典 之 BERT应用】 必须要会的高频面题
...
LLMs 微调面
【NLP 面试宝典 之 LoRA微调】 必须要会的高频面题
【NLP 面试宝典 之 Prompt】 必须要会的高频面题
【NLP 面试宝典 之 提示学习微调】 必须要会的高频面题
【NLP 面试宝典 之 PEFT微调】 必须要会的高频面题
【NLP 面试宝典 之 Chain-of-Thought微调】 必须要会的高频面题
...
相关推荐
Ven%4 小时前
如何让后台运行llamafactory-cli webui 即使关掉了ssh远程连接 也在运行
运维·人工智能·chrome·python·ssh·aigc
Jeo_dmy4 小时前
(七)人工智能进阶之人脸识别:从刷脸支付到智能安防的奥秘,小白都可以入手的MTCNN+Arcface网络
人工智能·计算机视觉·人脸识别·猪脸识别
睡觉狂魔er5 小时前
自动驾驶控制与规划——Project 5: Lattice Planner
人工智能·机器学习·自动驾驶
xm一点不soso6 小时前
ROS2+OpenCV综合应用--11. AprilTag标签码跟随
人工智能·opencv·计算机视觉
云卓SKYDROID7 小时前
无人机+Ai应用场景!
人工智能·无人机·科普·高科技·云卓科技
是十一月末7 小时前
机器学习之过采样和下采样调整不均衡样本的逻辑回归模型
人工智能·python·算法·机器学习·逻辑回归
小禾家的7 小时前
.NET AI 开发人员库 --AI Dev Gallery简单示例--问答机器人
人工智能·c#·.net
生信碱移7 小时前
万字长文:机器学习的数学基础(易读)
大数据·人工智能·深度学习·线性代数·算法·数学建模·数据分析
KeyPan7 小时前
【机器学习:四、多输入变量的回归问题】
人工智能·数码相机·算法·机器学习·计算机视觉·数据挖掘·回归
码力全開7 小时前
C 语言奇幻之旅 - 第14篇:C 语言高级主题
服务器·c语言·开发语言·人工智能·算法