20251106筆記 內容可能有錯誤,請參考原始影片 [李宏毅【生成式AI時代下的機器學習(2025)】](https://www.youtube.com/playlist?list=PLJV_el3uVTsNZEFAdQsDeOdzAaHTca2Gi) [【生成式AI時代下的機器學習(2025)】第四講:Transformer 的時代要結束了嗎?介紹 Transformer 的競爭者們](https://www.youtube.com/watch?v=gjsdVi90yQo&list=PLJV_el3uVTsNZEFAdQsDeOdzAaHTca2Gi&index=4) ### 【生成式AI時代下的機器學習(2025)】第四講:Transformer 的時代要結束了嗎?介紹 Transformer 的競爭者們 大綱 ### I. Transformer (Self-Attention) 的優勢與挑戰 * **優勢:** Transformer是一種廣泛使用的神經網路架構。其核心組件 Self-Attention**最大的優點是訓練時容易平行化**,可有效利用GPU加速。 * **挑戰:** 推理 (Inference) 時,Self-Attention的計算量和記憶體需求會隨輸入序列長度增加而增加,這不利於處理當前流行模型所需面對的**超長序列**。 ### II. RNN 的回歸與 Linear Attention 的興起 * **RNN 流:** 傳統上用於處理序列輸入,但訓練難以平行化,必須等待前一個步驟的隱藏狀態 (H) 計算完成。 * **Linear Attention (LA):** 是一種簡化的 **RNN 架構(拿掉了Reflection $F_a$ 部分)**。同時,它也是 **Self-Attention 拿掉 Softmax** 的結果。 * **LA 的特性:** 它在**推理時表現得像 RNN** (固定運算量),但在**訓練時可以像 SA 一樣平行化**。 ### III. Mamba 系列:修復 Linear Attention 的記憶缺陷 * **LA 的缺陷:** 由於缺乏 Reflection 機制,LA 的記憶體會**永久儲存**輸入資訊,永不遺忘或改變。 * **RetNet 與 Gated Retention:** 透過引入衰減因子 $\gamma$ 或可學習的 $G_T$ (Gate),使過去的記憶能逐漸淡忘或根據情境決定保留或遺忘。 * **Mamba:** 作為最知名的競爭者,它採用了複雜的機制來控制記憶更新。Mamba 在特定任務中已被證明**能超越** Transformer,並在**推理速度上有顯著加速**。 ### IV. 新架構的應用與未來趨勢 * Linear Attention 的概念已被用於訓練巨大的語言模型 (LLM) 和影像生成模型。 * 業界與學術界正在進行一場關於「Attention Is All You Need」的賭局,探討 Transformer 是否能在未來幾年內繼續保持主導地位。 --- ### 1. Transformer 與 Self-Attention (SA) 的核心概念 #### 1.1 Transformer 的廣泛應用與定義 * **Transformer** 是一個目前非常廣泛使用的類神經網路架構。 * 它不只用於大型語言模型 (LLM),還用於產生語音和圖片。例如,作業四就是要求學生訓練一個產生圖片的 Transformer,以展示其多樣化應用。 * 本課程討論的重點更精確地說,是 Transformer 層中的 **Self-Attention Layer**。 #### 1.2 Self-Attention 的運作方式 * Self-Attention (SA) 是用來解決處理 **vector sequence 輸入和 vector sequence 輸出**的問題。 * SA 將輸入序列 $X_1$ 到 $X_T$ 中的每個向量 $X_i$ 乘以三個不同的轉換矩陣,產生三個向量:**Query ($Q_i$)、Key ($K_i$) 和 Value ($V_i$)**。 * 要計算輸出 $Y_T$,則需將 $Q_T$ 與序列中每一個 $K_i$ 計算內積 (inner product)。內積結果 ($\alpha$) 被稱為 Attention Weight。 * 這些 $\alpha$ 數值會經過 **Softmax** 處理,讓它們的總和為 1。 * 最後,這些 Softmax 處理後的 $\alpha$ 與對應的 $V_i$ 進行加權求和 (weighted sum),得到最終輸出 $Y_T$。 * **注意:** Attention 的概念並非由 2017 年的 "Attention Is All You Need" 論文首次提出,它早在 2014 年的 Neural Turing Machine 和記憶網路 (Memory Network) 中就已經存在。 #### 1.3 SA 的核心優勢:訓練平行化 * Transformer (SA) 最大的好處在於 **訓練時可以更容易地平行化**。 * 訓練神經網路需要先計算出目前的答案,計算與正確答案的差異,然後才能更新參數。Transformer 的 SA 架構可以**快速計算**出所有時間點的答案。 * 在訓練階段,給定一個完整的輸入句子,Transformer 可以**平行地一次性計算出每個時間點的輸出**。例如,$Y_1$ 到 $Y_6$ 這六個向量可以同時平行生成,因為它們的生成過程彼此沒有關聯性。 * SA 的計算過程主要是一連串的**矩陣運算**(例如 Key 矩陣的轉置乘以 Query 矩陣),這對 **GPU 非常友好**,能充分利用 GPU 的效能。 #### 1.4 SA 的限制:推論成本與記憶體誤解 * 在推論 (Inference) 或序列生成時,SA 的架構要求**每一次運算都要對前面所有的位置做 Attention**。 * 因此,SA 的**運算量和記憶體需求**會隨著輸入序列長度增加而增加。 * 許多人誤以為 SA 可以儲存無窮長的資訊,但事實上,它的記憶體容量也是**有限的**。如果序列長度 $T$ 大於維度 $D$,總會出現某些 Key 向量與 Query 向量的內積大於零,導致模型記憶錯亂。 ### 2. RNN 架構及其與 Linear Attention 的關係 #### 2.1 RNN 的基本運作與挑戰 * RNN 架構使用 **Hidden State ($H$)** 來儲存目前已看到的所有輸入資訊。 * 在時間點 $T$,新的隱藏狀態 $H_T$ 由前一個狀態 $H_{T-1}$ 經過函數 $F_a$ (Reflection/反思) 以及當前輸入 $X_T$ 經過函數 $F_b$ (Writing/書寫) 共同決定。 * **LSTM/GRU:** 這些是 RNN 的變形,透過門控機制 (Gate) 讓 $F_a, F_b, F_c$ 這些函數可以隨時間變化,例如讓模型決定是否遺忘過去的資訊($F_a$ 類似 Reflection/反思模組)。 * **RNN 的訓練困難:** 訓練時,RNN 無法平行運算。計算 $H_T$ 必須先依賴 $H_{T-1}$,這是一種**序列依賴性**,是 GPU 最討厭的狀態,因為它必須等待,難以發揮平行化的優勢。 #### 2.2 Linear Attention (LA) 的神奇等價關係 * **LA 的誕生:** 人們探討是否能將 RNN 展開來實現平行運算。如果將 RNN 式子展開,會發現連續呼叫 $F_a$ 函數仍然導致序列依賴性。 * 為解決此問題,直接將 $F_a$ 拿掉 (即拿掉 Reflection/反思部分),得到簡化的 RNN 公式:$H_T = H_{T-1} + X_T$ 透過 $F_b$。 * 若進一步簡化符號並假設 $F_b$ 輸出是一個矩陣 $D_T = V_T \times K_T^T$,並假設輸出 $Y_T$ 是 $H_T$ 乘以 $Q_T$。 * 將 $H_T$ 展開後,最終的 $Y_T$ 公式 (即 $Y_T = \sum_{i=1}^T V_i \times (K_i^T Q_T)$) 驚人地發現:**Linear Attention 就是 RNN 拿掉 Reflection 部分**。 * 同時,**Linear Attention 也是 Self-Attention 拿掉 Softmax**。這證明了這兩種看似不同的架構,本質上非常相似,僅差在 Softmax。 #### 2.3 LA 的優點與 Softmax 的重要性 * **LA 的優勢:** 由於 LA 本質是 SA 拿掉 Softmax,它在**訓練時**完全可以套用 SA 的平行化加速方法。而在**推理時**,它像 RNN 一樣,只需要記住前一個 $H$ 即可運算,因此具備固定且有限的計算和記憶體需求。 * **Softmax 的作用:** 如果 Linear Attention 贏不過 Self-Attention,差別就在於 Softmax。Softmax 使得一個事件的重要性是**相對於序列中其他事件而言**。在 SA 中,所有的 Attention Weight 會互相影響,一件本來重要的事情,如果出現更重要的事情,它的權重就會相對下降,這提供了**記憶調整或遺忘**的能力。 * **LA 的記憶缺陷:** LA 的記憶體 (H) 永不改變。一旦輸入資訊進入 $H_{T-1}$,它就會被放到 $H_T$ 裡,永遠不會被修改或遺忘。 ### 3. Mamba 系列與記憶體優化 #### 3.1 引入淡忘機制:RetNet * 為了解決 LA 記憶永不改變的問題,研究者引入了 Reflection 機制。 * **Retention Network (RetNet)** 在 $H_{T-1}$ 前乘以一個常數 $\gamma$ (通常設在 0 到 1 之間),使得**過去的記憶會逐漸被淡忘**。 * 在訓練時,這個 $\gamma$ 不影響平行化,它只改變 Attention Weight 的計算方式。 #### 3.2 可學習的門控機制:Gated Retention 與 Mamba 2 * 更進階的方法是 **Gated Retention**,讓 $\gamma$ 變成可學習的時變因子 $G_T$。 * $G_T$ 由輸入 $X_T$ 決定,模型可以學習決定**什麼東西要被記住,什麼東西要被遺忘**。 * **Mamba 2** 的架構設計與 Gated Retention 相似。 #### 3.3 Mamba 的崛起與性能 * **Mamba 1 (2023 年底出現)** 採用了更複雜的設計,對 $H_{T-1}$ 進行 element-wise 的複雜相乘。這種設計最初導致平行化訓練較困難,需要使用特定演算法加速。 * **Mamba 的重要性:** Mamba 引起轟動,因為它是**第一個真正能在多數情況下微幅贏過**強化的 Transformer (Transformer++) 的 Linear Attention 設計。 * 在推論 (Inference) 階段,Mamba 提供了**極強大的加速**能力,其每秒可處理的 token 數遠高於 Transformer。 * Mamba 這類 Linear Attention 架構的主要設計目標就是要在處理**長序列**時表現優異。 #### 3.4 DeltaNet 與 Titan:將記憶體更新視為梯度下降 * **DeltaNet** 試圖在 Memory 更新中加入「清除舊記憶」的概念。 * DeltaNet 的 Memory 更新公式可以被解釋為一個 **Gradient Descent (梯度下降) 的步驟**。 * 在這個解釋中,$H_{T-1}$ 是更新前的參數,$H_T$ 是更新後的參數,而 $\beta_K$ 是一個學習率。 * 梯度方向在最小化一個 Loss 函數,該 Loss 函數的意義是**希望 Memory (H) 能用 Key (K) 準確提取出 Value (V)**。 * 這種概念被應用在 **Titan** (2024年初的熱門模型),它標榜能夠在測試時 (testing time) 學習記憶,即模型在 Inference 時,相關參數也會同步改變。 ### 4. 總結與未來趨勢 * **實務應用:** Linear Attention 已經被用於訓練巨大的語言模型,例如 Jamba (52B) 和 MiniMax01 (400B以上)。它也被用於影像生成模型 Sana,以加快推論速度。 * **影像處理:** 雖然有論文指出在**影像分類任務**中拿掉類似 Mamba 的 Attention 架構可能表現更好,暗示該任務可能不需要處理大範圍的 Attention,但在**影像分割等其他任務上**,有 Mamba 或 Self-Attention 的架構仍表現更優。 * **研究趨勢:** 由於訓練巨大的 LLM 成本高昂,當前研究潮流是從現有的 Transformer 模型(如 Llama)開始,**將其 Self-Attention 層替換為 Mamba 或其他 Linear Attention 變體**,然後進行微調 (fine-tune),以減少訓練成本並驗證新架構的效果。 * **未來預言:** 線上存在一個賭局,預言到 2027 年 1 月 1 日,基於 Transformer 的架構是否仍將是最強的神經網路架構。這場賭局反映了學術界對於 Transformer 霸主地位是否終結的熱烈討論。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up