
Transformer 誕生前夜:Google 八名研究者為何敢徹底拋棄循環神經網絡?
TechFlow Selected深潮精選

Transformer 誕生前夜:Google 八名研究者為何敢徹底拋棄循環神經網絡?
把柺杖扔掉,只留注意力。
作者:Robonaissance
編譯:深潮 TechFlow
深潮導讀:2017 年之前,所有人都認為循環神經網絡是機器翻譯的必需品,注意力機制只是輔助工具。Google 八個研究者押注一個激進想法:把柺杖扔掉,只留注意力。這場豪賭的理論基礎,其實是 1890 年威廉·詹姆斯在《心理學原理》裡寫下的一句話。
1985 年,Jeffrey Moran 和 Robert Desimone 把一根微電極插入獼猴的視覺皮層,然後等待。
這隻猴子被訓練做一件簡單而奇怪的事。兩個刺激物會出現在單個神經元的感受野內,一個位於動物被提示要注意的位置,另一個位於被告知要忽略的位置。這個細胞能看到兩者。問題是這個細胞在不在乎。
它非常在乎。當猴子注意到兩個刺激物中的一個時,V4 區的神經元反應大致就像另一個刺激物根本不存在一樣。對未被注意物體的反應,用作者的話說,被顯著降低了。前一階段紋狀皮層的細胞則完全沒有這種表現。注意力不是動物在想什麼的隱喻。它是單個細胞中可測量的事件,其機制是減法。大腦不是在放大重要的東西。它是在壓低其他所有東西。
95 年前,沒有微電極也沒有猴子,威廉·詹姆斯用同樣的順序說過同樣的話。在《心理學原理》第十一章,他寫道每個人都知道注意力是什麼,然後還是給了定義:心智從幾個同時可能的對象中佔有其中一個。然後是最重要的那句話。詹姆斯寫道,注意力意味著從某些事物中撤出,以便有效地處理其他事物。
撤出。不是放大。這個領域最古老的定義和第一個單細胞記錄一致認為,注意力就是你減去的東西。
記住這個想法。大約兩千字後它會回來,穿著不同的符號。
所有人都同意付出的代價
到 2016 年,機器翻譯已經定型。你拿一個句子,通過循環神經網絡逐詞運行,積累一個隱藏狀態來承載迄今為止看到的所有東西,然後用那個狀態在另一端逐詞生成翻譯。主流變體是 LSTM 和門控循環單元。它們有效。谷歌已經將其投入生產。
這個架構有一個特性,領域內不斷討論卻不再把它當問題。循環模型將位置 t 的隱藏狀態計算為位置 t 減一的隱藏狀態的函數。這不是實現細節。這是定義。位置五必須等位置四存在才能計算,位置四必須等位置三存在。
Transformer 論文自己的引言部分以不尋常的直白陳述了後果——對於一個本該客套的章節來說。作者寫道,這種固有的順序性質排除了訓練樣本內的並行化,而且這個問題在更長的序列長度時變得關鍵,因為內存限制了你可以批處理多少樣本來補償。
想想這在房間裡的硬件是 GPU 時意味著什麼。GPU 是一臺同時做幾千件事的機器。循環網絡是一臺一件接一件做事的機器。在前者上運行後者就像僱了一個管絃樂隊卻給他們一首為獨奏小提琴寫的曲子。所有人都到了。大多數人在等待。
這個領域知道。有修復方法。論文引用了因式分解技巧和條件計算,兩者都提高了效率,其中一個也提高了質量。然後它給出了設定後續一切的句子:然而,順序計算的基本約束仍然存在。
這就是一個領域把成本定價到其世界觀中的樣子。沒人認為循環是免費的。所有人都認為它是必要的。
注意力到來,作為幫手
注意力在 2014 年進入機器翻譯,它以修復的身份進入。
它修復的問題是具體的,值得精確說明,因為這第一個修復的形態決定了這個領域接下來三年如何思考注意力。在當時的編碼器-解碼器模型中,編碼器讀取整個源句子並將其壓縮成單個固定長度的向量。解碼器然後僅從該向量生成翻譯。一個四十詞句子的每個詞都必須存活在一個數字數組中,其大小無論句子多長都不會改變。
當時在不萊梅雅各布大學的 Dzmitry Bahdanau,與蒙特利爾的 Kyunghyun Cho 和 Yoshua Bengio 合作,將此命名為瓶頸。他們的提議是停止強制壓縮。讓編碼器為每個輸入位置保留一個狀態,讓解碼器在每個輸出步驟計算所有這些狀態的一組權重並取加權和。模型會學習看哪裡。他們的標題清楚地陳述了由此產生的能力:通過聯合學習對齊和翻譯的神經機器翻譯。對齊,統計翻譯系統需要手工構建的機器來近似,作為學習的副產品從網絡中脫落。
這個機制有效,並且傳播開來。一年後 Minh-Thang Luong、Hieu Pham 和 Christopher Manning 發表了一組改進,使其更便宜、更通用。到 2016 年,注意力成為幾乎每個有競爭力的翻譯系統的標準配置。
而在每一個這樣的系統中,它都坐在循環網絡的頂部。
這是整個故事轉折的細節,Transformer 論文在引言中用一句話標記了它。作者指出,注意力機制已經成為序列建模不可或缺的一部分,允許依賴關係建模而不考慮距離。然而,在除少數情況外的所有情況下,這些機制都與循環網絡結合使用。
再讀一遍,注意它沒有說什麼。它不是說注意力被低估了。它是說三年來,這個領域擁有一種直接關聯任何兩個位置的機制,一步完成,無論它們相距多遠,卻把它栓在了恰恰不能做到這一點的架構上。注意力是乘客。循環是車。
沒人問這輛車是否承重。
提問的人
幾乎沒人,不管怎樣。
Jakob Uszkoreit 並沒打算研究語言。他誤打誤撞進來的。他的父親 Hans Uszkoreit 是計算語言學家,十幾歲時因抗議蘇聯入侵捷克斯洛伐克在東德監獄待了十五個月,釋放後逃到西方,在柏林學習計算機和語言學,最終找到了去門洛帕克一個人工智能實驗室的路,他的兒子在那裡出生。全家回到德國。Jakob 在那裡上大學,在谷歌山景城辦公室實習,落在翻譯組。他把這描述為最終進入家族生意。他從未完成博士學位。
2012 年他加入谷歌一個團隊,構建一個可以直接在搜索頁面回答問題的系統。蘋果剛剛發佈 Siri,谷歌領導層決定這是緊急情況。Uszkoreit 事後看來,這種恐慌是沒有根據的。但它在一個致力於可以進行類似對話的機器的團隊後面投入了資源,這就是他撞上牆的地方。
循環網絡,即使加上了長短期記憶,也無法將長段落連在一起。經典演示是一個句子,其中早期陳述的事實決定了後期陳述的短語的含義,而模型從左到右行進,到達後期短語時必須仍然攜帶早期事實。LSTM 使這對比普通循環允許的更長跨度成為可能。它們沒有讓它在 Uszkoreit 想要的規模上工作。他對當時領域工具包的自我評估是,他應用的方法用他的話說"基本上是創可貼"。
2014 年左右,他開始開發一個他稱為自注意力的替代方案:讓模型通過直接引用段落的任何其他部分來翻譯一個詞,根據每個部分對手頭詞的澄清程度對其加權。他對此懷疑兩件事。第一是它可能簡單地工作得更好。第二個不太明顯但事實證明更重要。自注意力同時查看許多輸入而不是按順序,這意味著它的形狀與機器學習熱潮正在大量生產的並行處理芯片完全一樣。機制和硬件是為彼此而建的。沒人這樣設計過。
反應很冷淡。放棄循環意味著丟棄整個領域花了多年完善的架構,Uszkoreit 的說法是人們對這個建議揚起了眉毛。懷疑者包括他的父親,用他自己的描述,他與父親在餐桌上並沒有完全看對眼。
他說服了幾個同事無論如何都要做實驗。結果足夠有希望在 2016 年小規模發表,只使用短文本跨度。那篇論文是 Ankur Parikh、Oscar Täckström、Dipanjan Das 和 Jakob Uszkoreit,"一個可分解的注意力模型",在 EMNLP 2016 上發表。它用注意力而完全沒有循環執行自然語言推理。
然後他的合作者繼續前進。這項技術足夠好可以部署,所以他們去部署了,遍及谷歌搜索和最終廣告。按標準衡量,這是成功。Uszkoreit 是唯一一個認為小實驗暗示大實驗的人。
這就是為什麼,當"注意力就是你所需要的一切"在一年後出現,其引言承認注意力幾乎總是與循環網絡結合使用時,附在除少數情況外這個短語上的引用就是那篇 2016 年的論文。規則的例外,坐在參考文獻二十七的書目中,是即將打破它的人的工作。
一個咖啡館、一條走廊、一臺咖啡機
Transformer 是從偷聽的對話中組裝起來的。這不是修飾;這是參與者描述的。
2016 年在谷歌咖啡館的午餐時,Uszkoreit 聽到 Illia Polosukhin 抱怨為搜索頁面構建直接答案的團隊,它必須在毫秒內返回結果但沒有成功。Uszkoreit 的建議是自注意力。Polosukhin 有時與 Ashish Vaswani 合作,後者從南加州大學機器翻譯博士學位來到 Google Brain,正在尋找一個大問題。Vaswani 的大樓就在 Polosukhin 旁邊。他聽說了這個想法並加入了。
他們三人寫了一份設計文檔。標題中的名字一開始就選定了,理論是這個機制轉換了通過它的信息,也因為 Uszkoreit 小時候擁有過兩個變形金剛玩具。文檔以他們六個在山裡互相射激光的畫結尾。開場句告訴讀者作者們很棒。
Niki Parmar 從谷歌搜索加入,她一直在那裡與 Uszkoreit 構建模型變體。Llion Jones 從同事 Mat Kelcey 那裡聽說了自注意力並加入;Kelcey 後來聽取了項目簡報,告訴 Jones 他懷疑它會起作用,現在將此描述為他一生中最不正確的預測。Łukasz Kaiser 從 Google Brain 關於語言模型的單獨努力到來,帶著他的實習生 Aidan Gomez,一個本科生,通過談話進入了為博士生保留的職位,幾個月內都不會發現這一點。Kaiser 和 Gomez 決定將他們的項目合併到另一個項目中。
Polosukhin 在 2017 年初離開谷歌創辦自己的公司,這就是為什麼論文的署名欄沒有他的隸屬關係。
然後小組撞上了牆。他們構建了一個自注意力翻譯模型,根據標準基準測量它,發現它大致與當時最好的 LSTM 系統持平。持平。不是領先。一個丟棄領域積累的先驗並返回平價的激進架構不是結果。這是留在原地的昂貴方式。
牆倒塌是因為一個人走過一扇門。
Noam Shazeer 自 2000 年以來一直在谷歌,並且有追溯到公司早期廣告系統的聲譽。他在深度學習上花了五年時間,對語言模型產生了興趣,在他看來,語言模型遠未達到他認為可以實現的流暢性。走過 1965 號樓的走廊,他路過 Kaiser 的工作區,無意中聽到 Vaswani 和 Parmar 激烈地談論自注意力。他覺得循環網絡很煩人。替換它們的提議在他看來既正確又有趣。
Uszkoreit 對 Shazeer 貢獻的說法值得仔細陳述,因為它描述了領域很少談論的東西。在理論上合理的機制,他說,往往需要少數有經驗的人非常仔細的實現,才能顯示出任何工作跡象。Shazeer 沒有調試團隊的代碼。他讀了這個想法,從頭開始寫了自己的實現,偶爾與 Kaiser 核實,消失了一段時間,然後帶著一個有效的版本回來。他的同事用魔法和鍊金術這樣的詞描述他所做的。Jones 簡單地稱他為巫師。
Shazeer 添加的具體東西是本系列接下來三篇文章的主題。論文的學分腳註將縮放點積注意力、多頭注意力和無參數位置表示分配給他,這些是第 2、3 和 4 部分的錨文本。一個人,在衝刺中,產生了本系列拆解的四個組件中的三個。
賭注實際是什麼
摘要用一句話陳述了立場。作者提出了一種僅基於注意力機制的新簡單網絡架構,完全放棄了循環和卷積。
那裡起作用的詞是完全。
移除循環
移除循環本身並不是激進的部分。其他人也在嘗試。論文第 2 節列舉了它們:Extended Neural GPU、ByteNet 和 ConvS2S,它們都用卷積替代循環來並行計算所有位置的表徵。作者承認,減少順序計算這一目標本身就是那些工作的基礎。
但卷積是以代價換來了並行性,論文對這個代價有精確描述。在這些模型中,關聯任意兩個位置所需的操作數隨距離增長:ConvS2S 是線性增長,ByteNet 是對數增長。仍然不是免費的。長句子兩端的兩個詞連接起來仍然很昂貴,論文引用了標準結論:更長的路徑使長程依賴更難學習。
自注意力把這個問題壓縮到常數級。任意位置到任意其他位置,一步,無論距離多遠。表 1 將三種層類型並排展示,重要的那一列是最大路徑長度:循環是 n 階,卷積是 log n 階,自注意力是 1 階。
這就是那個賭注。不是說注意力有用——這一點業界已經相信。賭注在於常數路徑長度的價值大到可以拋棄業界積累的所有其他結構先驗,仍然能勝出。
論文沒有隱藏它放棄了什麼。在常數操作量聲明之後兩句話,就有一個承認,這在後來的總結中很少被保留:常數代價是以降低有效分辨率為代價的,因為注意力對加權位置求平均。多頭注意力的存在就是為了抵消這一點。論文在第二頁就告訴你,它的核心機制會造成模糊,而它最受讚譽的組件之一其實是個補丁。第 3 部分會回到這個問題。
還有第二個代價,寫在表 1 中並在第 4 節中辯護,論文將其視為合理的權衡,而接下來十年將其視為 AI 基礎設施的核心問題。自注意力每層的複雜度是 n 平方乘以 d。論文的辯護是,對於翻譯中句子長度的輸入,n 通常小於 d,這在 2017 年是真的,但當有人想餵給模型一本書時就不再成立了。第 7 部分會收取這筆賬。
十二小時
截止日期是 5 月 19 日,為 12 月的會議投稿。最後兩週在 1965 號樓度過,部分因為團隊有些人在那裡有桌子,部分因為那裡的意式濃縮咖啡機比 1945 號樓的好。實習生 Gomez 描述了一段持續調試的時期,沒人睡多少覺,系統性地移除組件看模型沒有它們是否還能工作。現在被稱為 Transformer 的東西大部分是那個過程的殘留:那些無法被移除的部分。
然後數字出來了。
基礎模型在單臺機器上用 8 塊 NVIDIA P100 GPU 訓練了 10 萬步。掛鐘時間 12 小時。這個模型超過了所有此前發表的英譯德模型和集成。大模型在同樣的 8 GPU 機器上訓練了三天半,達到 28.4 BLEU,超過此前最好結果(包括集成)整整兩個點以上。Uszkoreit 開了一瓶他一直放在山地探險卡車裡的香檳慶祝。
現在看錶 2,論文中最安靜也最有殺傷力的表。它列出了浮點運算的訓練成本。當時競爭性的集成系統在 1.1×10²¹ 到 7.7×10¹⁹ 之間。Transformer 大模型是 2.3×10¹⁹,基礎模型比這還低一個數量級。新的最優結果是由表中最便宜的系統創造的。
一個花了多年用規模換質量的領域,被展示了一個用結構換質量的模型。而且因為這個結構能幹淨地映射到並行硬件上,同樣的架構後來會成為花費算力的理想載體,一旦有值得花費的算力。2017 年的結果讀起來是個效率故事。回頭看它是個披著效率故事外衣的容量故事。
論文提交時大約還剩兩分鐘。Parmar 說英譯法的數字在提交前約五分鐘到達,她坐在小廚房等最後一個數字。這或許解釋了發表論文中至今仍存在的一個小不一致:摘要和表 2 報告英譯法分數是 41.8,而第 6.1 節報告是 41.0。現代機器學習中最有影響力的論文包含一個自相矛盾的數字,因為實驗在正文寫完後才完成。
標題在截止前幾個晚上定下來。威爾士人 Jones 指出,團隊拒絕了業界公認的做法而選擇單一技術,而披頭士已經為他們寫好了那句話。他說這個想法花了大約五秒,他沒想到會有人用它。
他們用了。
回到猴子
Transformer 為每個位置計算的是對所有其他位置的加權和,權重由 softmax 產生。softmax 不只是排序。它壓制。提高一個分數,分佈中所有其他分數都會下降,因為總和被固定為 1。架構核心的這個機制是競爭性的,它的輸出由它驅向零的東西和它提升的東西共同定義。
這正是 Moran 和 Desimone 在 V4 神經元中發現的,當兩個物體在其感受野中時。這正是 James 描述的從某些事物撤退以有效處理其他事物。
聲稱 2017 年的作者在實現 James 會太過分。他們不是。查詢、鍵和值來自信息檢索而非心理學,第 2 部分會正確追溯那個譜系。但他們選擇的詞也不是偶然,這個領域已經打磨了背後的概念一個世紀。當 Anne Treisman 和 Garry Gelade 在 1980 年發表特徵整合理論時,他們論證特徵在早期並行登記,注意力是將它們綁定成物體的操作。並行登記,然後選擇性綁定。這是對 Transformer 層的描述,由研究人類視覺的人在三十七年前寫下。
這種趨同是關於智能的真實事實還是詞彙的偶然,是本系列最後的問題。第 8 部分會嘗試回答。
不過有個更好的結尾,發生在 2017 年 12 月的會議海報展示環節。房間滿了四個小時。保安最後不得不清場。那天晚上某個時刻,一個男人走到海報前告訴作者們他對這項工作印象深刻,那個人是 Sepp Hochreiter。
Hochreiter 共同發明了長短期記憶網絡。他來祝賀剛剛讓它過時的人們。
賭注。循環對序列建模不是必需的。完全建立在注意力之上的架構,沒有任何循環或卷積層,可以匹配並超越最優水平,任意兩個位置間的常數路徑長度比所有被拋棄的結構先驗更有價值。
回報。贏了,而且比作者預期的更快。大約兩年內這個架構就在自然語言處理中取代了循環模型。此後構建的前沿語言模型都是它的後代。論文在結論中自己聲明的雄心是將這個方法擴展到其他模態並讓生成不那麼順序化。它得到了一個產業。
狀態。已結算,有一個星號。這個賭注是在論文明確做出併為 2017 年正確定價的權衡上贏的:用序列長度的二次代價換常數路徑長度。今天 AI 中所有長上下文問題都是那個權衡的利息支付。第 7 部分會收取它。
歡迎加入深潮 TechFlow 官方社群
Telegram 訂閱群:https://t.me/TechFlowDaily
Twitter 官方帳號:https://x.com/TechFlowPost
Twitter 英文帳號:https://x.com/BlockFlow_News













