RoPE++是一种改进的旋转位置编码方法,通过重新引入标准RoPE中被丢弃的虚部分量,创建实部和虚部双成分注意力机制。虚部注意力更关注长距离依赖关系,能有效增强大语言模型的长上下文建模能力。提供RoPE++EH(减少参数量)和RoPE++EC(增加注意力头数)两种实现方案,在保持或降低计算成本的同时,显著提升模型对长文本的理解能力,特别是在处理百万级上下文时优势明显。


旋转位置嵌入(RoPE)已成为大语言模型(LLM)编码序列顺序的标准,对复平面上的查询和键向量旋转。标准的实现方式利用复数点积的实分量来计算注意力得分。这种简化删除了包含有作用的相位信息的虚部分量,可能导致对长上下文依赖至关重要的关系细节丢失。RoPE++,重新包含了被丢弃的虚分量。利用完整的实部加虚部的复值表示,创建双成分注意力评分。通过保留更多位置信息,增强了长上下文依赖的建模,性能上优于标准 RoPE,且随着上下文长度的增加,优势也更加明显。

基于注意力机制的大语言模型(LLM),尤其是在长上下文领域,上下文长度扩展到百万 tokens 级别,主要得益于位置嵌入的设计。现有的大语言模型中,旋转位置嵌入(RoPE)是一个标准组件,编码了每个查询和键向量𝒒t, 𝒌s 的绝对位置,也就是 token 序号 s,t使用旋转矩阵或复数乘法,当两个向量计算点积时,会把它们的相对位置t−s,即相对距离,注入到注意力分数里,从而结合了绝对位置嵌入和相对位置嵌入的优点,被广泛采用。

然而,RoPE也存在明显的缺点,包括长度外推性能不佳, 缺乏数据敏感性,无法作为异构多模态的输入的设计。 大多数工作主要通过插值设计优化RoPE,数据感知,特征维度切分;具体有: 长度外插,扩展旋转基,插值或压缩序号范围,把RoPE 和 稀疏注意力进行耦合。但很少有工作研究 RoPE 内在计算或分析其固有局限性。分析RoPE复数乘法形式发现,标准实现只保留了复注意力分数的实数部分,完全舍弃了虚数部分。虽然只取实部可以保持复数乘法与向量旋转之间的直接等价性,但会导致信息损失。

核心问题:标准RoPE只使用复数点积的实部计算注意力分数,完全丢弃了虚部信息,导致潜在的位置关系细节丢失。

关键观点:虚部注意力(imaginary attention)相比实部注意力更倾向于关注长距离依赖关系,对长上下文任务有益。

RoPE++ 的改进方法,通过在RoPE中重新引入被丢弃的虚部信息来增强长上下文建模能力。

1

RoPE++技术方案

仔细观察虚部注意力,严格来说,即注意力的负虚部部分,可以发现,实部注意力表现出更强的语义局部性,虚部注意力头更关注长上下文信息,如图所示,可以在长上下文任务中取得优势。此外,添加虚部注意力,也会把𝒒t,𝒌s暴露到更宽的位置信息范围上,进而提升长度外推的能力。因此,提出如图所示的RoPE++方法,将被丢弃的虚部分量重新注入成一组新的注意力头,进行并行计算。

具体来说,引入 RoPE++EH(Equal Heads)保持注意力头数相等,同时将 QKV 参数 和 KV-Cache 减半;RoPE++EC(Equal Cache)保留相同数量的Cache,注意力头数量翻倍。RoPE++EH 和 RoPE++EC 在通用任务上优于原版RoPE和其他位置嵌入。在长上下文基准测试中,RoPE++EH与原版RoPE效果相当,Cache减半;RoPE++EC 在相同的cache成本下,性能明显更优。

RoPE++概览。RoPE只保留复数注意力分值的实数部分,RoPE++利用完整的复数表示,实现实部和虚部注意力。实部注意力表现出更强的局部语义信息,虚部注意力则优先捕捉长上下文依赖关系。RoPE++ 结合了两者,带来了多重优势。

👉 绝对位置编码: 直接给输入序列中的 token 添加绝对位置信息第一分钟加一个“1”,第二分钟加一个“2”。

👉 RoPE(Rotary Position Embedding)旋转位置编码, 表示相对位置的机制是通过绝对位置编码的形式,实现了相对位置编码的效果。RoPE旋转位置编码:通过复数或二维平面中的向量表示的数学推导,发现最终的表达式中,三角函数 cos和 sin的参数是 (n-m)θ_i,其中 n-m正是两个token的相对位置。尽管我们向 q 和 k 添加了表示各自绝对位置(m和n)的编码,但最终计算出的注意力分数却只依赖于它们的相对位置(n-m)。模型在训练时学到基于相对位置的注意力模式,在推理时,即使序列长度远超训练长度,只要相对位置差 n-m在模型见过的范围内,模型就能较好地处理。

