AI 技術前沿

為什麼注意力就夠了:一篇改變一切的論文

2017 年,Google 的八位研究者提出一個異端主張:處理語言不需要按順序讀,注意力機制就夠了。這個叫做 Transformer 的架構,在短短幾年內催生了 BERT、GPT、ChatGPT、AlphaFold 2,從根本上重塑了整個 AI 領域。它可能是人類史上商業影響最大的學術論文。

來源: arXiv / NeurIPS 2017
為什麼注意力就夠了:一篇改變一切的論文

本文為「AI 經典文獻回顧」系列第七篇(上),介紹 2017 年由 Google 八位研究者發表的〈Attention Is All You Need〉,以及 Transformer 架構如何改變了整個 AI 領域的方向。下篇見〈一篇論文,八條路:Transformer 發明者的分岔命運〉。


2017 年,RNN 是整個 NLP 的天

2016 年 11 月,Google 做了一件讓業界刮目相看的事:把 Google 翻譯的核心引擎從用了十年的統計方法,一口氣換成了深度學習。新系統叫 GNMT(Google Neural Machine Translation),用的是當時最先進的架構——八層雙向 LSTM 編碼器加上八層 LSTM 解碼器,中間夾一層注意力機制。翻譯錯誤率一口氣降了 60%。全世界的 NLP 研究者看到這個結果,更加確信一件事:循環神經網路(RNN)就是處理語言的正確方式。

這個信念有很深的直覺根基。人類讀文字是一個字一個字讀的,理解句子的意思需要記住前面出現過什麼。RNN 的運作方式完美模仿了這個過程:它逐步處理序列中的每一個元素,用一個隱藏狀態(hidden state)來「記住」之前看過的內容。LSTM 是 RNN 的改良版,1997 年由 Hochreiter 和 Schmidhuber 提出,加入了「門」的機制來控制要記住什麼、忘記什麼,解決了原始 RNN 容易遺忘早期資訊的問題。到了 2017 年,整個 NLP 社群的研究生態幾乎完全建立在 RNN/LSTM 的基礎上——從機器翻譯到語音辨識到文本摘要,所有的前沿系統都以某種形式的循環架構為核心。

但 RNN 有一個根本性的弱點,而且這個弱點不是靠修修補補能解決的:它必須按順序處理。

要理解這為什麼是致命問題,想像你有一本一千頁的書。RNN 的讀法是:讀完第一頁才能讀第二頁,讀完第二頁才能讀第三頁,依此類推。就算你手上有一百個助手,他們也只能排隊等,因為第二頁的理解依賴第一頁的結果。GPU 是平行處理的專家——它擅長的是同時處理大量資料——但 RNN 的序列本質讓 GPU 的平行能力幾乎完全派不上用場。Google 訓練 GNMT 用的是它自己設計的 TPU 晶片,即便如此,訓練一個頂級翻譯模型仍需要數週時間。

更尷尬的是,Google 自己的資料量已經大到 RNN 根本消化不完。Google Brain 的研究員 Jakob Uszkoreit 後來回憶:「Google 生成訓練資料的速度,遠遠超過我們訓練最先進架構的速度。」換句話說,瓶頸不在資料,不在算力硬體,而在架構本身。RNN 的設計讓它無法充分利用 Google 已經擁有的資源。

就在這個背景下,Google Brain 裡有一小群人開始想:如果把循環的部分整個拿掉呢?

「把所有東西都拿掉,結果變得更好了」

這個想法最初來自 Jakob Uszkoreit。他的猜測很單純:也許處理語言根本不需要按順序來,用注意力機制讓每個字直接看到句子裡所有其他的字,就夠了。

這個想法在當時聽起來接近異端。連 Uszkoreit 自己的父親——德國計算語言學教授 Hans Uszkoreit——都持懷疑態度。當時所有人的認知都是:注意力機制是 RNN 的「配件」,就像汽車的導航系統一樣,它讓 RNN 表現更好,但你不會說「導航系統就是整輛車」。2014 年 Bahdanau 提出的注意力機制,以及 2015 年 Luong 的改進版,都是在 RNN 的框架裡運作的——注意力幫助解碼器找到編碼器輸出中最相關的部分,但底層的循環結構紋絲不動。

Uszkoreit 的想法是:如果注意力夠強大,為什麼還需要底層的循環結構?

接下來發生的事情,可能是 AI 研究史上最經典的「減法實驗」之一。團隊最初建造的原型模型其實很複雜,包含卷積層、注意力層、還有各種精心設計的組件。然後他們開始做消融實驗(ablation study)——系統性地移除模型的各個部分,看性能會掉多少。

