模型層 開放閱讀

旋轉位置編碼

Rotary Position Embedding, RoPE

概念 ID
rotary-position-embedding-rope
更新時間
2026-05-29
來源數量
待補

旋轉位置編碼

3秒看懂

旋轉位置編碼(RoPE)通過絕對位置表徵實現相對位置依賴,既保有絕對位置嵌入的簡單性,又自然編碼相對距離與角度關係。它的核心思想是把詞向量視為複數或二維向量,用位置相關的旋轉矩陣變換查詢(Q)和鍵(K)向量,使得Q與K的點積僅與它們的相對位置差相關,同時隨著距離增大呈現自然衰減。這一方案在LLaMA、PaLM、Qwen、ChatGLM等主流大型模型中已成為事實標準,兼具高效、外推性好、無需額外可學習引數等優勢。

3分鐘產業解釋

在Transformer裡,位置編碼負責告訴模型“單詞在句子中的順序”。RoPE是一種乘性編碼——它不把位置資訊加在詞嵌入上,而是改變注意力機制中Q和K向量間的互動規則。通過在每一對Q/K維度施加一個位置決定的角度旋轉,RoPE讓向量內積自然地依賴於兩個位置的差值,從而模型學到的就是相對位置關係,而非絕對位置。

產業層面,RoPE相比傳統絕對位置編碼(如正弦編碼、可學習位置嵌入)主要帶來幾個優勢:

  • 天然處理可變長度:無需調整位置索引即可處理比訓練時更長的序列(一定範圍外推),減少了微調和記憶體開銷。
  • 訓練推論統一:旋轉是逐token相乘的線性操作,可高效融合到注意力計算中,對FlashAttention等加速方案友好。
  • 無額外引數:旋轉角度固定由位置和維度計算,不增加模型體積,這對數百億、數千億引數大型模型特別有吸引力。

這使得開源社群和工業界(如Meta的LLaMA、阿里Qwen、智譜ChatGLM、DeepSeek等)迅速採用RoPE,並發展出位置插值(線性插值)、NTK感知插值、YaRN等增強變體,以支援更長上下文。RoPE已成為當前大型模型位置編碼體系中最主流的方案之一。

15分鐘專家深入

旋轉位置編碼將注意力機制的Q和K向量按維度方向分組成若干二維子空間,在每個子空間施加一個旋轉,旋轉角度由該維度的索引和token的絕對位置共同決定。這樣做的結果是:

  • 對於同一token內的不同子空間,旋轉頻率不同(高頻對應較小角度增量,善於捕捉區域性細節;低頻對應較大角度增量,對長距離關係更敏感)。
  • 對於不同token的同一個子空間,其Q/K向量的旋轉角度之差恰好為該子空間的頻率乘以相對位置差——這就實現了相對位置的無參編碼。

RoPE的前向計算完全避免了傳統相對位置偏置(如T5、AliBi)需要維護的偏置矩陣,也避免了可學習絕對位置嵌入的表外推限制。在訓練和推論中,旋轉可以直接作用在Q和K上,絲毫不改變注意力計算的通量結構,這使得基於RoPE的模型能夠無縫利用現有高效能注意力運算元。

具體實現上,業界通常將旋轉操作分解為按元素乘加,以保證數值精度和計算效率。對於超長上下文,實踐中發展出多種“位置插值”策略:線性插值、NTK感知縮放、動態縮放等,這些做法都通過修改旋轉頻率對映,使得訓練時未見過的遠距離位置能被對映到模型已學到的距離範圍之內,從而無需完整重訓即可擴充套件上下文視窗。

技術原理

旋轉位置編碼的核心數學形式可以描述如下。

設有隱藏層維度 d,將 Q/K 向量每兩個維度組成一對,即 d/2 個子空間。
對於第 i 個子空間(維度索引 2i, 2i+1),定義頻率 θ_i = base ^ (−2i/d)。
給定 token 位置 m,該子空間的旋轉角度為 m·θ_i。

