Lecture 05 · 位置告诉模型先后,mask 决定允许看谁

R40 · 位置告诉模型先后,mask 决定允许看谁

重排实验说明,内容向量本身未提供序号。先固定同一个词,只改变所在位置的信息,再辨认这与禁止读取未来有何不同。

状态 b0

保持E(她)不变,只并置位置1和位置3的p。当前比较对象是同一内容收到的不同序号信息。

本状态的二维数值只显示“同词、换位置”怎样改变输入;它们不是训练出的词义坐标。

同一个 token,放在两个位置内容固定:E(她) = (1, 0)位置 1p₁ = (0, .2)位置 3p₃ = (0, .6)位置改变表示;是否允许读取未来,还要另加 mask。

状态 b1

相加后的两行表示不同,说明位置进入了计算;图中并未因此禁止任何读取连接。

同一个 token,放在两个位置内容固定:E(她) = (1, 0)位置 1p₁ = (0, .2)E + p = (1, .2)位置 3p₃ = (0, .6)E + p = (1, .6)位置改变表示;是否允许读取未来,还要另加 mask。

状态 b2

备用图把位置写进Q/K维度对的旋转,观察相对角度怎样影响点积。这与在输入上直接相加p是不同参数化。

绝对位置:加到输入表示x̃ᵢ = E(tokenᵢ) + pᵢ相同的“她”:E = (1, 0)在位置1:p₁=(0, .2) → (1, .2)在位置3:p₃=(0, .6) → (1, .6)p 可来自正弦/余弦,也可学习。RoPE:旋转 Q/K 的分量对R(iθ)qR(jθ)k(R(iθ)q)ᵀR(jθ)k= qᵀR((j−i)θ)k点积中出现相对位移 j−i。

公式与算例详情

位置信号进入计算的两处入口

绝对位置的一种方法是 $\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。

参考与采用

原课页采用记录:M24 位置、等变与 RoPE。页码均按PDF物理页计。

继续学习

若不清楚位置加在哪里,读Transformer 的信息流的“位置在回答哪个问题”和“重排一次,再让位置进入计算”,用绝对位置与 RoPE 两个公式分别标出 E、Q、K 的变化。CLS 02“位置与 RoPE:相对关系如何进入匹配”说明旋转的作用;LAB 03 F 段可核对位置变化进入前向的路径,因果合法性仍须单独检查 mask。