一句話定義

注意力機制(Attention)是讓模型在處理每一個字的時候,自動算出「該參考前後哪些字、各參考多重」的一套權重計算方式。

30 秒看重點

  • 是什麼:注意力機制會替句子裡每一對字算出關聯強度,再照這個強度決定要參考誰、參考多少。
  • 為什麼重要:2017 年那篇〈Attention Is All You Need〉把遞迴結構整組拿掉、只留下注意力,才有了 Transformer,ChatGPT、Claude、Gemini 全都蓋在這塊地基上。
  • 跟誰相關:想看懂 AI 新聞的一般讀者、要調模型速度的工程師,還有每個月在付 API 帳單的人。
  • 最常見的誤解:很多人以為注意力機制就等於 Transformer,其實它 2015 年就在翻譯模型裡上工了,比 Transformer 還早兩年。
  • 記住這件事就夠了:AI 之所以知道「他」指的是誰,靠的就是這個機制。

注意力機制到底是什麼?

注意力機制是一種計算方式,讓模型讀到某個字的時候,先跟句子裡所有其他字比一輪關聯度,再照這個關聯度加權組合出這個字真正的意思。

這個名字取得其實滿誠實的,它做的事情跟人類讀句子時「這幾個字要盯著看、那幾個字掃過去就好」幾乎是同一件事。Harvard NLP 的《The Annotated Transformer》把自注意力(self-attention,又叫 intra-attention)定義成「一種把單一序列中不同位置關聯起來、藉此算出整個序列表示的注意力機制」。翻成人話就是:一句話自己跟自己對照一遍。

生活比喻:你可以想像成一個 50 人的 LINE 工作群。你丟一句「週五場地誰知道?」進去,這句話就是 query(提問)。群裡每個人身上都掛著一張標籤寫自己負責什麼,那是 key(索引)。你不會把 50 個人講的話照單全收,而是自動判斷「行政的阿明講的最準,佔八成,其他人各佔一點」,最後真的被你聽進去的內容就是 value(內容)。注意力機制做的事,就是把這個判斷過程寫成數學。

為什麼會有注意力機制?

注意力機制會出現,是為了解決舊式翻譯模型把「整句話壓成一個固定大小的向量」造成的資訊瓶頸。

第一個問題是資訊瓶頸。 Google 官方的 tensorflow/nmt 教學寫得很直白:傳統 seq2seq 模型只把編碼器最後一個狀態交給解碼器,中間所有狀態全部丟掉,「對長句子而言,這個單一固定大小的隱藏狀態會變成資訊瓶頸」。說白了就是傳話遊戲,一句話傳到最後只剩幾個關鍵字,前面講過什麼早就掉光了。

第二個問題是長距離依賴。 同一份文件也提到,這種做法碰到句子裡跨很遠的依賴關係特別吃力。中文最有感的例子大概是「小明把手機借給小華,因為他快沒電了」,這個「他」是誰,模型得回頭看很前面才判斷得出來。

於是 Bahdanau 等人在 2015 年 ICLR 發表〈Neural machine translation by jointly learning to align and translate〉、Luong 等人同年在 EMNLP 發表〈Effective approaches to attention-based neural machine translation〉,讓解碼器每吐一個字都能回頭翻閱全部的來源狀態,而不是只認最後那張小抄。

兩年後,2017 年 Google Brain 團隊的〈Attention Is All You Need〉更狠,直接把遞迴跟卷積整組砍掉,只留注意力,Transformer 就是這樣來的。順帶一提,這篇論文的共同作者 Noam Shazeer 在 2026 年跳槽去了 OpenAI,一個九年前的架構決定,到現在還在牽動人才市場。

注意力機制是怎麼運作的?

拆開來其實就三步:先比對誰跟誰有關、再算出一組權重、最後照權重把資訊加權平均起來。

  1. 比對:tensorflow/nmt 的講法是「拿當前的目標狀態去跟所有來源狀態比較,得出注意力權重」。就是那句「誰跟我這題有關」的計分環節。
  2. 加權平均:照權重把來源狀態做加權平均,得到一個 context vector(脈絡向量),相當於把全班答案照可信度混成一份。
  3. 合併:把脈絡向量跟當前狀態合起來,變成這一步真正的輸出。