對於該子空間的二維向量 (x, y) 對應 Q 或 K 分量,旋轉後的向量為:
    x' = x * cos(mθ_i) - y * sin(mθ_i)
    y' = x * sin(mθ_i) + y * cos(mθ_i)

或者等價地視作複數乘法: (x + iy) * e^{i mθ_i}。

注意力得分計算: Q_m · K_n = Σ_i Re[ h_i(m) * conj(h_i(n)) ]
其中 h_i(m) 是經旋轉的第 i 子空間復分量。
利用複數乘法性質, Q_m · K_n = Σ_i |q_i| |k_i| cos( (m-n)θ_i + φ_i )
這裡 φ_i 為兩向量初始相位差,因此點積只依賴於相對距離 m-n 和各頻率分量。

關鍵機制與引數定性:

  • 距離衰減:不同頻率的餘弦項疊加,使得隨著相對距離增大,注意力得分整體呈自然衰減趨勢,但並非嚴格單調,而是與頻率分佈有關。這種“軟衰減”相比AliBi的硬線性衰減具有更豐富的頻率選擇性。
  • 遠端連線能力:低頻分量的旋轉週期很大,可以在數萬個token範圍內保持緩慢變化,為長距離依賴提供資訊通道。
  • 頻率基值(base):典型的base值取10000(源自原始論文),但實際應用中有些模型調整base值以改變遠端衰減特性。具體取值因模型而異[相關技術報告],base越大低頻頻率越低,衰減越慢,潛在有利於長上下文;base越小則對區域性資訊更敏感。
  • 維度劃分:通常在注意力頭維度上執行旋轉,部分實現僅對Q和K的某一部分維度(如頭維度的一半)實施,剩餘維度保留原值(亦稱部分RoPE)。這種做法可以節省計算且對模型效果影響輕微[工業實踐經驗]。

外推與插值原理: 當推論長度超過訓練長度 L_train 時,直接使用原始頻率 θ_i 會導致模型面對從未見過的位置差距,效能下降。插值方法通過縮放旋轉角度來解決:

  • 線性插值:將所有位置 m 替換為 m * (L_train / L_target),相當於壓縮旋轉角度,使最大相對位置映射回訓練域。
  • NTK感知插值:只縮放高頻部分,低頻保持不動,從而避免低頻解析度下降過度,是當前社群內平衡短程與長程能力的常用補救方案。
  • 動態縮放:在推論時根據當前序列長度動態調整縮放因子,以適配任意長度。

技術演進史

以定性時間線回溯:

  1. 絕對位置嵌入主導期(2017–2018):Transformer原論文使用了固定正弦編碼;BERT、GPT等採用可學習絕對位置嵌入。這些方法訓練方便,但對超出最大訓練長度的序列泛化能力差。

  2. 相對位置偏置崛起(2018–2020):T5使用可學習的相對位置偏置,Transformer-XL提出分段級相對位置編碼,讓模型直接學習相對位置偏差。AliBi(2021)則引入非學習的線性相對位置偏置,展示了極簡且外推性好的潛力。但相對偏置需要改變注意力矩陣的計算,與標準注意力相比在工程實現上引入修改。

  3. RoPE提出與突破(2021):蘇劍林(Jianlin Su)等人提出旋轉位置編碼,一舉兼具絕對位置嵌入的實現簡便性和相對位置的有效性。論文證明它等價於乘性相對位置編碼,且能在長序列上自然衰減。GitHub開源實現後迅速受到關注。

  4. 大型模型廣泛採納(2022–2023):LLaMA、PaLM、Qwen、ChatGLM、Baichuan等大規模語言模型採用RoPE作為預設位置編碼,取代了之前主流的可學習嵌入或AliBi。期間社群開始探索基於RoPE的上下文視窗擴充套件技術。

  5. 變體與增強期(2023至今):位置插值(線性插值)、GQA相容最佳化、RoPE頻率基值的調優、位置插值(PI)、NTK感知插值、YaRN等動態NTK方法的提出,使得RoPE在超長上下文(128K、256K甚至更多)上也能有效工作,且無需完全重訓;FlashAttention-2等庫內含RoPE融合操作,進一步降低推論延遲。


技術路線對比

