aaihubhub
大模型原理游戏课:模型工坊 16 关 · 第 6 课 / 共 16 课 ↗ AI 教程

06|RoPE 位置罗盘:用旋转编码先后与距离

从二维旋转走到相对位置点积,理解长上下文外推风险。

author
↗ 5 阅读
LESSON BRIEFING06 / 16
第 6 / 16 关

旋转位置罗盘

用随位置变化的旋转,让点积携带相对距离线索。

相位清晰时,模型更容易区分先后与距离。

CHECKPOINT

RoPE 把位置信息加在哪里?

从二维旋转走到相对位置点积,理解长上下文外推风险。

如果把相同 token 打乱,嵌入查表仍得到同一组向量。模型需要位置罗盘。RoPE 不另加一个位置标签,而是按位置旋转查询和键中的维度对。

先建立整机直觉

不要先背术语。先问三个工程问题:这一阶段接收什么形状的数据、做了哪一种变换、结果交给谁。只要数据流清楚,公式就不再是孤立符号。

核心机械结构

  • 每两个维度组成一个二维平面,不同频率负责不同尺度的位置变化。
  • 位置 p 和 q 的旋转进入点积后,结果自然依赖 p−q,因此带来相对距离线索。
  • 低频维度缓慢旋转,适合长距离;高频维度快速变化,适合局部顺序。

跟着一个例子走

把向量 (1,0) 旋转 90° 得到 (0,1)。真实 RoPE 在许多维度对上使用不同角速度。两个位置相隔相同距离时,对应旋转差相同,这正是相对位置信息。

阅读例子时,把“固定权重”和“本次请求产生的激活”分别标记。前者在训练后保存,后者会随输入变化;混淆两者会导致对记忆、隐私和性能的错误判断。

容易掉进的坑

把最大上下文长度改大并不自动让模型理解更远距离。超出训练位置分布后,相位、注意力和数据覆盖都可能失真,需要缩放策略与评估。

动手工坊

  1. 手算二维向量在 0°、30°、60° 下的坐标。
  2. 验证同时给两个向量增加相同角度时,它们的相对点积关系保持。
  3. 列出长上下文上线前要测的三类任务:检索、顺序和跨段推理。

完成后不要只保存结果。记录输入、参数、观察和结论,换一组输入重复实验。一个现象只有在可重复时才是证据。

检查点

你应能用“维度对旋转+相位差”解释 RoPE。

回到页面上方的互动任务,调节两个控制量并完成选择题。答对后,本关会在浏览器中记为完成并获得 XP。

参考与延伸

  • https://mlx.void.app/zh
  • https://arxiv.org/abs/2104.09864

本课程为 aiHubHub 原创改写。外部站点只用于核对概念范围与交互启发,正文、例子、练习和界面均重新设计。