注意力線性偏置 是什麼?

ALiBi:注意力線性偏置 的完整解釋

一種相對位置編碼方法,通過在注意力分數中添加位置相關的線性偏置項,實現相對位置編碼且具有優秀的外推性能。

核心概念

注意力線性偏置(ALiBi)是一種相對位置編碼方法,其核心創新在於:不在嵌入層編碼位置信息,而是在注意力計算中直接添加位置偏置。

傳統位置編碼(如 Sinusoidal Encoding 或 RoPE)在嵌入層將位置資訊融入向量。ALiBi 的做法不同:保持嵌入層不變,但在計算注意力分數時,對每個位置對 (i, j),添加一個位置相關的偏置值 -|i - j| × m,其中 m 是對頭特定的斜率。

ALiBi 的優勢在簡潔性和靈活性:

  • 嵌入層無須改動:可以直接應用於預訓練模型,無須重新初始化位置嵌入。

  • 外推性強:偏置項是位置差 |i - j| 的線性函數,對超出訓練長度的位置對也能自然地應用。

  • 無頭參數:每個注意力頭有自己的斜率 m,這個參數在訓練中學習。

運作原理

數學表達

在標準多頭注意力中,注意力分數計算為:

Attn(Q, K) = softmax(Q K^T / sqrt(d_k))

ALiBi 修改為:

Attn(Q, K) = softmax((Q K^T / sqrt(d_k)) + bias_{i,j})

其中 bias_{i,j} 是位置偏置項。對於多頭注意力的第 h 頭:

bias_{i,j}^{(h)} = -|i - j| × m_h

m_h 是第 h 頭的學習斜率。通常,m_h 初始化為:

m_h = 1 / (2^(8h / H))

其中 H 是總頭數。這樣,不同頭的斜率從陡峭到平緩,提供多層次的位置敏感性。

直觀理解

考慮位置 i=5 和 j=0,位置距離 |5-0|=5。第 0 頭的斜率為 m_0 ≈ 1(最陡峭),偏置為 -5×1 = -5。這個負偏置會減少這對位置之間的注意力權重。

相比之下,第 H-1 頭的斜率 m_{H-1} 接近 1/256(最平緩),偏置為 -5×(1/256) ≈ -0.02,幾乎不影響注意力。

這樣,不同頭學習到不同的距離敏感性:有的頭主要關注附近位置,有的頭對距離敏感度較低,能捕捉遠距離依賴。

外推性質

ALiBi 的外推性來自於其線性形式。訓練時,模型學習的是相對位置距離與注意力的關係。推理時,即使遇到超出訓練序列長度的位置對,偏置項仍然可以計算(只需計算 |i - j|),無須額外的機制。

例如,訓練時序列最長 1024,推理時遇到 2048 序列,ALiBi 仍能正常工作,因為位置距離 |i - j| 的計算無須訓練過程的「記憶」。

實際應用

BigScience BLOOM

BLOOM 是一個 1760 億參數的多語言大型語言模型,由 BigScience 社群在 2022 年發佈。BLOOM 採用 ALiBi 作為位置編碼方法。BLOOM 在多語言和英文任務上都表現優異,ALiBi 的簡潔性和外推性在此發揮了重要作用。

Meta OPT

Meta 的 OPT(Open Pretrained Transformer)系列模型也採用 ALiBi。OPT 是一個開源的大型語言模型,在 175 億到 666 億參數範圍內有多個版本,都使用 ALiBi 進行位置編碼。

Pythia 系列

Eleuther AI 的 Pythia 是一套用於研究的大型語言模型,採用 ALiBi。Pythia 的多個版本(從 70M 到 120B 參數)都使用 ALiBi,便於研究者研究縮放律和訓練動態。

應用優勢

ALiBi 在這些模型中的優勢包括:

  • 訓練效率:無須嵌入層位置編碼的額外計算,簡化訓練流程。

  • 模型轉移:無須修改嵌入層,可以方便地應用於已有的預訓練模型(如從 Bert 轉移)。

  • 外推性能:直接支援更長序列推理,無須特殊的位置插值技巧。

  • 多語言支援:ALiBi 對所有語言統一適用,無須語言特定的調整。

常見誤區

誤區一:ALiBi 完全不需要位置信息。實際上,ALiBi 通過線性偏置編碼了相對位置,只是方式不同於傳統嵌入層編碼。位置信息仍然存在,只是融合在注意力計算中而不是向量空間中。

誤區二:ALiBi 的外推性沒有邊界。實際上,ALiBi 的外推性也有限。超出訓練長度太遠(如訓練 512,推理 32768)時,性能仍會下降。這是因為模型在訓練時對該距離範圍的注意力模式的學習有限。

誤區三:ALiBi 比 RoPE 更優。實際上,兩者各有優劣。ALiBi 簡潔,RoPE 理論基礎更紮實。在不同場景和實現下,性能可能略有差異。選擇應根據具體需求。

誤區四:所有使用 ALiBi 的模型都支援任意長度的推理。實際上,位置編碼只是長上下文的一個方面。實現真正的長上下文還需要其他技術如稀疏注意力、KV 快取優化等。

與相關技術的比較

  • 與 RoPE 的比較:ALiBi 在注意力分數層面添加偏置,RoPE 在嵌入層進行旋轉。ALiBi 實現簡單,RoPE 理論基礎紮實。ALiBi 對已有模型友好,RoPE 在新模型中較常採用。

  • 與 Sinusoidal Encoding 的比較:Sinusoidal 在嵌入層添加位置向量,固定不可學習。ALiBi 的偏置項在注意力層,可在訓練中學習。ALiBi 的學習能力使其更靈活。

  • 與絕對位置編碼的比較:絕對位置編碼直接映射位置到嵌入空間,ALiBi 編碼相對位置。ALiBi 的相對位置性質更符合注意力的語義。

  • 與 YaRN 的比較:YaRN 是在 RoPE 基礎上增強外推性的方法,通過動態調整旋轉頻率。ALiBi 和 YaRN 都關注外推性,但機制不同。在實踐中,ALiBi 的外推性已足夠滿足多數需求。

常見問題