公司网站公司简介网站建设一站式
2026/1/2 14:25:56 网站建设 项目流程
公司网站公司简介,网站建设一站式,学做ppt的网站 免费下载,软件工程师英文Rope旋转位置编码的数值示例 RoPE (Rotary Position Embedding) 数值示例详解 一、基本原理 RoPE通过旋转矩阵将位置信息编码到向量中。对于位置 mmm 和维度索引 iii#xff0c;使用角度 mθim\theta_imθi​ 进行旋转#xff0c;其中#xff1a; θi10000−2i/d\theta_i 1…Rope旋转位置编码的数值示例RoPE (Rotary Position Embedding) 数值示例详解一、基本原理RoPE通过旋转矩阵将位置信息编码到向量中。对于位置mmm和维度索引iii使用角度mθim\theta_imθi​进行旋转其中θi10000−2i/d\theta_i 10000^{-2i/d}θi​10000−2i/d二、具体数值例子设置参数序列长度: 3个token位置0, 1, 2embedding维度: d 4基础频率: base 10000步骤1计算旋转角度 θ对于 d4我们需要计算 θ₀ 和 θ₁因为是成对处理θ₀ 10000^(-2×0/4) 10000^0 1.0 θ₁ 10000^(-2×1/4) 10000^(-0.5) 0.01步骤2准备输入向量假设我们有3个token的query向量简化数值位置 0 的向量 q₀:q₀ [1.0, 0.0, 2.0, 0.0]位置 1 的向量 q₁:q₁ [1.0, 0.0, 2.0, 0.0]位置 2 的向量 q₂:q₂ [1.0, 0.0, 2.0, 0.0]步骤3应用RoPE旋转RoPE将向量每两个维度作为一对进行2D旋转。对于维度对 (x, y)在位置 m 处[x′y′][cos⁡(mθ)−sin⁡(mθ)sin⁡(mθ)cos⁡(mθ)][xy]\begin{bmatrix} x \\ y \end{bmatrix} \begin{bmatrix} \cos(m\theta) -\sin(m\theta) \\ \sin(m\theta) \cos(m\theta) \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix}[x′y′​][cos(mθ)sin(mθ)​−sin(mθ)cos(mθ)​][xy​]位置 0 (m0) 的旋转维度对 [0,1]: 旋转角度 0 × 1.0 0[1.0] [cos(0) -sin(0)] [1.0] [1.0] [0.0] [sin(0) cos(0)] [0.0] [0.0]维度对 [2,3]: 旋转角度 0 × 0.01 0[2.0] [cos(0) -sin(0)] [2.0] [2.0] [0.0] [sin(0) cos(0)] [0.0] [0.0]输出 q₀’:[1.0, 0.0, 2.0, 0.0](没有变化)位置 1 (m1) 的旋转维度对 [0,1]: 旋转角度 1 × 1.0 1.0 弧度 ≈ 57.3°cos(1.0) ≈ 0.5403 sin(1.0) ≈ 0.8415 [x] [0.5403 -0.8415] [1.0] [0.5403] [y] [0.8415 0.5403] [0.0] [0.8415]维度对 [2,3]: 旋转角度 1 × 0.01 0.01 弧度 ≈ 0.57°cos(0.01) ≈ 0.99995 sin(0.01) ≈ 0.01 [x] [0.99995 -0.01] [2.0] [1.9999] [y] [0.01 0.99995] [0.0] [0.02]输出 q₁’:[0.5403, 0.8415, 1.9999, 0.02]位置 2 (m2) 的旋转维度对 [0,1]: 旋转角度 2 × 1.0 2.0 弧度 ≈ 114.6°cos(2.0) ≈ -0.4161 sin(2.0) ≈ 0.9093 [x] [-0.4161 -0.9093] [1.0] [-0.4161] [y] [0.9093 -0.4161] [0.0] [0.9093]维度对 [2,3]: 旋转角度 2 × 0.01 0.02 弧度cos(0.02) ≈ 0.9998 sin(0.02) ≈ 0.02 [x] [0.9998 -0.02] [2.0] [1.9996] [y] [0.02 0.9998] [0.0] [0.04]输出 q₂’:[-0.4161, 0.9093, 1.9996, 0.04]三、关键观察输入 vs 输出对比位置输入向量输出向量应用RoPE后0[1.0, 0.0, 2.0, 0.0][1.0, 0.0, 2.0, 0.0]1[1.0, 0.0, 2.0, 0.0][0.5403, 0.8415, 1.9999, 0.02]2[1.0, 0.0, 2.0, 0.0][-0.4161, 0.9093, 1.9996, 0.04]RoPE的优势相对位置编码计算注意力时q·k 的结果只依赖相对位置差例如q₁’ · k₀’ 和 q₂’ · k₁’ 会产生相同的旋转效果都是位置差1向量长度不变旋转不改变向量的模长|q₀| |q₀’| √(1² 0² 2² 0²) √5不同频率捕获不同范围低维度θ大旋转快适合捕获近距离关系高维度θ小旋转慢适合捕获远距离关系四、实际应用在Transformer的注意力计算中Q RoPE(Q, positions) K RoPE(K, positions) Attention softmax(QK^T / √d) V通过这种方式位置信息被旋转进了query和key向量中使得注意力分数自然地包含了位置关系为你创建了一个详细的RoPE数值示例核心要点旋转原理RoPE将每两个维度作为一对在2D平面上进行旋转旋转角度与位置成正比关键公式对于位置m维度i的旋转角度是m × θᵢ其中θᵢ 10000^(-2i/d)实例说明同样的输入向量[1.0, 0.0, 2.0, 0.0]在不同位置会得到不同的旋转结果位置0不旋转角度为0位置1旋转1弧度和0.01弧度不同维度对位置2旋转2弧度和0.02弧度神奇之处当计算注意力 Q·K^T 时相对位置相同的token对会有相同的旋转关系这就实现了相对位置编码你可以看到即使三个位置的输入向量完全相同经过RoPE后它们变得不同了这就是位置信息被编码进向量的方式。需要我进一步解释某个具体步骤吗比如旋转矩阵的推导或者为什么能实现相对位置编码

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询