What is Attention(注意力機制)?
Transformer 模型中的一種機制,允許每個 token 在計算其表示時動態加權並關注輸入序列中最相關的部分。
Definition
注意力是基於 Transformer 的語言模型中的核心計算機制。它透過允許序列中的每個 token「查看」並從其他每個 token 收集資訊,使模型能夠建立上下文感知的表示。注意力計算每對 token 之間的直接加權連接,而非像 RNN 那樣以固定大小的記憶體從左到右處理文字,使模型能夠捕獲長距離依賴關係和細微的關係。
標準注意力機制——稱為縮放點積注意力——透過將每個 token 的嵌入投影為三個向量:查詢(Q)、鍵(K)和值(V)來運作。注意力分數計算為每個查詢與所有鍵的點積,除以鍵維度的平方根進行縮放,然後通過 softmax 產生機率分佈。此分佈決定每個 token 的值對查詢 token 輸出表示的貢獻程度。高注意力分數意味著兩個 token 在上下文中高度相關。
現代 Transformer 使用多頭注意 力,在嵌入的不同學習子空間上並行運行多個獨立的注意力計算(「頭」)。這允許模型同時關注不同類型的關係——例如,一個頭可能捕獲句法依賴,而另一個捕獲語義相似性。所有頭的輸出被串接並投影回模型維度。分組查詢注意力(GQA)和多查詢注意力(MQA)等變體透過在頭之間共享鍵和值投影來降低注意力的記憶體成本。
Why It Matters
注意力賦予語言模型理解上下文、消解歧義和在長段落中維持連貫性的卓越能力。沒有注意力,處理「河岸在河流氾濫後被淹沒了」的模型不會知道該使用「bank」的哪個含義。注意力也是微調影響最大的地方——LoRA 適配器通常應用於注意力投影矩陣(Q、K、V 和輸出),因為這些是模型解釋和關聯資訊最主要的組件。理解注意力有助於從業者診斷模型行為並做出明智的微調決策。
How It Works
對於輸入序列中的每個 token,注意力層計算 Q = W_q × x、K = W_k × x 和 V = W_v × x,其中 x 是 token 的嵌入,W_q、W_k、W_v 是學習到的權重矩陣。token i 和 token j 之間的注意力分數計算為 (Q_i · K_j) / √d_k,其中 d_k 是鍵的維度。這些分數通過 softmax 產生總和為 1 的注意力權重。token i 的輸出是所有 V 向量根據這些權重的加權和。在因果(僅解碼器)模型中,遮罩防止 token 關注未來位置,維持自回歸特性。整個計算使用 GPU 上的高效矩陣乘法在所有 token 和所有頭上並行執行。
Example Use Case
一位開發人員分析為什麼他們微調的模型誤解了某些查詢,使用注意力視覺化來檢查模型關注了哪些 token。他們發現模型在提示中大量關注通用停用詞而非領域特定術語。在添加了更多強調領域術語的多樣化訓練範例後,注意力模式適當地轉移了,模型在這些查詢類型上的準確度提高了 23%。
Key Takeaways
- 注意力讓每個 token 動態聚焦於輸入序列中最相關的部分。
- 縮放點積注意力使用查詢、鍵和值投影來計算加權關係。
- 多頭注意力在不同子空間中並行捕獲多樣化的關係類型。
- LoRA 微調針對注意力投影矩陣,因為它們最能影響模型行為。
- 僅解碼器模型中的因果遮罩防止 token 關注未來位置。
How Ertas Helps
當使用者在 Ertas Studio 中使用 LoRA 微調模型時,適配器主要應用於注意力層——特別是查詢、鍵、值和輸出投影矩陣。Ertas 的預設配置針對這些層,因為研究表明它們提供了最佳的可訓練參數回報。進階使用者可以透過 Studio 的配置面板自訂要針對哪些注意力層,對微調過程進行精細控制。
Related Resources
Adapter
Context Window
Embedding
LoRA
Transformer
Getting Started with Ertas: Fine-Tune and Deploy Custom AI Models
Introducing Ertas Studio: A Visual Canvas for Fine-Tuning AI Models
Hugging Face
Ertas for Healthcare
Ertas for SaaS Product Teams
Ship AI that runs on your users' devices.
Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.