下表為RoPE與主要位置編碼方案的定性對比。具體量化指標受模型結構、訓練資料影響,無法給出統一數字,此處僅作性質比較。

方法型別可學習引數外推能力支援長上下文難度注意力計算相容性代表模型
正餘弦固定編碼絕對、相加困難(需插值)完全相容原始Transformer
可學習絕對嵌入絕對、相加極弱困難(重訓/插值)完全相容BERT, GPT-2/3, 早期GPT
T5相對偏置相對、偏置中等受視窗限制需修改注意力得分矩陣T5
AliBi相對、偏置強(線性衰減)極好,無視窗限制需新增偏置項BLOOM, Palmyra
RoPE絕對→相對良好(頻率調變)較好(通過插值)前端Q/K旋轉,後續標準計算LLaMA, Qwen, ChatGLM

注:外推能力的評價基於同尺度訓練長度外的零樣本擴充套件,插值方法可進一步提升RoPE的外推效果但需少量微調或動態調整。[工業經驗總結]

RoPE在計算效率、相容性與表達能力之間取得了突出的平衡,因此成為大型模型社群首選。


上下游

上游依賴:

  • 注意力機制實現:高效注意力核心(如FlashAttention、xFormers、FlashAttention-2/3)需要內嵌RoPE操作融合,以避免額外的視訊記憶體讀寫。
  • 模型架構設計:多頭注意力、GQA(分組查詢注意力)、MQA(多查詢注意力)等架構需要適配旋轉的施加方案(如對K的不同頭如何旋轉)。
  • 並行訓練策略:張量並行、序列並行等需要確保旋轉操作正確廣播到各裝置分割槽。

下游應用:

  • 大規模語言模型預訓練:幾乎所有主流開源及商業LLM均直接或變體採用RoPE。
  • 長上下文微調:SFT、RLHF等階段可配合位置插值技術將基座模型迅速擴充套件至超長上下文視窗,應用於長文件分析、程式碼庫理解、長期記憶對話等。
  • 多模態大型模型:視覺-語言模型中,視覺token和語言token的位置編碼可能借助RoPE統一,以建模時空相對關係。
  • 搜廣推、分子生成等領域:任何需要對序列的相對距離進行建模的場景,都可能借鑑RoPE的這種編碼思想。

關鍵指標

可定性與定量的關鍵指標包括:

  • 困惑度(PPL):在同等模型引數量和訓練資料下,RoPE相比其他位置編碼方案通常取得相當或更低的驗證困惑度,尤其是在長序列評估中優勢顯現。具體PPL差值與訓練設定強相關,無統一數值[參考後續各模型技術報告]。
  • 最大支援序列長度:無插值下,RoPE預訓練模型的效能隨長度外推緩慢下降;通過NTK感知插值等,業界已在LLaMA-2-7B等模型上將有效上下文從4K擴充套件至128K,且長文本評測分數保持可用水平(長域任務準確率下降幅度在10%以內或更低)[各開源模型釋出部落格估算]。
  • 外推衰減曲線:可以測量不同外推長度下的PPL增長斜率。RoPE的衰減通常比正弦編碼平緩得多,與AliBi相比在短程上有更豐富的表現力。
  • 計算開銷:在標準注意力核心中疊加旋轉運算,相比純注意力總計算量增加約1-3%(取決於實現融合程度)[工程實測估算,未檢索到單一普適數字];記憶體佔用基本不變。
  • 引數效率:相比可學習嵌入,節省了vocab_size × max_len × d的引數(但通常在大型模型中佔比很低),更重要是提供了位置泛化能力,避免了針對新長度重新學習嵌入表。

供需與市場資料