名詞小教室:實作上這三步會寫成 Attention(Q, K, V) = softmax(QKᵀ / √d_k)V。那個除以 √d_k 不是裝飾品,《The Annotated Transformer》解釋得很清楚:d_k 一大,點積數值就會跟著變大,把 softmax 推進梯度極小的區域,所以要除回來壓一下。2017 年的原始設定是 8 顆注意力頭、d_model 為 512、編碼器與解碼器各 6 層。多頭的用意官方說法是「讓模型同時從不同的表示子空間、不同位置擷取資訊」,簡單來講就是派 8 個人用不同角度讀同一句話,最後再開會統整。

注意力機制跟 RNN 差在哪?

一句話講完:RNN 是照順序把資訊一棒一棒傳下去,注意力機制是每個字直接跟全句所有字連線。

比較項目注意力機制RNN(遞迴神經網路)
怎麼看前文每個字跟全句每個字直接算關聯靠一個一路傳下來的隱藏狀態
長句子表現距離再遠都是一步到位長句會撞上資訊瓶頸,長距離依賴難處理
能不能平行運算可以,整句一次算完不行,得照順序一個一個跑
記憶體吃法要把完整的注意力矩陣攤在記憶體裡只要一直傳一個狀態
2026 年誰在用ChatGPT、Claude、Gemini 底層的 Transformer大型語言模型這塊 2017 年之後幾乎不用了

從這張表可以看出來,注意力機制贏在「看得遠又能一次算完」,代價是記憶體。如果你只是想看懂新聞,記住「RNN 是接力賽、注意力是開會」就夠了;如果你在做工程選型,2026 年的現實是這題已經沒什麼好猶豫的。

你會在哪些 AI 工具看到注意力機制?

你每天在用的 AI 幾乎都是它做的,只是它躲在最底層,不會跳出來跟你打招呼。

  • ChatGPT、Claude、Gemini:底層都是 Transformer,也就是完全靠注意力機制運作的那套設計。你貼一大段文字進去它還抓得到重點,功勞就在這。
  • Hugging Face Transformers:官方文件列出可切換的注意力實作有 eager、SDPA、FlashAttention-2、FlashAttention-3、FlexAttention 跟對應的 paged 版本,載入模型時用 attn_implementation 指定就好。
  • FlashAttention:Tri Dao 等人 2022 年的〈FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness〉,官方 README 標的數字是序列長度 2K 時省 10 倍記憶體、4K 時省 20 倍。
  • Mistral、Gemma 2、Llama:Hugging Face 文件指出這幾家會自動用滑動視窗限制 KV 快取的成長,不會把整條序列都留著。

如果你是工程師,最常碰到它的場合其實不是論文,是 OOM QQ。KV 快取存的就是注意力要用的 key 與 value 向量,免得每生一個 token 就把前面重算一次,代價是它很吃記憶體,Hugging Face 官方文件直接說這是長上下文生成的瓶頸。量化快取、滑動視窗、把快取搬去 CPU,都是在解同一題。

學注意力機制最常見的 3 個誤解

  1. 誤解一:注意力機制就是 Transformer — 真相是它 2015 年就在 RNN 翻譯模型裡上工了,Transformer 是 2017 年把遞迴整組拿掉、只留注意力的架構。前者是零件,後者是整台車。
  2. 誤解二:上下文塞越多,AI 就越懂我 — Anthropic 官方文件寫了一個詞叫 context rot,token 一多,模型的正確率跟回想能力會下降,官方結論是「更多上下文不會自動比較好」。注意力是把權重分給所有字,分母變大,你真正在乎的那一句就被稀釋掉了。
  3. 誤解三:注意力很便宜,反正 GPU 會越來越強 — Hugging Face 官方文件講得很不客氣:基本版的注意力得把完整的注意力矩陣整張攤在記憶體裡,這就是瓶頸。那張表是「每個 token 對每個 token」,長度翻倍格子數就變四倍。所以才有一整票人在做 FlashAttention、滑動視窗、快取量化 不然帳單真的會爆

想多了解注意力機制,從哪開始?

沒有技術背景的話,先把 LINE 群組那個比喻記牢就好。之後新聞再寫「長上下文」「推論成本下降」,你大概都猜得到它在省什麼。

