圖靈學院內的文章包含三大主題:ESG浄零實驗室、AI實驗室及精實管理實驗室,我們會不定期分享相關主題之文章,也歡迎並對前述主題有興趣的學員投稿分享您的見解  (我要投稿)

Transformer 模型中的冗餘性:什麼是注意力層的真正價值?

 

圖靈學院
科楠
2024-10-26

 

    Transformer 架構自 2017 年問世以來,迅速成為自然語言處理(NLP)與深度學習領域的主流技術,特別是其中的注意力機制(Attention Mechanism)被廣泛認為是提升模型表現的關鍵。然而,隨著模型規模(如 GPT、BERT 等大型語言模型 LLMs)的不斷增長,研究者們逐漸發現 Transformer 模型內部存在嚴重的冗餘性,這導致了不必要的資源消耗,並增加了部署的難度。

 

    來自馬里蘭大學的研究團隊提出了一篇名為《What Matters in Transformers? Not All Attention is Needed》的論文,該研究指出,儘管注意力層在 Transformer 模型中扮演著重要角色,但並非每個注意力層都同樣重要。部分注意力層可以被安全地剪除,而不會對模型的最終性能產生顯著影響。這項發現對於現實世界中提升大型語言模型的運行效率具有重大意義。

 

1. Transformer 的演化:從創新到挑戰

 

    Transformer 模型的出現改變了深度學習的發展歷程,其核心創新在於注意力機制能夠動態地關注輸入數據中不同部分之間的關聯,這與傳統的序列模型(如 LSTM 或 RNN)有所不同。然而,隨著模型層數的增加,注意力機制和其他模塊(如 MLP 層)變得越來越複雜,而這種複雜性並不總是伴隨著效能提升。研究人員發現,這些層中的許多操作只是進行了冗餘的計算,最終對模型的輸出幾乎沒有實際貢獻。

 

  • Transformer 中的注意力層冗餘性挑戰:

 

    Transformer 架構中的每一層都包含多頭注意力(Multi-Head Attention)和多層感知機(MLP)模塊。這些模塊的設計初衷是為了能夠捕捉輸入數據中的複雜結構與關聯,但在現實中,研究發現許多層的輸出與輸入極為相似,表明它們在信息傳遞過程中未能提供實質性的轉變。

 

2. 探索 Transformer 模型的冗餘性:如何識別冗餘的層?

 

在這篇論文中,研究團隊提出了一個「基於相似度的冗餘評估指標」,該指標用來衡量 Transformer 不同層(如注意力層與 MLP 層)之間的冗餘程度。具體來說,這個方法通過計算每個模塊的輸入與輸出的餘弦相似度(cosine similarity),來評估它們在信息轉換過程中的變化程度。如果某個模塊的輸出與輸入極為相似,這意味著該模塊對數據的處理幾乎沒有發揮實質性的作用,可以視為冗餘。

 

圖 1:根據相似度計算的 Transformer 層級冗餘性視覺化圖

 

3. 模型優化技術:Block Drop 和 Layer Drop

 

    為了應對 Transformer 模型中的冗餘性,研究人員提出了兩種主要的優化技術:

  • -Block Drop:這種技術針對整體模塊(Block)進行剪除,根據冗餘性評估指標來判斷哪些 Block 對模型的性能貢獻較小,然後將這些模塊整體移除。然而,研究發現,Block Drop 雖然在一定程度上能夠提升運行速度,但對模型性能的影響較為顯著,特別是在移除多個 Block 之後,模型的準確率會出現大幅下降。

 

圖 2:Layer Drop 的可視化,研究中將可視化丟棄 MLP 或 Attention Layer。給出殘餘連結,我們將 LayerNorm 與相對應的層一併計算。相似度分數高(即重要度分數低)的丟丟層會變得模糊。


  

  • Layer Drop:相比於 Block Drop,Layer Drop 是一種更加細緻的優化技術。它針對每個 Transformer Block 中的 MLP 層和注意力層分別進行冗餘性評估,然後依據層的冗餘程度來進行剪除。通過這種方式,研究人員發現他們可以更加靈活地削減冗餘層,並且對性能的影響也更加可控。

 