👉 RoPE++通过数学分析发现虚部注意力的衰减模式与实部不同。实部注意力随着距离增加而衰减(像余弦函数),而虚部注意力则像正弦函数,它在距离为0时是0,然后先上升再下降。这意味着虚部注意力更关注一定距离之外的token,而不是附近的token。因此,它可以帮助模型捕捉长距离依赖。

我们这里回顾一下大模型注意力机制的一些背景知识:

输入大模型的句子的单词,通过embedding 查表转换成数字。

第一步:分词 (Tokenization)

分词器先把句子切成一块块的小碎片(Token)。比如句子:“我爱学习”。

  1. 分词: [“我”, “爱”, “学习”]

  2. 编号: 模型有一本巨大的字典(词表),每个词对应一个唯一的数字 ID。

“我” 101

“爱” 502

“学习” 888

句子现在变成了一个一维的数字列表 [101, 502, 888]。

第二步:查表(Embedding Lookup)

模型有 “权重表”(Embedding Table): 表的行数是词表总数(比如 50,000 行),表的列数是模型设置的维度(比如 768 列)。每一行都是一串小数(向量),代表这个词的“特征”意义。

当拿着 ID 101(“我”)去查表时,实际上是把表的第 101 行找了出来。这个时候:

  • “我” 就变成:[0.12, -0.5, 0.88, …] (共 768 个数)

  • “爱” 就变成:[0.45, 0.11, -0.2, …] (共 768 个数)

  • “学习” 就变成:[-0.9, 0.33, 0.54, …] (共 768 个数)

第三步:堆成矩阵 (Matrix Stacking)

把上面的句子序列变成二维矩阵。模型把这些查出来的向量,像堆积木一样,一行一行地“横着”叠放在一起。最终形成二维矩阵,这个矩阵的尺寸 (Shape) 就是: [3, 768]。其中,3 是句子的长度,也就是句子大约有几个单词/Token组成。768 是每个词的深度,也就是特征维度。

接下来,我们就是想要理解这个句子中词与词之间的相互关系,比如哪两个词之间的关系更近更亲密,如果模型能够理解这种相互关系,就比较容易根据语义关系连续生成有语义的词和句子。

第四步:单词分身 QKV (QKV martix)

如果直接用原始 Embedding 矩阵去计算,也就是用这个矩阵找出矩阵中的一行和其他行的相对关系,直接去做矩阵乘的话太过单一,能够挖掘的特征信息很有限。模型给每个词三个不同的“身份”QKV,经过 WQ, WK, WV 这三个权重矩阵(这些是模型在训练中学到的“经验”)的乘法,就像是给这些代表句子单词的矩阵或向量穿上了三套不同的衣服,变成了Q, K, V。

📝 Q (Query - 查询): 像是一个需求单。它说:“我在寻找和我产生联系的信息,谁有?”

📝 K (Key - 键值): 像是一个名片/标签。它说:“这是我的特征,来匹配我。”

📝 V (Value - 数值): 像是一个仓库。它说:“如果你觉得我合适,这是我能提供给你的真实信息。”

第五步:计算注意力分数(Attention)

这个过程看作四个步骤:匹配、打分、分配、打包。

第一步:匹配 (Q × K) —“看对眼了吗?”

每一个词的 Q 和所有词(包括它自己)的 K 做点积运算(相乘再相加)。如果两个词语义相关,它们的Q 和 K算出来的结果就很大。比如“吃”的Q碰到“苹果”的K,分数极高。

第二步:归一化 (Softmax) —“决定专注度”

算出来的分数有大有小,通过数学手段(Softmax)把它们变成百分比,加起来等于 100% 。比如“吃”这个词,它会把 70% 的注意力给“苹果”,20% 给自己,10% 给“很”。

第三步:加权求和 (Score × V) — “提取精华”

现在知道注意力分配的百分比了。接下来,用刚才算出的百分比去乘每个词的 V。 “吃”这个词说:“既然我有 70% 关注‘苹果’,那我就从‘苹果’的V 里搬 70% 的信息过来。”

第四步:打包输出

把从各个词那里搬来的信息加在一起,形成一个新的、带有“上下文信息”的向量。

2

RoPE++实现方法

RoPE++ 具体做法

不只看实部注意力,同时计算“实部注意力”和“虚部注意力”,并行处理。

🪶 实部注意力(Real Attention):衰减模式:cos函数 → 从1开始递减(附近亮,远处暗)。它对旁边的词非常敏感,擅长处理局部逻辑(比如前后文的语法)。

🪶 虚部注意力(Imaginary Attention):衰减模式:sin函数 → 从0开始增加再减小(附近暗,中间亮,远处稍暗)。它对远处的词更敏感,擅长处理几千字之前的词(长距离依赖)。

