日期:2026-04-08 00:38
今天来补昨天看DeepSeekV2论文留下的其中之一个坑:旋转位置编码(Rotary Position Embedding,RoPE),话说这个不应该叫旋转位置嵌入吗?由于原文涉及到致死量的数学公式,今天花了大量时间拷打claude进行公式理解。(╯-_-)╯╧╧ 方便起见我只阅读了博客。由于具体内容涉及到致死量的数学公式,因此如果不想看公式的话直接看TL;DR和我的感悟就行´͈ ᵕ `͈
标题:ROFORMER: ENHANCED TRANSFORMER WITH ROTARY POSITION EMBEDDING
作者单位:苏剑林,追一科技
发表venue:arxiv
年份:2021.4
*ps:苏剑林苏神是月之暗面(KIMI AI)的研究员和知名中文 NLP 技术博主,最广为人知的贡献是提出了旋转位置编码 RoPE——目前几乎所有主流大模型(LLaMA、Qwen、DeepSeek、Kimi 等)都采用的位置编码方法。苏神本人也是我的学习目标之一,如果我有苏神一半的数学水平想必都能做点不错的成果出来。他有个非常知名的博客网页:科学空间
旋转位置编码就是用绝对位置编码的方式实现相对位置编码的效果。从而同时获得绝对位置编码的简单实现和对线性注意力的适配性,以及相对位置编码的更好的性能。
下面内容企图以一个数学小白的视角猜测和理解苏神当年是怎么想到思路、推导和最终发明旋转位置编码的过程,这不是严格推导的,而是一次基于猜测的"逆向工程"——把 RoPE 论文里那些"为简单起见"和"显然可以"背后藏着的研究思路还原出来。通过猜测和还原苏剑林的真实思考过程,你会发现 RoPE 不是凭空蹦出来的天才之作,而是直觉 + 数学素养 + 工程实践的精心组合。
由于Transformers的计算特性,它不像RNN这些架构一次处理一个token,而是并行处理,因此必须显式注入位置信息,让模型分清楚token的先后位置顺序。