Llion Jones 後來在 GTC 座談中回憶這個過程:「我們開始移除模型的一些部分,看看它會變得多糟糕。但令我們驚訝的是,它反而變得更好了,包括移除所有卷積組件。」Noam Shazeer 補充:「我們實際上是從那個骨架開始,然後添加東西⋯⋯後來又把它們移除了。」

最後留下來的,只有注意力。沒有 RNN,沒有 CNN,沒有任何形式的循環或卷積。純粹的自注意力(self-attention)機制,加上前饋神經網路和位置編碼。這就是 Transformer。

它到底怎麼運作的

Transformer 的核心概念,如果用最直覺的方式解釋,大概是這樣的。

想像你在讀「銀行的河岸很陡峭」這句話。當你讀到「河岸」的時候,你怎麼知道這裡的「岸」是河邊的意思,而不是銀行的意思?因為你同時看到了「河」和「陡峭」,這兩個字提供了語境。但「銀行」這個字在句子開頭,跟「河岸」隔了好幾個字。RNN 需要把「銀行」的資訊一步一步傳遞到「河岸」的位置,經過每一個中間步驟,資訊都可能衰減。

Transformer 的做法完全不同。它讓句子中的每一個字同時看到所有其他的字,然後自己決定要關注哪些字。「河岸」可以直接關注「陡峭」,也可以直接關注「銀行」,不需要經過中間的步驟。這就是自注意力(self-attention)的核心:每個元素都可以跟序列中的任何其他元素建立直接連結。

具體來說,每個字會被轉換成三組向量:查詢(Query)、鍵(Key)、和值(Value)。查詢代表「我在找什麼」,鍵代表「我能提供什麼」,值代表「我實際包含的資訊」。一個字的查詢會和所有字的鍵做比對,算出注意力分數,然後用這些分數來加權所有字的值。用論文裡的數學寫法就是 softmax(QK^T/√d_k)V,但直覺上,它做的事情就是「讓每個字根據上下文的相關性,決定要從其他字那裡借用多少資訊」。

更巧妙的是多頭注意力(multi-head attention)。一個字跟另一個字的關係可能有很多面向——語法關係、語義關係、位置關係。Transformer 用八個獨立的注意力「頭」來同時捕捉不同面向的關係,每個頭有自己獨立的 Q/K/V 矩陣,最後把八個頭的結果串起來。這就像是八個專家同時在分析同一句話,一個專注語法、一個專注語義、一個專注指代關係,最後匯整出一個比任何單一分析都豐富的理解。

但這裡有一個問題:如果每個字同時看到所有字,那句子的順序資訊去哪了?「小明打了小華」和「小華打了小明」的意思完全不同,但如果模型只看每個字跟其他字的關係,它分不出這兩句話的差別。

Transformer 的解決方案叫做位置編碼(positional encoding)。它用一組正弦和餘弦函數,給序列中的每個位置生成一個獨一無二的「位置簽名」。這些簽名被加到字的向量上,讓模型知道每個字在句子中的位置。這個設計的精妙之處在於,不同頻率的正弦波可以表達任意長度的位置關係,而且理論上可以泛化到訓練時沒見過的序列長度。

整個架構分成編碼器和解碼器兩部分,各有六層。編碼器讀入原文(比如英文句子),每一層都通過自注意力和前饋網路逐步建構出對句子的理解。解碼器負責生成譯文(比如德文),它不但用自注意力理解已經生成的部分,還通過交叉注意力(cross-attention)去「看」編碼器的輸出,決定接下來該翻譯原文的哪個部分。

八張顯示卡,三天半

理論上再漂亮的架構,如果實驗結果不行也是白搭。但 Transformer 的實驗結果不只是「行」,而是碾壓。

團隊在 WMT 2014 英德翻譯任務上跑出了 28.4 的 BLEU 分數,比當時所有的最佳結果(包括多模型集成的結果)高出超過兩分。在英法翻譯任務上更誇張——41.8 的 BLEU 分數,刷新了單一模型的紀錄。而且這些結果是用一台裝了八張 NVIDIA P100 GPU 的機器,花三天半訓練出來的。

三天半。同樣的任務,用 RNN 架構要跑好幾週。

這個速度差異不是小幅改善,而是量級的跨越。原因很簡單:自注意力允許完全平行處理。RNN 必須等第一個字處理完才能處理第二個字,但 Transformer 可以同時處理所有的字。GPU 的數千個運算核心終於有了用武之地。團隊後來估計,基礎版 Transformer 的訓練成本大約是 100,000 步 × 每步 0.4 秒,十二小時就搞定。

Noam Shazeer 在 GTC 座談中把這個差異做了一個比喻:「RNN 就像蒸汽機,而 Transformer 則像內燃機。我們可以用蒸汽機完成工業革命,但那會很痛苦。有了內燃機,效率提高了許多倍。」

