XYZNOT

論文 · arXiv 2104.09864

RoFormer:結合旋轉位置編碼的增強型 Transformer

RoFormer: Enhanced Transformer with Rotary Position Embedding

發表於 cs.CLcs.AIcs.LG arXivPDF

用 XYZNOT 閱讀(全文翻譯與 AI 講解)

三句話總結

  1. 🎯 標準位置編碼要麼是加法型的絕對向量,要麼是破壞與線性自注意力相容性的相對修改。
  2. 🔧 RoPE 將 query 與 key 向量乘以正交塊對角旋轉矩陣,使其內積僅取決於 token 的相對距離。
  3. 📈 在 WMT 2014 En-De 上達到 27.5 BLEU,預訓練收斂速度更快,並在序列長度為 1024 時於 CAIL2019-SCM 上超越 WoBERT 達 1.5% 準確率。

摘要

近年來,位置編碼在 Transformer 架構中展現出顯著的成效。它為序列中不同位置元素之間的依賴關係建模提供了寶貴的監督資訊。在本文中,我們首先探討了將位置資訊整合至基於 Transformer 的語言模型學習過程中的各種方法。接著,我們提出了一種名為旋轉位置編碼(Rotary Position Embedding, RoPE)的新穎方法,以有效利用位置資訊。具體而言,所提出的 RoPE 使用旋轉矩陣對絕對位置進行編碼,同時在自注意力機制公式中納入了顯式的相對位置依賴性。值得注意的是,RoPE 具備多項寶貴特性,包括序列長度的靈活性、隨相對距離增加而衰減的 token 間依賴性,以及為線性自注意力機制賦予相對位置編碼的能力。最後,我們在多個長文本分類基準資料集上評估了配備旋轉位置編碼的增強型 Transformer(亦稱為 RoFormer)。實驗結果表明,該模型持續優於其他替代方案。此外,我們提供了理論分析以解釋部分實驗結果。RoFormer 目前已整合至 Huggingface:\url{https://huggingface.co/docs/transformers/model_doc/roformer}。

英文原文摘要

Position encoding recently has shown effective in the transformer architecture. It enables valuable supervision for dependency modeling between elements at different positions of the sequence. In this paper, we first investigate various methods to integrate positional information into the learning process of transformer-based language models. Then, we propose a novel method named Rotary Position Embedding(RoPE) to effectively leverage the positional information. Specifically, the proposed RoPE encodes the absolute position with a rotation matrix and meanwhile incorporates the explicit relative position dependency in self-attention formulation. Notably, RoPE enables valuable properties, including the flexibility of sequence length, decaying inter-token dependency with increasing relative distances, and the capability of equipping the linear self-attention with relative position encoding. Finally, we evaluate the enhanced transformer with rotary position embedding, also called RoFormer, on various long text classification benchmark datasets. Our experiments show that it consistently overcomes its alternatives. Furthermore, we provide a theoretical analysis to explain some experimental results. RoFormer is already integrated into Huggingface: \url{https://huggingface.co/docs/transformers/model_doc/roformer}.

論文解讀

問題與動機

Transformer 中的自注意力機制本質上具有置換不變性(permutation-invariant),因此需要顯式的位置資訊。以往的方法大致可分為兩大陣營:直接加到詞表示上的絕對位置編碼(學習得來或固定的正弦波向量),以及整合至注意力矩陣中的相對位置編碼(例如 Shaw 等人、Transformer-XL、T5、DeBERTa)。然而,現有的相對位置方法大多依賴修改注意力中間 logits 的加法分解,導致它們無法與需要可因式分解表示的核函數線性自注意力機制相容。此外,模型在無縫擴展至不同序列長度時往往表現吃力。

核心概念

  • 透過向量旋轉實現相對距離:RoPE 不採用相加位置向量的方式,而是對仿射轉換後的 query 與 key 套用與位置相關的旋轉矩陣。索引為 的旋轉 query 與索引為 的旋轉 key 之間的內積,自然僅取決於相對距離 。
  • 正交性與範數保持:由於旋轉算子為正交矩陣,它能保持 query 與 key 的歐幾里得範數,進而穩定隱藏狀態。
  • 長距離衰減:依循正弦頻率縮放特性,token 之間的交互作用會隨著相對距離的增加而自然衰減,符合距離較遠的 token 依賴性較弱的語言學直覺。
  • 與線性注意力的相容性:由於位置資訊是在計算內積之前直接套用於 token 向量上,因此 RoPE 可以與基於核函數的線性注意力機制(例如 Performer)完美結合。

方法(含核心方程式)

目標是找到函數 與 ,使其內積僅取決於嵌入表示與相對距離:

在二維子空間中,將實數向量視為複數即可得到解:

對於偶數維度 ,空間被劃分為 個頻率為 的二維子空間。通用轉換會套用塊對角旋轉矩陣 :

位置 與 之間所產生的注意力分數滿足:

為了高效計算而不使用稀疏矩陣乘法,RoPE 是透過逐元素運算來實現的:

結果(含重要數據)

  • 機器翻譯:在 WMT 2014 英德任務上,RoFormer 達到 27.5 BLEU,優於 Transformer-base 基準模型(27.3 BLEU)。
  • 預訓練收斂速度:在 BookCorpus 和 Wikipedia 上使用 RoPE 訓練 BERT-base 時,RoFormer 的收斂速度快於傳統 BERT,並達到更低的遮罩語言模型(MLM)損失。
  • GLUE 微調:預訓練的 RoFormer 顯著提升了下游任務的分數,包含 MRPC(89.5 vs. 88.9 F1)、STS-B(87.0 vs. 85.8 Spearman)和 QQP(86.4 vs. 71.2 F1),不過在 SST-2(90.7 vs. 93.5)、QNLI(88.0 vs. 90.5)以及 MNLI-m/mm(80.2/79.8 vs. 84.6/83.4)上的表現低於 BERT。
  • 線性注意力(Performer):在 Enwik8 資料集上,為 12 層以字元為基礎的 Performer 加入 RoPE,可顯著加速收斂並降低訓練損失。
  • 長文本語意匹配:在 CAIL2019-SCM 上,RoFormer-512 達到 68.29% 的測試準確率(BERT-512 為 67.77%,WoBERT-512 為 68.10%)。擴展至 RoFormer-1024 後,測試準確率提升至 69.79%(較 WoBERT-512 絕對提升 1.5%)。

限制與開放研究問題

  • 論文指出,目前仍缺乏理論解釋為何二維旋轉形式在預訓練期間會比加法型替代方案收斂得更快。
  • 儘管長距離衰減特性已在數學上得到證明,但為何 RoFormer 在長序列上的泛化能力明顯優於同類模型仍是一個懸而未決的問題。
  • 在大規模預訓練中評估 RoFormer 需要龐大的 GPU 算力,更廣泛的擴展特性有待未來研究探索。

關鍵術語

Rotary Position Embedding (RoPE)(旋轉位置編碼)
一種位置編碼機制,透過將 query 與 key 表示乘以正交塊對角旋轉矩陣來注入位置資訊。
RoFormer
一種配備旋轉位置編碼(RoPE)而非標準絕對位置編碼或加法型相對位置編碼的 Transformer 架構。
Long-term Decay(長距離衰減)
query 與 key 的內積隨著相對位置距離 增加而減小的數學特性。
Linear Attention(線性注意力)
透過計算核特徵映射以改變矩陣乘法順序,從而實現線性 計算複雜度的注意力機制。
PerFormer
論文中測試的一種線性注意力 Transformer 架構,用於展示 RoPE 能無縫為線性注意力賦予相對位置資訊。
CAIL2019-SCM
2019 年中國法研杯相似案例匹配基準,由法律案件三元組組成,用於評估超過 512 個 token 的長文本建模能力。
WoBERT
一種以詞為基礎的中文 BERT 模型,在中文語料庫上作為 RoFormer 的對比基準與預訓練基礎。

常見問題

RoPE 與標準正弦波位置編碼有何不同?

正弦波編碼是在線性投影前加到輸入 token 向量上,而 RoPE 則是作為旋轉操作,直接乘在注意力層內部的 query 與 key 投影上。

為什麼 RoPE 能與線性自注意力相容,而其他相對編碼卻不行?

現有的相對編碼修改了 softmax 運算內部的成對注意力 logits,破壞了線性注意力所需的因式分解。RoPE 則是分別旋轉 query 與 key 向量而不改變其範數,使線性注意力核函數能夠正常運作。

套用 RoPE 是否需要與 $R^d_{\Theta, m}$ 進行稠密矩陣乘法?

不需要。由於 是由 矩陣塊組成的稀疏塊對角矩陣,因此在計算上是利用餘弦與正弦向量以逐元素乘法及成對重組的方式實現。

RoFormer 擴展至更長上下文時表現如何?

在 CAIL2019-SCM 基準上,將上下文長度從 512 擴展至 1024 時,RoFormer 的測試準確率從 68.29% 提升至 69.79%,展現出強大的長度泛化能力。

本頁解讀由 AI 根據論文生成,可能有錯誤;細節請以原文為準。

用 XYZNOT 閱讀(全文翻譯與 AI 講解)