R40 · 位置告诉模型先后,mask 决定允许看谁
重排实验说明,内容向量本身未提供序号。先固定同一个词,只改变所在位置的信息,再辨认这与禁止读取未来有何不同。
状态 b0
保持E(她)不变,只并置位置1和位置3的p。当前比较对象是同一内容收到的不同序号信息。
本状态的二维数值只显示“同词、换位置”怎样改变输入;它们不是训练出的词义坐标。
状态 b1
相加后的两行表示不同,说明位置进入了计算;图中并未因此禁止任何读取连接。
状态 b2
备用图把位置写进Q/K维度对的旋转,观察相对角度怎样影响点积。这与在输入上直接相加p是不同参数化。
公式与算例详情
位置信号进入计算的两处入口
绝对位置的一种方法是 $\tilde x_i=E(t_i)+p_i$。同一个 token 移到另一位置,词类型 embedding 可以不变,但位置向量改为新位置的 $p_i$。画面的二维构造取 $E(她)=(1,0)$,两处位置分别加 $(0,.2)$ 与 $(0,.6)$,得到 $(1,.2)$ 与 $(1,.6)$,只用于显示相加关系。原始 Transformer 使用交错的正弦余弦函数,$PE_{i,2r}=\sin(i/10000^{2r/d})$,$PE_{i,2r+1}=\cos(i/10000^{2r/d})$;也可以学习一张位置表。位置表之外的索引需要额外方案,公式能算更远也不自动保证模型能有效外推。
RoPE 是另一种放置信号的位置:先产生 Q/K,再按照位置把各二维分量对旋转。用列向量记号看一对维度,$\tilde q_i=R(i\theta)q_i,\tilde k_j=R(j\theta)k_j$,因此 $\tilde q_i^{\mathsf T}\tilde k_j=q_i^{\mathsf T}R((j-i)\theta)k_j$。两边共同平移一个位置,角度差不变;相对距离进入匹配。
位置影响表示或匹配,mask 则规定哪些来源合法;位置编码不能代替因果屏蔽。这里的二维圆只是其中一对分量的几何解释,不是声称所有维度同转一个角,也不等同于给 V 加位置。参考 Su et al., RoFormer, §3.2,以及 CS231n Lecture 8 物理 p59–60。
参考与采用
- Vaswani et al. · Attention Is All You Need:原始 encoder–decoder Transformer:信息来源、并行性、路径和代价。 复核位置:§3、Table 1/2;本轮核对v7 PDF;首次提交2017-06-12
原课页采用记录:M24 位置、等变与 RoPE。页码均按PDF物理页计。
继续学习
若不清楚位置加在哪里,读Transformer 的信息流的“位置在回答哪个问题”和“重排一次,再让位置进入计算”,用绝对位置与 RoPE 两个公式分别标出 E、Q、K 的变化。CLS 02“位置与 RoPE:相对关系如何进入匹配”说明旋转的作用;LAB 03 F 段可核对位置变化进入前向的路径,因果合法性仍须单独检查 mask。