大模型原理游戏课:模型工坊 16 关 · 第 6 课 / 共 16 课 ↗ AI 教程
06|RoPE 位置罗盘:用旋转编码先后与距离
从二维旋转走到相对位置点积,理解长上下文外推风险。
↗ 5 阅读
LESSON BRIEFING06 / 16
第 6 / 16 关
旋转位置罗盘
用随位置变化的旋转,让点积携带相对距离线索。
62系统稳定度
相位清晰时,模型更容易区分先后与距离。
CHECKPOINT
RoPE 把位置信息加在哪里?
从二维旋转走到相对位置点积,理解长上下文外推风险。
如果把相同 token 打乱,嵌入查表仍得到同一组向量。模型需要位置罗盘。RoPE 不另加一个位置标签,而是按位置旋转查询和键中的维度对。
先建立整机直觉
不要先背术语。先问三个工程问题:这一阶段接收什么形状的数据、做了哪一种变换、结果交给谁。只要数据流清楚,公式就不再是孤立符号。
核心机械结构
- 每两个维度组成一个二维平面,不同频率负责不同尺度的位置变化。
- 位置 p 和 q 的旋转进入点积后,结果自然依赖 p−q,因此带来相对距离线索。
- 低频维度缓慢旋转,适合长距离;高频维度快速变化,适合局部顺序。
跟着一个例子走
把向量 (1,0) 旋转 90° 得到 (0,1)。真实 RoPE 在许多维度对上使用不同角速度。两个位置相隔相同距离时,对应旋转差相同,这正是相对位置信息。
阅读例子时,把“固定权重”和“本次请求产生的激活”分别标记。前者在训练后保存,后者会随输入变化;混淆两者会导致对记忆、隐私和性能的错误判断。
容易掉进的坑
把最大上下文长度改大并不自动让模型理解更远距离。超出训练位置分布后,相位、注意力和数据覆盖都可能失真,需要缩放策略与评估。
动手工坊
- 手算二维向量在 0°、30°、60° 下的坐标。
- 验证同时给两个向量增加相同角度时,它们的相对点积关系保持。
- 列出长上下文上线前要测的三类任务:检索、顺序和跨段推理。
完成后不要只保存结果。记录输入、参数、观察和结论,换一组输入重复实验。一个现象只有在可重复时才是证据。
检查点
你应能用“维度对旋转+相位差”解释 RoPE。
回到页面上方的互动任务,调节两个控制量并完成选择题。答对后,本关会在浏览器中记为完成并获得 XP。
参考与延伸
- https://mlx.void.app/zh
- https://arxiv.org/abs/2104.09864
本课程为 aiHubHub 原创改写。外部站点只用于核对概念范围与交互启发,正文、例子、练习和界面均重新设计。