位置编码为什么必要?Maths, CS AI Compendium 中 RoPE 与位置编码完整入门指南
位置编码为什么必要Maths, CS AI Compendium 中 RoPE 与位置编码完整入门指南【免费下载链接】maths-cs-ai-compendiumBecome a cracked AI/ML researcher/engineer with this unconventional textbook covering maths, computing, and ML with intuition.项目地址: https://gitcode.com/GitHub_Trending/mat/maths-cs-ai-compendiumMaths, CS AI Compendium是一本免费开源的直觉优先教科书系统覆盖数学、计算机科学与 AI/ML。本文将用新手也能懂的方式讲清楚位置编码Positional Encoding为什么是 Transformer 的必要组件以及RoPE旋转位置编码如何用旋转巧妙解决词序问题。一、为什么 Transformer 离不开位置编码先看 Transformer 的核心组件——多头自注意力结构问题出在注意力机制天生不看顺序上。自注意力本质是把输入当成一个集合来处理的——它对排列是置换等变的。换个直观例子猫坐在垫子上 和 垫子坐在猫上如果只看词袋哪些词出现了各几次两句话对模型来说完全一样。但语言、代码、图像序列的顺序显然至关重要。既然注意力本身无法感知位置就必须外挂位置信息——这就是位置编码存在的根本原因给每个 token 的位置打上一个可区分的标记让模型知道谁在前、谁在后、相隔多远。 相关内容chapter 06 - machine learning/03. deep learning.md二、位置编码的三大流派从正弦波到旋转矩阵1️⃣ 正弦位置编码最初的方案原始 Transformer 使用固定的正弦/余弦函数不同维度对应不同频率像多根节拍器一样给每个位置一个独一无二的向量$$PE_{(pos,,2i)} \sin!\left(\frac{pos}{10000^{2i/d}}\right), \qquad PE_{(pos,,2i1)} \cos!\left(\frac{pos}{10000^{2i/d}}\right)$$BERT 和 GPT-2 则更简单粗暴可学习的绝对位置嵌入——每个位置对应一个可训练向量直接加到 token 嵌入上。它们都是绝对编码不管上下文如何位置 5 永远拿到同一个向量而且训练长度之外的位置从未见过泛化能力受限。2️⃣ RoPE用旋转代替加法把顺序转进注意力里RoPE旋转位置编码是当前的主流方案。它的思路非常优雅不往向量里加位置而是把查询Q和键K向量在二维子空间里按位置旋转不同角度旋转矩阵本身是线性代数里的老朋友——对第 $i$ 对维度位置 $m$ 的 token 旋转角度为 $m\theta_i$$\theta_i 10000^{-2i/d}$。关键性质来了旋转后的内积为$$q^T k (R_m q)^T (R_n k) q^T R_m^T R_n, k q^T R_{n-m}, k$$也就是说注意力分数只依赖相对距离 $n-m$而不是绝对位置 $m$、$n$ 本身。模型天然获得了距离感而且✅零参数位置信息由固定的旋转角度产生不需要学习任何位置参数✅相对位置内建隔几个词的概念这正是语言中最常需要的关系✅外推友好对未见过的更长序列也只是转到没见过的角度比绝对嵌入更平滑 完整推导见chapter 07 - computational linguistics/04. transformers and language models.md3️⃣ ALiBi更极简的距离惩罚另一个轻量思路是给注意力分数直接减去距离的线性惩罚$\text{score}_{ij} q_i^T k_j - m \cdot |i - j|$。不同注意力头使用不同斜率有的头关注局部、有的头关注全局同样零参数且长序列泛化好。三、长上下文时代RoPE 的续长技巧RoPE 有个天然短板基础频率 $\theta_{\text{base}}$ 限制了它在训练长度之外的外推能力。业界因此发展出一系列上下文扩展方法方法核心思想适用场景RoPE 插值把位置索引缩小让长序列用训练中见过的角度4 倍以内扩展最稳定RoPE 外推位置索引不变直接外推需配合基础频率调整ABFYaRN只插值低频维度、外推高频维度 温度缩放DeepSeek-V3、Qwen 等从 8K 扩到 128KiRoPE每隔 4 层用无位置编码层NoPE 标准 RoPE 层混合Llama 4 实现千万级 token 上下文 详解见chapter 07 - computational linguistics/05. advanced text generation.md四、一句话总结位置编码必要是因为注意力看不见顺序RoPE 胜出是因为它用零参数的旋转把相对位置直接编码进了注意力分数还天生适配长上下文扩展。理解它就看懂了一条线置换等变的注意力 → 绝对编码的局限 → 旋转矩阵的相对位置之美。想系统补全这块知识拼图可以按章节顺序学习chapter 02 - matrices/04. linear transformations.md旋转与线性变换基础→ chapter 06 - machine learning/03. deep learning.md注意力与 Transformer→ chapter 07 - computational linguistics/04. transformers and language models.md位置编码全谱系。【免费下载链接】maths-cs-ai-compendiumBecome a cracked AI/ML researcher/engineer with this unconventional textbook covering maths, computing, and ML with intuition.项目地址: https://gitcode.com/GitHub_Trending/mat/maths-cs-ai-compendium创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考