圖 3:拋棄比率的性能. 實線代表 在 Mistral-7B 和 Llama-2-13B 中丟棄重要性得分最低的n 個模組 的影響,虛線代表基線和隨機猜測的表現。虛線代表基線和隨機猜測的表現。

 

4. 削減注意力層的影響:性能與效率的權衡

 

    研究的結果表明,即使削減大量的注意力層,模型的性能下降也是相對較小的。例如,在 Llama-2-70B 模型中,研究人員成功移除了 50% 的注意力層,並僅僅引起了 2.4% 的性能下降,卻使得模型的運行速度提升了 48.4%。這表明 Transformer 中的注意力層存在著高度的冗餘性,這為未來大規模語言模型的優化設計提供了新的視角。

 

圖 4:區塊丟失和圖層丟失的丟失順序可視化。此研究以可視化的方式顯示不同丟失數量下剩餘的圖層和區塊,其中黃色區域代表保留的圖層/區塊,紅色區域表示丟失的部分。

 

5. 訓練過程中的冗餘性:注意力層的冗餘是如何產生的?

 

    該研究進一步探討了 Transformer 模型在訓練過程中的冗餘性問題。研究發現,注意力層的冗餘性並不是訓練後的副產物,而是從訓練初期就已經存在的固有現象。這意味著,注意力層的冗餘性是 Transformer 架構的一個本質特徵,而這些層的存在可能並不需要持續保留。

 

    在訓練過程中的不同階段,研究團隊通過追蹤模型的檢查點發現,儘管整體模型的參數隨著訓練進展而逐漸調整,但注意力層的冗餘性一直維持在一個較高的水平,這表明這些層在模型的運行過程中並沒有產生足夠的變化來支持它們的存在。

 

圖 5:在 MAP-Neo-7B 的預訓過程中,檢查點的重要性分數可視化,淺色區域代表低重要性分數(即高相似性分數)。研究中呈現整個訓練過程(每 500B 訓練過的標記的檢查點)。並將模組索引 0 的重要性分數獨立視覺化,因為它們明顯較高。

 

6. Joint Layer Drop:進一步提升效率的突破性技術

 

    除了單獨削減注意力層和 MLP 層,研究人員還提出了「Joint Layer Drop」技術,這是一種同時結合注意力層與 MLP 層的冗餘性削減方法。具體來說,這種方法通過計算注意力層與 MLP 層的冗餘程度,然後根據兩者的重要性分數,聯合剪除低重要性的層。

 

實驗結果顯示,Joint Layer Drop 技術在高剪除比例的情況下仍然能夠保持較高的性能。例如,當削減 31 層(包括注意力層與 MLP 層)時,Llama-2-13B 模型在 MMLU 任務中仍然能夠保持 90% 的性能,顯示出其在高剪除條件下的優越性。

 

圖 6:丟棄不同目標模組的精確度曲線,其中我們考慮丟棄單一類型的模組和聯合丟棄 (Attn + MLP)。在 Joint Drop 的行中,⋆ 代表丟棄 MLP 的步驟,而 ■ 代表丟棄 Attention 的步驟。

 

7. 對未來 Transformer 架構設計的啟示

 

    這項研究為未來的 Transformer 架構設計提供了寶貴的啟示。首先,研究表明,注意力層中存在著顯著的冗餘性,因此未來的模型設計者可以考慮削減這些冗餘層,從而在保證模型性能的同時提升運行效率。此外,這種冗餘性剪除技術不僅適用於自然語言處理模型,還有望應用於其他領域的 Transformer 模型,如視覺 Transformer 或多模態模型等,從而推動 AI 產業的進一步發展。

 

8.結論:更高效的 Transformer 模型是未來的關鍵

 

    這篇研究成功揭示了 Transformer 模型中的注意力層和 MLP 層的冗餘性,並提出了高效的削減方法,如 Attention Drop 和 Joint Layer Drop 技術,這些技術能夠顯著提升模型的運行效率,而不會對性能造成太大的損失。這些發現不僅有助於降低現有模型的運行成本,也為未來更高效的 AI 模型設計提供了理論支持。

 

 

參考來源:
Shwai He, Guoheng Sun, Zhenyu Shen, Ang Li, "What Matters in Transformers? Not All Attention is Needed", University of Maryland, College Park.