![]()
編輯|Panda
Transformer 架構中的注意力機制是根據內容(what)和序列中的位置(where)將鍵(key)與查詢(query)進行匹配。
而在近期 LSTM 之父 Jürgen Schmidhuber 的 USI & SUPSI 瑞士 AI 實驗室團隊的一項新研究中,分析表明,當前流行的旋轉位置嵌入(RoPE)方法中的 what 與 where 是糾纏在一起的。這種糾纏會損害模型性能,特別是當決策需要對這兩個因素進行獨立匹配時。
基于這一觀察,他們提出了新的方案:極坐標位置嵌入(Polar Coordinate Position Embedding ),簡稱PoPE。
![]()
該團隊表示,PoPE 消除了內容與位置的混淆,使得其在需要僅通過位置或僅通過內容進行索引的診斷任務上表現遠優于 RoPE。
![]()
- 論文標題:Decoupling the "What" and "Where" With Polar Coordinate Positional Embeddings
- 論文地址:https://arxiv.org/abs/2509.10534
該論文的一作為 Anand Gopalakrishnan,目前正在哈佛大學從事博士后研究,曾是 Jürgen Schmidhuber 的博士生。參與者中還有 OpenAI 的研究科學家 Róbert Csordás,以及科羅拉多大學計算機科學系教授 Michael C. Mozer(目前已加入谷歌 DeepMind)。
RoPE 的問題
在許多前沿模型中,為了將位置信息納入進來,RoPE 是首選方法,包括 Llama 3、DeepSeek-v3、Gemma 3 和 Qwen3。它會為每個查詢-鍵對生成注意力分數,該分數基于它們的匹配程度及其在輸入序列中的相對位置。
為了更好地理解 RoPE,這里以特定層中的特定注意力頭進行說明。該注意力頭的作用是執行位置 t 的查詢 q_t 與位置 s 的鍵 k_s 之間的匹配。鍵和查詢是 d 維向量,被劃分為 d/2 個二維分量。
這里用 q_tc 和 k_sc 分別表示查詢和鍵的分量 c∈{1,...,d/2}。RoPE 首先在 2D 平面中將每個分量 c 旋轉一個與位置成正比的角度。如果 R (Φ) 是執行角度 Φ 旋轉的 2×2 矩陣,則旋轉后的查詢和鍵分別為 R (tθ_c) q_tc 和 R (sθ_c) k_sc,其中 θ_c 是分量特定的基波波長(base wavelength):。下圖展示了查詢(或鍵)分量的構成及其在二維空間中的旋轉方式。
![]()
![]()
對應的鍵和查詢分量通過點積匹配并求和以獲得注意力分數:
![]()
將分量對齊的旋轉僅取決于鍵和查詢的相對位置,而不取決于它們的絕對位置。
如果將鍵和查詢分量從笛卡爾坐標重新表示為極坐標:
![]()
由此,注意力分數可寫為:
![]()
這清楚地表明,嵌入的每個雙元素分量都被轉換為單個幅值,并且通過 Φ_{q_tc} 和 Φ_{k_sc} 引入了對產生最大響應的相對位置(相位)的調整。因此,鍵和查詢都混淆了關于特征存在與否的信息(what)和相對位置(where)。
該團隊的假設是,通過解耦這兩類不同的信息,特別是通過消除交互項 ,可以提高模型性能。
解決方案:PoPE
在 RoPE 中,該團隊將鍵和查詢的 d/2 個分量解釋為復數。而在該團隊提出的方法中,該團隊利用了極坐標表示的另一種形式,稱之為極坐標位置嵌入,即 PoPE。
在 PoPE 中,該團隊將鍵和查詢轉換為相應的 d 元素復向量 和 。每個元素 c 的幅值是對原始實值鍵或查詢對應元素的重新縮放:
![]()
其中 σ(x)=ln (1+e^x) 表示 softplus 激活函數,確保幅值非負。相位僅取決于位置:
![]()
PoPE 的注意力分數定義為:
![]()
與 RoPE 相比,PoPE:
- 在單個元素而非元素對上進行索引,將頻率數量從 d/2 增加到 d;
- 消除了導致鍵和查詢影響相位的交互項。
此外,還可以引入一個可學習但固定的偏置項 :
![]()
其中 δ_c 是為每個頻率調整最佳相對偏移的可學習偏置。
該團隊使用 Triton 實現了 PoPE。
通過修改內核,在不顯式實例化復雜矩陣的情況下計算點積的實部。該團隊的定制 Flash Attention 相比標準版僅需額外一次乘法。該團隊表示,雖然目前的通用變體內存開銷較大,但可以通過在內核內部執行旋轉來優化。
那么,表現如何呢?
該團隊將 PoPE 與 RoPE 在兩個超參數完全相同的 Transformer 模型上進行比較。
間接索引(Indirect Indexing)
該任務要求在變長源字符串中識別目標字符,目標字符定義為距離指定源字符一定的相對偏移量。
![]()
RoPE 在此任務中表現掙扎,平均準確率僅為 11.16%。PoPE 則幾乎完美地解決了任務,平均準確率達到 94.82%。這表明 RoPE 難以分離內容和位置信息,而 PoPE 通過解耦實現了高效學習。
音樂與基因組序列建模
在 JSB 和 MAESTRO 符號音樂數據集上,PoPE 均實現了比 RoPE 更低的負對數似然(NLL)。
![]()
在人類參考基因組數據集上,使用 PoPE 的模型 NLL(4.152)顯著低于 RoPE 基線(4.217)。
![]()
語言建模
在 OpenWebText 數據集上,該團隊測試了三種規模的模型(124M、253M、774M)。
![]()
結果來看 ,在所有規模下,PoPE 的困惑度均始終低于 RoPE。
而在 LAMBADA、CBT、HellaSwag 等六項下游任務的零樣本評估中,PoPE 在所有模型規模下的平均準確率均高于 RoPE。
![]()
測試時長度外推
該團隊在 1024 個 token 上訓練模型,并在長達 10240 個 token 的序列上評估。
![]()
RoPE 的性能在長序列上顯著下降。YaRN 在超過其微調長度后也會失效。
可以看到,PoPE 優勢是在無需任何微調或插值的情況下,顯示出強大的開箱即用外推能力,甚至優于專門的基線模型 YaRN。
PoPE 的穩定性也不錯: RoPE 的外推性能隨模型規模增加而惡化,而 PoPE 則保持大體穩定。
https://x.com/agopal42/status/2003900824909746344
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.