旋转位置编码
Rotary Position EmbeddingRoPE进阶把位置信息写成向量旋转角度的位置编码,让注意力天然感知相对距离。
旋转位置编码由深圳追一科技的苏剑林等人在 2021 年 RoFormer 论文中提出。Transformer 本身分不清 token 的先后顺序,需要位置编码补上。RoPE 把查询和键向量的每两维看作一个平面坐标,按 token 所在位置旋转一个角度,不同维度对的转速不同;这样两个 token 做内积时,结果只取决于它们的相对距离。它不增加可学习参数,注意力依赖随距离增大自然衰减,也方便通过调整旋转频率来扩展上下文长度。Meta 的 LLaMA 采用 RoPE 后,它成了大语言模型的主流做法,Qwen 系列等 VLM 以及基于它们的 VLA 也都沿用。Qwen2-VL 进一步提出多模态 RoPE(M-RoPE),把位置拆成时间、高度、宽度三个分量,用于图像和视频 token。
例子Qwen2-VL 的 M-RoPE:文本 token 的三个位置编号相同,等同普通 RoPE;图像 token 的时间编号固定、高宽编号随所在网格位置变化;视频每往后一帧,时间编号加一。
- 也叫
- 旋转式位置编码、Rotary Embedding、M-RoPE
- 相关
- 位置编码、Transformer、自注意力、上下文长度、通义千问 Qwen-VL、Llama
- 来源
- RoFormer: Enhanced Transformer with Rotary Position Embedding (arXiv 2104.09864)
Qwen2-VL: Enhancing Vision-Language Model's Perception of the World at Any Resolution (arXiv 2409.12191)
LLaMA: Open and Efficient Foundation Language Models (arXiv 2302.13971)