位置編碼不是一個獨立的市場產品,它屬於大型模型架構的一環。因此沒有直接的市場規模資料。

  • 需求側:隨著大型模型對長上下文需求激增(例如法律文書分析支援32K+、程式碼庫理解100K+),市場對能有效擴充套件上下文視窗的位置編碼方案有著持續且強烈的需求。RoPE及其插值變體目前是滿足這一需求的主流技術路線。
  • 供給側:技術本身是開放的學術成果,沒有被專利封鎖,全球各大型模型廠商、開源社群均可自由使用。Meta的LLaMA系列、阿里Qwen、智譜ChatGLM、位元組、騰訊等的LLM均提供基於RoPE的模型,形成了龐大的生態供應。各種插值、動態縮放等最佳化方法也在ArXiv、GitHub上持續湧現,技術迭代速度快。
  • 趨勢:RoPE的位置編碼地位短期內難被替代,因其具備無參、高效、與現有生態深度整合的優勢。未來改進方向可能集中在更優的外推方法、稀疏化旋轉、多模態時空對齊,以及與線性注意力、狀態空間模型等新架構的結合。

代表公司與資本對映

  • Meta:開源LLaMA系列(也包括LLaMA-2、3),採用RoPE,直接推動了該技術的普及,吸引大量資本進入基於LLaMA的生態(微調、部署平台)。
  • 阿里雲端:通義千問(Qwen)系列模型採用RoPE,併發布擴充套件上下文的技術方案,背後阿里雲端智算平台直接受益於大型模型的廣泛應用。
  • 智譜AI:ChatGLM系列使用RoPE,並開源了相關內外推程式碼,帶動國產模型生態融資。
  • DeepSeek:DeepSeek-V2/V3等模型亦採用RoPE,在上下文本擴充套件方面做了工程最佳化,吸引了大量開發者與投資關注。
  • 其他廠商:如Mistral AI、01.AI(Yi系列)、百川等均基於RoPE開發產品,從融資角度看,是否使用先進位置編碼間接反映團隊技術能力和模型競爭力。
  • 算力與架構層:輝達等晶片廠商的最佳化庫(TensorRT-LLM、FasterTransformer)需要高效支援RoPE融合;提供最佳化注意力的創業公司也會針對RoPE做運算元級別的加速,成為投資熱點。

資本市場對RoPE本身並不直接投資,但它是評估大型模型技術棧成熟度和長文本能力的重要技術指標,影響對上述公司的技術估值判斷。


投資邏輯

  1. 長上下文作為差異化賣點: 擁有良好RoPE擴充套件能力的模型,能以更低成本(少訓或微調)實現更長的有效上下文視窗,提升在文件理解、複雜對話、多步推論等場景的產品競爭力。投研時需關注被投企業上下文視窗擴充套件的技術路徑是依賴RoPE插值還是其他,若有自研的先進動態策略則更具壁壘。

  2. 模型架構效率的指示器: RoPE的無參特性和便於融合的性質降低了計算和儲存成本,可視為模型工程成熟度的訊號。採用成熟且被廣泛驗證的位置編碼方案,有助於企業更快將資源集中於資料和產品,縮短研發週期。

  3. 開源生態鎖定的壁壘: 大量下游應用基於LLaMA等RoPE架構微調,切換至其他位置編碼會產生遷移成本。因此,生態上對RoPE的依賴形成了一種事實標準,使得早期版面配置該技術棧的晶片適配、推論引擎、微調架構等企業獲得使用者粘性。

  4. 風險:

    • 新型位置編碼(例如基於狀態的、可學習編碼的迴歸)可能在未來突破RoPE的外推極限,造成技術替代。
    • RoPE插值技術本身開源且演算法相對簡單,可能難以形成產權壁壘;超長上下文的關鍵競爭力還需要依賴資料、訓練穩定性等綜合能力。
    • 若未來狀態空間模型或線性注意力模型無需嚴格位置編碼則可能降低RoPE的重要性,需關注架構演變。

常見誤讀糾偏

誤讀1: “RoPE是完全單調衰減的相對位置編碼” 事實:RoPE的注意力得分由多頻率成分疊加而成,並非嚴格隨相對距離增大而單調遞減。它表現出一種“軟衰減”特性——某些頻率下可能出現小幅回升,這與訓練資料中的長程依賴模式有關。這種多尺度性質正是其強於硬衰減(如AliBi)的表達能力來源。認為它可以保證距離越遠得分越低,是對其頻率多樣性的誤讀。