有技術背景的話,直接讀《The Annotated Transformer》的程式碼版本,公式跟實作對著看,比純論文好啃很多;接著翻 Hugging Face 的 attention interface 文件,把幾種實作切換跑一次,記憶體差多少你會很有感(真的會嚇一跳)。


常見問題 FAQ

注意力機制跟 AI 有什麼關係?

注意力機制是現代 AI 語言模型最核心的計算單元。2017 年的〈Attention Is All You Need〉論文提出的 Transformer 架構,就是完全靠注意力機制運作、把遞迴與卷積結構整組拿掉的設計,而今天的 ChatGPT、Claude、Gemini 底層用的都是這套架構。所以你問 AI 一個問題、它能扣住你前面講過的細節回答,靠的就是注意力機制。

為什麼注意力機制突然這麼紅?

它其實紅很久了,只是最近又被推到台前。2015 年注意力機制先在神經機器翻譯領域證明有效,2017 年 Google Brain 團隊的〈Attention Is All You Need〉把它變成整個架構的主角,之後所有大型語言模型都建在上面。2026 年這個詞又被大量提起,一部分原因是這篇論文的共同作者 Noam Shazeer 從 Google DeepMind 跳槽到 OpenAI 擔任架構研究負責人,讓「誰握有架構人才」變成產業話題。

我不是工程師也需要懂注意力機制嗎?

不用懂數學,但知道它的存在會讓你更會用 AI 工具。因為注意力機制的成本會隨著文字長度快速上升,你就會理解為什麼各家 AI 要設上下文上限、為什麼貼一份超長 PDF 進去反而容易得到含糊的答案。知道這件事之後,你會傾向先篩掉不相關的資料再丟給 AI,而不是整包上傳。

注意力機制的中文翻譯有沒有統一?

英文 Attention Mechanism 在繁體中文圈幾乎都翻成注意力機制,這個沒什麼爭議。比較不統一的是 self-attention,有人翻自注意力、有人翻自我注意力。本站統一用注意力機制與自注意力,並且在第一次出現時保留英文原文,方便你去對照英文資料。

學會注意力機制之後,下一個該學什麼?

建議照這個順序:先看 Transformer,把注意力放回完整架構裡;再看上下文視窗,那是注意力成本在使用者端的直接體現;最後看 Token,你就知道那些格子到底是怎麼被切出來的。這三個湊起來,AI 新聞裡的規格數字你大概都看得懂了。


延伸閱讀


參考來源

  1. The Annotated Transformer|Harvard NLP — 自注意力與多頭注意力的定義、Attention(Q, K, V) 公式、除以 √d_k 的理由,以及 8 顆注意力頭、d_model 512、6 層堆疊的原始設定。
  2. Neural Machine Translation (seq2seq) Tutorial|TensorFlow — 固定大小隱藏狀態造成的資訊瓶頸、長距離依賴問題、注意力運作三步驟,以及 Bahdanau 2015 與 Luong 2015 兩篇論文的出處。
  3. Attention Interface|Hugging Face Transformers Docs — 基本注意力要把完整矩陣攤在記憶體裡的瓶頸說明,以及各種實作的切換方式。
  4. FlashAttention|Dao-AILab — FlashAttention 論文作者與年份,以及序列長度 2K 省 10 倍、4K 省 20 倍記憶體的官方數字。
  5. KV cache strategies|Hugging Face Transformers Docs — KV 快取的用途與記憶體瓶頸,以及量化快取、滑動視窗、搬去 CPU 三種做法。
  6. Context windows|Claude Platform Docs — context rot 的官方定義與「更多上下文不會自動比較好」的結論。

整理一下重點:注意力機制真的就是「AI 讀句子時決定要盯著誰看」的那套演算法,它讓模型看得又遠又快,代價是記憶體,而 FlashAttention、滑動視窗、快取量化這些名詞,全都是在跟這個代價拔河。

希望這一篇有讓你對注意力機制有比較具體的理解哩~如果發現事實錯誤、定義不準、或翻譯卡卡的,歡迎透過聯絡頁指正,看到我們會盡快修。

我們下篇文章見囉~

本條目由 Array 報報 AI 編輯部根據上方「參考來源」整理,文末已揭露 AI 生成 + 公開資料引用。