注意力線性偏置 是什麼?
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 的外推性已足夠滿足多數需求。