login
RoPE in Transformers: Query & Key Only
2025/06/29·StepFun can make mistakes, check important info.
does RoPE apply to all query, key and value?
Sources
[LLM理论系列] RoPE 方法
RoPE是一种用于Transformer架构中的位置编码方法,旨在更好地处理序列数据中的位置信息。在Transformer模型中,位置编码是一个关键组件,它向模型提供序列中每个元素的位置信息。传统的
https://static-favicon.basemind.com/01J7HH8TYPAWKCJTC5STHQZF96
知乎
十分钟读懂旋转编码(RoPE)
总结来说,RoPE 的 self-attention 操作的流程是:对于 token 序列中的每个词嵌入向量,首先计算其对应的 query 和 key 向量,然后对每个 token 位置都计算对应的旋转位置编码,接着对每个 token 位置的 query 和 key 向量的元素按照 两两一组 应用旋转变换,最后再计算 query 和 key 之间的内积得到 self-attentio...
https://static-favicon.basemind.com/01JV1X6K8GGYVG6C24ESYZ7ESS
电子发烧友
RoPE学习笔记
最近在学习大模型的过程中对有些基本概念不是很清楚,通过笔记记录下一些关键的知识点。 RoPE(旋转式位置编码Rotary Position Embedding,RoPE)是目前常见大模型使用的位置
https://static-favicon.basemind.com/01J7HH8TYPAWKCJTC5STHQZF96
知乎
8 web pages
知乎
电子发烧友
知乎
CSDN技术社区
CSDN技术社区
CSDN技术社区
电子发烧友
CSDN技术社区

RoPE(旋转式位置编码,Rotary Position Embedding)主要应用于Transformer架构中的查询(query)和键(key)向量,而不是值(value)向量。

原理解释:

  1. RoPE的目标是通过绝对位置编码的方式实现相对位置编码,使得模型在进行注意力计算时能够捕捉到token之间的相对位置信息3

  2. 具体实现方式是对每个位置的query和key向量进行旋转变换。这种旋转变换使得在计算query和key之间的内积时,结果自然包含了它们之间的相对位置信息1

  3. 数学表达式如下:

其中,分别是对query和key向量进行的位置相关变换,表示包含相对位置信息的内积结果1

  1. 为什么不应用于value向量
    • 在Transformer的自注意力机制中,query和key的内积用于计算注意力分数,这个分数决定了每个value向量对最终输出的贡献。因此,相对位置信息主要通过query和key的交互来体现,而value向量本身并不需要直接包含位置信息。
    • 将RoPE应用于value向量可能会引入不必要的复杂性,而不会显著提升模型性能。

总结:

RoPE通过旋转变换将位置信息融入到query和key向量中,使得在计算注意力分数时能够自然地考虑token之间的相对位置。而value向量并不需要进行这种变换,因为它们的作用是提供实际的信息内容,而不是位置信息。