Ashish Vaswani 則從另一個角度解釋了 Transformer 為什麼跟 GPU 如此契合:「Transformer 成功的兩個關鍵因素是『讓梯度下降算法開心』和『讓物理學開心』。」自注意力的核心運算是矩陣乘法,而矩陣乘法正是 GPU 最擅長的事情。Transformer 不是勉強塞進 GPU 的形狀,而是天生就是 GPU 形狀的模型。

一個致敬披頭四的標題

這篇論文的標題〈Attention Is All You Need〉,本身就是一個故事。

名字來自 Llion Jones 的靈感,致敬了披頭四(The Beatles)的經典歌曲〈All You Need Is Love〉。論文定稿時,團隊正在做消融實驗——系統性地移除模型的各種組件來測試哪些是必要的——而他們驚喜地發現,移除卷積、移除循環,只留下注意力機制,模型反而表現更好。「注意力就是你需要的一切」,這既是技術結論,也是一句精彩的文案。

Transformer 這個名字則是 Jakob Uszkoreit 取的,描述模型的核心功能——轉換(transform)任何形式的資料。Ashish Vaswani 在 GTC 座談中透露,Uszkoreit 其實曾經提過一個更複雜的名字「Cargonet」,把卷積(Convolution)、注意力(Attention)、辨識(Recognition)等組件的縮寫拼在一起。幸好被團隊否決了。Noam Shazeer 則覺得 Transformer 這個名字太簡單,因為「幾乎所有機器學習模型都在進行轉換」。但歷史證明,好名字勝過精確的名字。

值得一提的是,這篇論文的八位作者被列為「等同貢獻」(equal contribution),論文的排列順序按字母排序。這在學術界是不常見的——通常第一作者有特殊地位——而這個選擇本身反映了 Transformer 確實是一個團隊協作的成果,很難說是哪一個人的「發明」。

八個人,四個國家,一個從未在同一間房間裡聚齊過的團隊

寫出這篇論文的八個人,背景橫跨三個大洲。

Ashish Vaswani 在印度出生、中東長大,南加州大學博士,專攻機器翻譯。Noam Shazeer 是 Google 的元老級員工,2000 年加入,在 Google 待了快二十年,寫過改善 Google 搜尋拼字檢查的演算法,也寫過成為 Google AdSense 核心的廣告投放程式。Niki Parmar 來自印度浦那,是八位作者中唯一的女性,南加大碩士。Jakob Uszkoreit 在德國長大,父親是計算語言學教授,從小在飯桌上聽圖靈機和有限自動機的討論。Llion Jones 來自威爾斯的鄉村小鎮,母語是威爾斯語,伯明罕大學出身。Aidan Gomez 是加拿大人,論文發表時只有二十歲,是 Google Brain 多倫多辦公室的實習生,八位作者中最年輕的一個。Łukasz Kaiser 是波蘭人,理論計算機科學背景,拿的是亞琛工業大學博士。Illia Polosukhin 來自烏克蘭,哈爾科夫國立大學畢業。

他們分散在 Google 的不同辦公室和團隊,論文的協作很大程度上是遠端進行的。黃仁勳在 2024 年 GTC 的座談中揭露了一個令人難以置信的細節:這八個人在寫論文的過程中,從來沒有同時在同一個房間裡出現過。一篇改變整個 AI 領域方向的論文,是由一群彼此沒有面對面見過的人完成的。

但這八位作者的背景有一個共通點:他們都不是在做「純學術研究」。他們在 Google 的日常工作是處理真實世界規模的資料和真實世界的延遲需求——翻譯系統每天要處理數十億次查詢,搜尋系統對回應時間的要求以毫秒計。這個實踐者的視角,讓他們對 RNN 的瓶頸有一般學術研究者沒有的切身感受。如同我們在這個系列第一篇介紹〈數據的不合理有效性〉時提到的,Google 的研究者長年浸泡在海量資料中,他們比大多數人都更清楚「有了資料但消化不掉」是什麼感覺。Transformer 解決的,正是這個問題。

從翻譯到一切

Transformer 論文的原始目標是機器翻譯。但它的影響遠遠超出了翻譯,超出了自然語言處理,甚至超出了 AI 領域本身。

2018 年 6 月,OpenAI 發表了 GPT-1。這是一個只用 Transformer 解碼器的模型——把 Transformer 的「翻譯」能力改成「預測下一個字」的能力。同年 10 月,Google 從另一個方向出發,發表了 BERT——只用 Transformer 編碼器,不做生成,專注於理解。BERT 在十一項 NLP 基準測試上全部刷新紀錄,震動了整個學界。Sebastian Ruder 寫了一篇廣為流傳的文章,宣告這是「NLP 的 ImageNet 時刻」——我們在系列第二篇介紹過 AlexNet 如何在 2012 年引爆電腦視覺的深度學習革命,BERT 在 2018 年對 NLP 做了同樣規模的事。而這兩場革命的共同祖先,就是 Transformer。我們在後續文章中會專門介紹 Ruder 這篇重要的宣言。

