关于位置编码,我感觉应该我需要知道点啥?
0、需要知道什么知识?
multi head atten 计算
复数的常识
1、embedding 是什么?
position embedding常识、概念,没有会怎样?
交换token位置,没有PE的话,atten怎么变化?
2、PE如何实现?需要什么特性?
sin, cos 频率、周期、波长、如何转换?
为什么这么设计?是如何演进的?
三角位置编码有哪些重要特性?代码如何实现?
3、绝对位置编码&相对位置编码的 定义与分类
绝对位置编码
相对位置编码
ROPE原理推导、外推长度?
4、ROPE的具体实现代码
实现方式1
实现方式2
什么是position_encoding:
Positional encoding 是在 transformer 模型中用于表示单词位置信息的一种技术。它的主要作用有:
在 transformer 模型中,由于attention机制是并行计算的,输入的词向量不包含顺序信息,需要positional encoding来表示单词位置。
让模型学习单词之间的相对位置关系,从而明确上下文语义。
允许模型学习词序信息,判断词语顺序是否重要。比如"little boy"和"boy little"在语义上是不同的。
通过在词向量中加入位置信息,可以帮助注意力机制学习句子中单词的相关程度。位置邻近的单词更可能有关联。
Positional encoding一般通过在词向量中加入正弦曲线来实现。通过不同频率的正弦曲线来表示词语的相对位置。
Positional encoding使得模型对词序变化更加鲁棒,能处理词序调整后的句子。
总之,Positional encoding为transformer模型提供了顺序信息,是实现transformer表征能力的重要组成部分。它让模型明确单词顺序和上下文关系,从而更好地理解语义。


参考链接:
4、图解Transformer系列一:Positional Encoding(位置编码)
5、Transformer中的位置编码(Position Encoding)
6、【OpenLLM 009】大模型基础组件之位置编码-万字长文全面解读LLM中的位置编码与长度外推性(上)
- 文章首发在“小晨的AI工作室”
- 因为无法上传高清大图,请公众号回复“rope”进行下载原图。