CoPE(上下文位置编码)
CoPE 不只按 token 的物理索引计数,而是根据当前 query 与历史 token 的内容关系学习“软位置”,再从位置 embedding 中插值取值。
绝对位置编码给第 个 token 固定位置;RoPE 让注意力点积依赖相对距离。但某些任务中的有效位置更像“这是第几个相关事件/句子/结构”,未必等于 token 距离。CoPE 尝试让位置由上下文决定。
对 query 与历史 token 的 attention logit,可先得到 gate:
再用反向累计得到软位置:
若 不是整数,可在相邻位置 embedding 间线性插值。插值得到的 contextual position embedding 再参与 attention score。直观上,gate 接近 1 的 token 被“计数”,gate 接近 0 的 token 对上下文位置贡献较小。
与 RoPE 的区别
Section titled “与 RoPE 的区别”| 方法 | 位置来源 | 主要注入方式 | 课程中的定位 |
|---|---|---|---|
| Learned absolute PE | 固定 token index | 加到 token embedding | 绝对位置基线 |
| Sinusoidal PE | 固定 token index | 固定正余弦向量 | 可计算的绝对位置 |
| RoPE | token 距离 | 旋转 Q/K | 相对位置进入点积 |
| CoPE | 内容相关的软计数 | gate + 累积 + 插值 | 研究性上下文位置 |
CoPE 不是“RoPE 的简单缩放”,也不等于主流 Llama 已采用的组件。
- 自回归 attention 只累计当前位置及之前 token;
- 反向 cumulative sum 便于从每个历史位置计算到当前 query 的软距离;
- 插值让离散位置表可处理非整数 ;
- 直接构造所有 pair 可能开销大,论文/课程还讨论用位置 logits 的等价高效实现。
第 28 讲依据论文公式和示例 notebook 讲解,没有完成大模型训练复现。因此本页记录算法机制,不声称 CoPE 已在课程环境中验证优于 RoPE,也不写成现有 Llama 的既定结构。
- 内容位置等于语义相似度:gate 由训练目标学习,不保证可直接解释为人类语义关系。
- CoPE 消除顺序:它仍基于 causal 历史并累计位置,只是计数权重由内容决定。
- 论文提出就等于生产标准:是否采用取决于效果、复杂度和实现成熟度。