2019 年,GPT-2 證明了語言模型可以靠規模提升來獲得驚人的文本生成能力。2020 年,GPT-3 把參數量從 GPT-2 的 15 億推到 1,750 億,展示了「少樣本學習」(few-shot learning)——你不需要微調模型,只要在提示語裡給幾個例子,它就能做新任務。這個發現直接催生了後來的「提示工程」(prompt engineering)整個領域。

但 Transformer 最令人驚訝的跨界,發生在 2020 年底。Google 的研究者把圖片切成一塊一塊的小方格(patch),像文字的 token 一樣餵給 Transformer,結果竟然能做圖像辨識,而且效果跟深耕了十年的卷積神經網路(CNN)不相上下。這個叫做 Vision Transformer(ViT)的模型,證明了 Transformer 不只是語言模型——它是一個通用的序列處理架構,幾乎可以處理任何可以被表示成序列的資料。

同一年,DeepMind 的 AlphaFold 2 解決了蛋白質結構預測這個困擾生物學家五十年的問題。它的核心架構 Evoformer 是 Transformer 的一個特化版本。蛋白質是胺基酸的序列,而胺基酸之間的交互作用決定了蛋白質如何折疊成三維結構——這正是注意力機制最擅長捕捉的東西:序列中元素之間的長距離交互作用。AlphaFold 2 團隊後來獲得了 2024 年的諾貝爾化學獎。

到了 2022 年 11 月 ChatGPT 問世,Transformer 從學術論文變成了全民話題。ChatGPT 的底層是 GPT-3.5,加上 RLHF(從人類反饋中強化學習)——而 RLHF 正是這個系列上一篇〈Concrete Problems in AI Safety〉中提到的 Paul Christiano 後來發明的技術。從安全研究者的擔憂到實際讓 AI 變得可用的技術,思想的線索就這樣交織在一起。

截至 2025 年,這篇論文的引用次數超過 173,000 次,躋身二十一世紀被引用最多的論文之列。但引用數只是冰山一角。今天你所使用的幾乎每一個 AI 系統——ChatGPT、Claude、Gemini、Stable Diffusion、Copilot——都建立在 Transformer 架構之上。它不只是一篇重要的論文,它是整個現代 AI 的地基。

安全與能力,同一時間,同一地點

2017 年 6 月 12 日,八位 Google 研究者把 Transformer 論文上傳到 arXiv。而就在整整一年前——2016 年 6 月 21 日——同樣在 Google Brain,Dario Amodei、Chris Olah 和四位同事發表了〈Concrete Problems in AI Safety〉,用清潔機器人打翻花瓶的故事,把 AI 安全從哲學問題轉化為工程問題。

這個時間和空間的巧合,構成了 AI 發展史上最具張力的對照之一。在同一棟大樓裡,一群人在定義 AI 可能出錯的方式,另一群人在建造讓 AI 變得強大到足以真正出錯的架構。安全論文中擔心的那些問題——獎勵駭客、分布轉移、可擴展監督——在 2016 年還是假設性的,因為當時的 AI 系統還不夠強大,強大到讓這些問題產生真實後果。Transformer 改變了這一點。

而歷史的諷刺還在繼續。安全論文的第一作者 Dario Amodei 後來創辦了 Anthropic,開發了 Claude。Transformer 論文的共同作者 Niki Parmar,在 2024 年底離開自己和 Vaswani 共同創辦的 Essential AI,加入了 Anthropic。一位 Transformer 的共同發明人,加入了一家因為擔心 Transformer 太強大而成立的公司。這不是刻意的安排,但它完美地說明了這個時代的核心張力:能力與安全不是兩條平行線,而是同一條繩索的兩股。

站在 2026 年初回頭看,〈Attention Is All You Need〉的標題已經從一個技術聲明變成了一個時代宣言。九年前,八個人證明了注意力機制可以取代循環神經網路。九年後,這個架構衍生出的系統正在改變數億人的工作方式、重塑整個產業的競爭格局、甚至解開生物學幾十年來解不開的謎題。

但一篇論文的故事,只講了技術的部分。另一半故事——關於這八個人在點燃這場革命之後,各自走上了什麼樣的路——是一個更加出人意料的敘事。有人在延伸這個架構,有人在試圖取代它,有人帶著它去了生物學,有人帶著它去了區塊鏈。在下篇中,我們會看到:一篇論文可以改變世界,但世界也會反過來改變寫論文的人。