從「撈一筆就跑」到AI先驅:Google Transformer 作者與 Jeff Dean 的深度對話
Google 首席科學家 Jeff Dean 與 Transformer 論文的共同作者 Noam Shazeer,近期接受了知名播客 Dwarkesh Patel 的專訪。這場長達兩小時的對話,不僅回顧了 Google 從 PageRank 到通用人工智能(AGI)的 25 年歷程,也深入探討了 AI 領域的諸多前沿議題。
算力“鈔”能力:AI 對話比讀書便宜百倍?
當人們還在驚嘆於 AI 的“燒錢”屬性時,Jeff Dean 卻給出了一個令人耳目一新的觀點:AI 推理的成本遠比想像中低廉。
他以閱讀和與 AI 討論書籍為例,進行了對比:
當前最尖端的語言模型,每次運算的成本約為 10^-18 美元,這意味著 1 美元可以處理 100 萬個 token。相比之下,購買一本平裝書的成本,大約相當於每 1 美元購買 1 萬個 token(將單詞數換算為 token)。
因此,與大模型對話的成本,實際上比閱讀書籍便宜了約 100 倍。
這一巨大的成本優勢,為通過增加推理算力來進一步提升 AI 智能,打開了廣闊的想像空間。
從基礎設施的角度看,推理計算的重要性日益凸顯,這可能會對數據中心的規劃產生深遠影響。
未來,我們或許需要專門為推理任務客製化硬體。正如 Google 初代 TPU,最初就是為推理而設計,後來才被改造為同時支援訓練。
推理需求的增長,可能意味著不同的數據中心無需持續通信,從而催生更分散式、非同步的計算模式。
在訓練層面,Gemini 1.5 已經率先邁出了這一步,開始利用多個大城市的計算資源,透過高速網路連接不同數據中心的計算結果,實現了超大規模的訓練。
對於大模型而言,訓練每一步的時間可能長達數秒,因此,即使網路延遲達到 50 毫秒,也不會對訓練產生顯著影響。
到了推理層面,則需要考慮任務對延遲的敏感程度。如果使用者期待即時響應,系統就需要針對低延遲效能進行優化。然而,也有一些非緊急的推理任務,例如複雜的上下文分析,可以承受更長的處理時間。
一個更靈活、高效的系統,或許能夠非同步處理多個任務,在提升整體效能的同時,最大限度地減少使用者等待時間。
此外,演算法效率的提升,例如使用較小的草稿(Draft)模型,可以有效緩解推理過程中的瓶頸。這種方法採用較小的模型生成潛在的 token,然後交由較大的模型進行驗證。這種並行化可以顯著加快推理速度,打破一次一個 token 的限制。
Noam Shazeer 補充道,在進行非同步訓練時,每個模型副本會獨立計算,並將梯度更新發送到中央系統進行非同步應用。儘管這種方式會導致模型參數出現細微波動,理論上可能產生影響,但實踐證明它是成功的。
相比之下,同步訓練模式能夠提供更穩定、可重複的結果,這也是許多研究者更傾向的選擇。
在談到如何確保訓練的可重複性時,Jeff Dean 提到了一種方法:記錄操作日誌,特別是梯度更新和數據批次的同步記錄。透過回放這些操作日誌,即使在非同步訓練的情況下,也能夠保證結果的可重複性。這種方法讓除錯變得更可控,避免了因環境中的其他因素導致結果不一致。
Bug 的意外之喜:噪音中的突破
Noam Shazeer 提出了一個頗具啟發性的觀點:
訓練模型時,我們可能會遭遇各種各樣的 bug。然而,由於模型對噪音的容忍度,它可能會自我調整,從而產生意想不到的效果。
甚至,有些 bug 會帶來正面影響。隨著規模的擴大,某些 bug 可能在實驗中表現出異常,讓研究人員發現新的改進機會。
當被問及如何在實踐中除錯 bug 時,Noam Shazeer 介紹說,他們通常會在小規模下進行大量實驗,以便快速驗證不同的假設。在小規模實驗中,代碼庫保持簡單,實驗週期縮短至一到兩個小時,而非數週,研究人員可以迅速獲得反饋並做出調整。
Jeff Dean 補充說,許多實驗的初期結果未必理想,因此,一些“看似失敗”的實驗,在後期仍可能為研究提供重要的洞見。
與此同時,研究人員也面臨著代碼複雜性的挑戰:雖然不斷疊加新的改進和創新是必要的,但代碼的複雜性也會帶來效能和維護上的難題。我們需要在系統的整潔性和創新的推進之間,找到一個平衡點。
模型架構的未來:有機生長,模塊協同
Jeff Dean 和 Noam Shazeer 一致認為,AI 模型正經歷著從單一結構向模塊化架構的重大轉變。
如 Gemini 1.5 Pro 等模型,已經採用了專家混合(Mixture of Expert)架構,允許模型根據不同的任務激活不同的組件。例如,在處理數學問題時,模型會激活擅長數學的部分;而在處理圖像時,則會激活專門處理圖像的模塊。
然而,現有的模型結構仍然相對僵化,各個專家模塊大小相同,缺乏足夠的靈活性。
Jeff Dean 提出了一個更具前瞻性的設想:未來的模型應當採用更“有機”的結構,允許不同的團隊獨立開發或改進模型不同的部分。
例如,一個專注於東南亞語言的團隊,可以專門改進該領域的模塊;而另一個團隊,則可以專注於提升代碼理解能力。
這種模塊化的方法,不僅能提高開發效率,還能讓全球各地的團隊都能為模型的進步貢獻力量。
在技術實現方面,模型可以透過蒸餾(Distillation)技術來不斷優化各個模塊。這個過程包括將大型、高效能的模塊蒸餾為小型、高效的版本,然後在此基礎上繼續學習新知識。
路由器可以根據任務的複雜程度,選擇調用合適規模的模塊版本,從而在效能和效率之間取得平衡。這正是 Google Pathway 架構的初衷。
這種新型架構對基礎設施提出了更高的要求。它需要強大的 TPU 集群和充足的高頻寬記憶體(HBM)支援。儘管每次調用可能只使用模型的一小部分參數,但整個系統仍需要將完整的模型保持在記憶體中,以服務於並行的不同請求。
現在的模型能夠將一個任務分解成 10 個子任務,並達到 80% 的成功率;而未來的模型,或許能夠將一個任務分解成 100 個甚至 1000 個子任務,成功率達到 90% 甚至更高。
“Holy Shit 時刻”:讓機器“看見”貓
回首過往,2007 年對於大語言模型(LLMs)而言,無疑是一個重要的里程碑。
當時,Google 使用 2 萬億個 token 訓練了一個 N-gram 模型,用於機器翻譯。
然而,由於依賴磁碟儲存 N-gram 數據,導致每次查詢需要大量的磁碟 I/O(例如,每單詞 10 萬次搜索),延遲極高,翻譯一個句子需要耗費 12 小時。
為了解決這一難題,Google 團隊想到了記憶體壓縮、分散式架構以及批處理 API 优化等多種應對策略:
- 記憶體壓縮:將 N-gram 數據完全加載到記憶體,避免磁碟 I/O;
- 分散式架構:將數據分片儲存到多台機器(如 200 台),實現並行查詢;
- 批處理 API 优化:減少單次請求開銷,提升吞吐量。
在這個過程中,計算能力開始遵循摩爾定律,並在之後逐漸呈現出爆發式增長。
從 2008 年末開始,得益於摩爾定律,神經網路真正開始發揮作用。
那麼,有沒有哪一個時刻,屬於那種讓人驚呼“Holy shit”(難以置信某項研究竟然奏效了)的瞬間呢?
不出所料,Jeff Dean 提到了 Google 早期團隊的一項研究:他們讓模型從 YouTube 影片幀中自動學習高級特徵(例如識別貓、行人),透過分散式訓練(2000 台機器,16000 個核心)實現了大規模無監督學習。
在無監督預訓練後,模型在監督任務(ImageNet)中的效能提升了 60%,這充分證明了規模化訓練和無監督學習的巨大潛力。
當被問及如今的 Google 是否仍然只是一家資訊檢索公司時,Jeff Dean 用了一大段話來闡述一個核心觀點:
AI 實現了 Google 的原始使命。
簡而言之,AI 不僅能夠檢索資訊,還能夠理解和生成複雜內容,而且未來的想像空間無限廣闊。
至於 Google 的未來將走向何方,“我不知道”。
不過,我們可以期待的是,未來將 Google 和一些開源代碼整合到每個開發者的上下文中。
換句話說,透過讓模型處理更多的 token,在搜索中進行搜索,來進一步增強模型的能力和實用性。
當然,這一設想已經在 Google 內部啟動了實驗。
事實上,我們已經在內部代碼庫上,為內部開發人員進行了關於 Gemini 模型的進一步培訓。
更確切地說,Google 內部已經實現了 25% 的代碼由 AI 完成的目標。
Google 往事:從“撈一筆就跑”到長相廝守
在這場對話中,兩位嘉賓還分享了許多與 Google 相關的趣聞軼事。
對於 1999 年的 Noam Shazeer 而言,他原本並未打算加入 Google 這樣的大公司,因為憑直覺認為去了也可能無用武之地。然而,當他看到 Google 製作的每日搜索量指數圖表後,立刻改變了主意:
這些人一定會成功,看起來他們還有很多亟待解決的難題。
於是,他帶著自己的“小算盤”加入了 Google(主動投遞了簡歷):
掙一筆錢,然後另起爐灶,開開心心地去搞自己感興趣的 AI 研究。
加入 Google 後,Noam Shazeer 結識了導師 Jeff Dean(新員工都會有一位導師),後來兩人在多個專案中展開了合作。
談到這裡,Jeff Dean 也分享了他對 Google 的認同感:
我喜歡 Google 對 RM 願景(響應式和多模態,Responsive and Multimodal)的廣泛授權,即使是一個方向,也能開展許多小專案。
這也為 Noam Shazeer 提供了充分的自由空間,以至於這位原本打算“幹一票就跑”的人,最終長期留在了 Google。
當話題轉向 Jeff Dean 時,他的一篇關於並行反向傳播的本科論文被再次提及。
這篇論文只有 8 頁,卻成為了 1990 年的最優等本科論文,被明尼蘇達大學圖書館珍藏至今。
在這篇論文中,Jeff Dean 探討了兩種基於反向傳播來並行訓練神經網路的方法:
- 模式分割法(pattern-partitioned approach):將整個神經網路表示在每一個處理器上,把各種輸入模式劃分到可用的處理器上;
- 網路分割法(network-partitioned approach)流水線法(pipelined approach):將神經網路的神經元分佈到可用的處理器上,所有處理器構成一個相互通信的環。然後,特徵透過這個 pipeline 傳遞的過程中,由每個處理器上的神經元來處理。
他還構建了不同大小的神經網路,用幾種不同的輸入數據,對這兩種方法進行了測試。
結果表明,對於模式分割法,網路規模大、輸入模式多的情況下,加速效果較為顯著。
當然,最值得關注的莫過於,我們能從這篇論文中看到 1990 年的“大”神經網路是什麼樣子:
3 層、每層分別有 10 個、21 個、10 個神經元的神經網路,就已經算很大了。
Jeff Dean 回憶說,他當時測試用的處理器,最多達到了 32 個。
(此時的他,應該還想像不到,12 年後,他會和吳恩達、Quoc Le 等人一起,用 16000 個 CPU 核心,從海量數據中找出貓。)
不過,Jeff Dean 坦言,如果要讓這些研究成果真正發揮作用,“我們需要大約 100 萬倍的計算能力”。
後來,他們又談到了 AI 的潛在風險,特別是當 AI 變得極其強大時,可能出現的反饋循環問題。
換句話說,AI 透過編寫代碼或改進自身演算法,可能進入一個不可控的加速改進循環(即“智能爆炸”)。
這將導致 AI 迅速超越人類的控制,甚至產生惡意版本。正如主持人打的比方,有 100 萬個像 Jeff Dean 這樣的頂尖程式設計師,最終變成了“100 萬個邪惡的 Jeff”。
(網友):新的噩夢解鎖了,哈哈!
最後,談及在 Google 最快樂的時光,兩人也分別陷入了回憶。
對於 Jeff Dean 而言,在 Google 早期的四五年時光裡,最快樂的莫過於見證 Google 搜索流量的爆炸式增長。
建造一個如今有 20 億人都在使用的產品,這簡直不可思議。
至於最近,則很開心能和 Gemini 團隊一起,構建出一些即使在 5 年前人們都不敢相信的東西,並且可以預見,模型的影響力還將持續擴大。
Noam Shazeer 也表達了類似的經歷和使命感,甚至還興致勃勃地提到了 Google 的“微型廚房區域”。
據介紹,這是一個大約有 50 張桌子的特殊空間,提供咖啡和小吃,人們可以在這裡自由自在地閒聊,碰撞出思想的火花。
一說到這裡,連 Jeff Dean 也情不自禁地手舞足蹈起來(doge)。