标签:位置编码
-
-
可学习位置嵌入的局限
BERT/GPT-2 时代的可学习绝对位置嵌入本质是一张查表:每个位置一个自由向量。它在训练区间内够用,但表外位置既没有结构约束也没有梯度信号,距离泛化和长度外推一起失效——这篇拆这张表的数学本质,以及它逼出来的相对位置方案。
-
解耦 RoPE:MLA 与位置信息的冲突及 DeepSeek 的解法
MLA 靠把 W^{UK} 吸进投影矩阵省 cache,但 RoPE 的逐位置旋转挡在吸收路径上。DeepSeek-V2 的解耦 RoPE 用一条小维度位置通道化解了这个结构性冲突。
-
RoPE 的唯一性讨论:相对位置的函数方程视角
为什么「相对位置 + 线性编码 + 保范」几乎唯一地指向旋转矩阵?把要求写成函数方程 f(q,m)ᵀf(k,n)=g(q,k,m−n),求解过程本身就是答案。
-
位置编码与注意力分辨率的极限
位置编码给每个距离分配的「区分度」是有预算的:RoPE 的相位导数随频率线性衰减,超出一定距离后相邻距离在 logits 上不可分辨。这篇算这笔分辨率账。
-
相对位置编码谱系:Shaw 到 T5 bias
在 RoPE 成为标配之前,相对位置编码走过一条"把偏移量直接塞进注意力"的路线:Shaw 给 key 加偏移向量,Transformer-XL 拆成四项,T5 干脆在 logits 上加一张标量偏置表。这篇按时间推一遍它们的数学形式、各自的动机,以及为什么这条路线最终让位给乘性方案。
-
-
RoPE 的基频与波长分布
RoPE 每个维度对的角频率 θᵢ = base^(−2i/d) 按对数均匀铺开,本质是复用正弦 PE 的多尺度波长思想。底数 10000 不是惯例而是约束的结果:最长波长要盖过训练上下文。这篇算波长账本,给出选底数的定量判据,再看 Llama-3 把 base 提到 500000 是在优化什么。
-
训练长度与外推长度的鸿沟:长程依赖真的被学到了吗
RoPE 缩放能让 4k 训练的模型在 128k 上困惑度不炸,但远距离检索任务照样崩——外推修的是位置编码的定义域,不是长程依赖的能力。这篇拆开这两件事。
-
ALiBi:线性偏置的极简方案
ALiBi 不给每个位置生成向量,只在注意力 logits 上减一个与距离成正比的偏置:score(i,j) = q·k/√d − s·|i−j|。零位置参数、逐头分配斜率、外推免费。这篇推它的形式、为什么线性函数比查表更适配外推,以及它和 RoPE 的加性/乘性分野。
-
滑动窗口与 RoPE 的交互:窗口内一致性的得与失
滑窗让 RoPE 的相对位置永远落在训练分布内,KV 淘汰也天然安全;但窗口尺寸变更、混合层 cache 语义、流式切块三个场景各自有坑。
-
正弦位置编码的原始设计与性质
Transformer 原论文的位置编码 PE(pos,2i)=sin(pos/10000^{2i/d}) 不是拍脑袋:多尺度波长覆盖从局部到全局的相对距离,且 PE(pos+k) 可以写成 PE(pos) 的线性变换——相对位置信息对注意力天然可及。这篇推这两个性质的代数来源,以及它为什么后来被认为不够。
-
NoPE 实验:不要位置编码行不行
把位置编码整个删掉,模型还能不能感知顺序?Kazemnejad et al. 2023 的 NoPE 实验给出了反直觉的答案:causal mask 本身就泄露位置信息——但只泄露「前缀长度」这一种。
-
位置编码选型决策表:从约束到方案的推导路径
没有最好的位置编码,只有约束下的推导:从头训还是微调、要多长、什么任务、KV cache 预算多少。这篇把前面 19 篇的结论压成一棵决策树和一张表。
-
二维 RoPE 与多模态位置
一维 RoPE 向图像/视频的自然推广是按轴拆分:head dim 切成几段,x、y(视频还有 t)各自用一段做独立旋转,打分内积只依赖 (Δx, Δy) —— 二维平移不变性由结构免费获得。这篇推轴向二维 RoPE 的形式,以及 Qwen2-VL 的 M-RoPE 三段式怎么解决图文混排。
-
位置编码的频域分析:把 PE 统一成核函数的谱
正弦 PE、RoPE、ALiBi 看似三家方案,在频域里是同一个对象的三次取值:每种 PE 都定义一个关于距离的平稳核,核的傅里叶谱决定它能表达什么样的位置函数。
-
RoPE 的复数形式与实现技巧
RoPE 的实现把 query/key 的维度两两配对看成复数,乘上 e^{imθᵢ} 就完成了一次旋转。复数视角不仅省推导,还直接给出工程上最重要的三个技巧:rotate_half 等价于配对置换、cos/sin 表缓存、复数乘融进 attention kernel。