不同RoPE模式下的GQA可视化。RoPE++ EC与RoPE的KVCache相同但注意力头是两倍,RoPE++EH注意力头相同但KVCache只有一半。

RoPE与RoPE++训练好的位置嵌入间隔的比较。虚线内表示训练后的相对位置,虚线外是长度外推,学习到的位置嵌入值是黄色,未学习到的是灰色。

RoPE++ 的两种实现方式

为了让模型既变强又不占太多内存,提出了两种方案:

🪶 RoPE++ EH(Equal Heads) : 保持原来注意力头(Attention Head)数量不变,把一半的头分配给实部注意力,另一半分配给虚部注意力。也就是一半处理局部关系;一半处理长距离依赖。结果: 参数量和内存占用直接减半! 效率极高,性能还没怎么掉。

🪶 RoPE++ EC(Equal Cache) : 保持 KV Cache 大小不变,但通过数学技巧增加一倍的“头”,让实部和虚部同时工作。结果: 内存没增加,但理解能力大幅提升,尤其是在处理超长文本时。

计算过程(三步走)

🦩1. 分身: 将输入的单词向量转换成 Q查询 和 K 键 。

🦩2. 双重旋转:按照 RoPE 进行旋转。计算出两组分数:一组实部,一组新加入虚部。

🦩3. 合并: 将这两组分数交给不同的“头”去处理。

  • 实部头专注于:这个词和旁边的词是什么关系?

  • 虚部头专注于:这个词和几万个词之外的那个词有没有呼应?

总结一下:RoPE++ 把 RoPE 算法里本来就有、但一直被忽略的虚部重新利用起来,通过增加长距离视角,让大模型在不增加内存负担的情况下,能够很好地处理长文本。

​最后

我在一线科技企业深耕十二载,见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事,早已在效率与薪资上形成代际优势,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。

我整理出这套 AI 大模型突围资料包:

  • ✅AI大模型学习路线图
  • ✅Agent行业报告
  • ✅100集大模型视频教程
  • ✅大模型书籍PDF
  • ✅DeepSeek教程
  • ✅AI产品经理入门资料

完整的大模型学习和面试资料已经上传带到CSDN的官方了,有需要的朋友可以扫描下方二维码免费领取【保证100%免费】👇👇
​​
在这里插入图片描述

为什么说现在普通人就业/升职加薪的首选是AI大模型?

人工智能技术的爆发式增长,正以不可逆转之势重塑就业市场版图。从DeepSeek等国产大模型引发的科技圈热议,到全国两会关于AI产业发展的政策聚焦,再到招聘会上排起的长队,AI的热度已从技术领域渗透到就业市场的每一个角落。

img
智联招聘的最新数据给出了最直观的印证:2025年2月,AI领域求职人数同比增幅突破200% ,远超其他行业平均水平;整个人工智能行业的求职增速达到33.4%,位居各行业榜首,其中人工智能工程师岗位的求职热度更是飙升69.6%。

AI产业的快速扩张,也让人才供需矛盾愈发突出。麦肯锡报告明确预测,到2030年中国AI专业人才需求将达600万人,人才缺口可能高达400万人,这一缺口不仅存在于核心技术领域,更蔓延至产业应用的各个环节。

在这里插入图片描述

​​
在这里插入图片描述

资料包有什么?

①从入门到精通的全套视频教程⑤⑥

包含提示词工程、RAG、Agent等技术点
在这里插入图片描述

② AI大模型学习路线图(还有视频解说)

全过程AI大模型学习路线

在这里插入图片描述

③学习电子书籍和技术文档

市面上的大模型书籍确实太多了,这些是我精选出来的

在这里插入图片描述

④各大厂大模型面试题目详解

在这里插入图片描述

⑤ 这些资料真的有用吗?

这份资料由我和鲁为民博士共同整理,鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位,在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利,同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。

所有的视频教程由智泊AI老师录制,且资料与智泊AI共享,相互补充。这份学习大礼包应该算是现在最全面的大模型学习资料了。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。

在这里插入图片描述
在这里插入图片描述

智泊AI始终秉持着“让每个人平等享受到优质教育资源”的育人理念‌,通过动态追踪大模型开发、数据标注伦理等前沿技术趋势‌,构建起"前沿课程+智能实训+精准就业"的高效培养体系。

课堂上不光教理论,还带着学员做了十多个真实项目。学员要亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事‌!

​​​​在这里插入图片描述
在这里插入图片描述

如果说你是以下人群中的其中一类,都可以来智泊AI学习人工智能,找到高薪工作,一次小小的“投资”换来的是终身受益!

应届毕业生‌:无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。

零基础转型‌:非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界‌。

业务赋能 ‌突破瓶颈:传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型‌。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓**

在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