誤讀2: “只要用了RoPE,模型就天然支援任意長度外推” 事實:RoPE只提供了一種內在的相對位置依賴形式,但預訓練時的最大視窗長度限制了網路學會的有效頻率組合。當推論長度顯著超出預訓練視窗,模型仍然會看到前所未見的相對距離模式,效能下降。需要藉助位置插值、動態縮放等技術並經過微調(或少數情況下的零樣本適應)才能實現可靠的長上下文外推。沒有“即插即用”的無限長度方案。

誤讀3: “RoPE旋轉了所有維度” 事實:部分實現中,為了降低計算量,僅選擇Q/K向量的一部分維度(比如前一半或每隔若干個維度)進行旋轉,剩餘維度保持原樣,這稱為部分RoPE。這種做法在很多大型模型中應用,且實驗證明幾乎不影響效果,因此看到旋轉操作並非覆蓋全部維度時,不要誤認為是bug或劣化實現。


學習路徑

初學者:

  • 理解Transformer中Q、K、V和注意力機制的基本原理。
  • 學習絕對位置編碼(正弦)和可學習位置嵌入,明確為什麼要位置編碼。
  • 閱讀RoPE原始部落格或簡明教程,掌握“通過旋轉將絕對位置轉換為相對位置”的直覺。
  • 動手實現簡易RoPE:在PyTorch或NumPy中對一個二維向量應用旋轉,觀察內積的相對距離依賴。

進階者:

  • 閱讀RoPE原始論文,理解複數視角的數學推導,以及程式碼中precompute_freqs_cis函式的含義。
  • 學習如何在FlashAttention等函式庫中融合RoPE操作,瞭解工程實現。
  • 研究位置插值(PI)、NTK感知插值及其變體(YaRN)的公式與性質,嘗試在微調架構中應用。
  • 探索不同頻率基值(base)對長距離衰減和PPL的影響,進行小規模消融實驗。

專家級:

  • 分析RoPE與其他位置編碼的底層統一架構,例如xPos、CoPE等。
  • 探索位置插值(線性插值)、低秩旋轉等模型壓縮技術。
  • 將RoPE思想擴充套件到多模態資料或圖結構的位置編碼,設計新的外推訓練策略。
  • 參與開源專案(如LLaMA、vLLM),貢獻對更高效RoPE實現的最佳化。

一句話總結

旋轉位置編碼(RoPE)以無參的旋轉操作將絕對位置轉換為相對位置依賴,憑藉簡單、高效、外推友好的特性,成為大型模型時代事實標準的位置編碼方案,並催生出一整套長上下文擴充套件技術生態。


延伸閱讀與來源

  • 原始論文:Su, J. et al. “RoFormer: Enhanced Transformer with Rotary Position Embedding.” arXiv:2104.09864.
  • 蘇神部落格:科學空間《Transformer升級之路:旋轉位置編碼》,詳細中文講解。
  • LLaMA採用:Touvron, H. et al. “LLaMA: Open and Efficient Foundation Language Models.” arXiv:2302.13971.
  • 位置插值擴充套件:Chen, S. et al. “Extending Context Window of Large Language Models via Positional Interpolation.” arXiv:2306.15595.
  • NTK感知與YaRN:Peng, B. et al. “YaRN: Efficient Context Window Extension of Large Language Models.” arXiv:2309.00071.
  • 工程實現參考:FlashAttention庫中rotary_embedding的實現程式碼;Meta xFormers庫;vLLM的RoPE融合實現。
  • 行業報告:各機構LLM技術報告(Qwen、DeepSeek、ChatGLM)中關於位置編碼選擇的說明章節。

本頁多數定性論述綜合自上述公開學術文獻及開源實現,具體指標若無普適數字則標註為估算或未充分揭露。

source: 公開揭露與公開資料整理 本頁僅用於產業鏈學習、資訊檢索和研究輔助;不構成投資建議,不預測漲跌,不提供買賣、部位或目標價建議。
完整概念頁 複盤 13 節結構 公司投研頁 沿產業鏈找到受益公司 投資課 把概念轉成可跟蹤模型