Jeff Dean回憶谷歌趣事:吳恩達激勵自己繼續研究,Hinton曾是最強「實習生」
1999 年 8 月,Jeff Dean 加入了谷歌,成為早期第 20 號員工。他在 2011 年參與創立了 Google Brain 團隊,專注于智能機器領域的進展。自那時起,他的工作重心轉到了 AI 和 ML 領域的研究、系統和應用,并引領了更廣泛 AI/ML 和計算機科學研究社區的發展方向。
2020 年 12 月,Jeff Dean 獲得了 2021 年度 IEEE 馮諾依曼獎,以表彰他對大規模分布式計算機系統和人工智能系統科學與工程的貢獻。2023 年 4 月,谷歌宣布將旗下 Google Brain 和 DeepMind 合并,成立了 Google DeepMind。Jeff Dean 成為該部門的首席科學家。
作為谷歌的 AI「掌門人」,在谷歌工作了 25 年的 Jeff Dean 見證著 AI 發展的過去、現在與未來。在最近的一次訪談中,他和倫敦大學學院的副教授 Hannah Fry 暢談了谷歌 AI 布局的昨天、今天與明天。
在訪談中,Jeff Dean 開啟了回憶殺。
90 年代,神經網絡的性能有限。Jeff Dean 在本科時曾探索過大規模神經網絡,以失敗告終,后來在谷歌,是和吳恩達的一次談話激發了他繼續擴展神經網絡的想法。
彼時,大洋彼岸的 DeepMind 正在主攻強化學習,來谷歌訪問的史上最強 60 歲「實習生」Hinton(沒錯,就是深度學習之父)提議去考察,這才有了 Google 和 DeepMind 的強強聯合。如今,Scaling 和強化學習都讓 AI 的智能程度上了一個臺階。
Jeff Dean 還分享了一個有趣的事情,Gemini 這個名字是他提出的。Jeff Dean 表示 Gemini 代表雙胞胎,就像 DeepMind 和 Google Brain 的合并,代表著這兩個部門共同致力于一個雄心勃勃的多模態項目。
大家都在談論的 Transformer,Jeff Dean 也進行了簡單明了的介紹。
以下是訪談主要內容的摘錄:
重拾神經網絡,起因竟然是和吳恩達聊天?
主持人:你還記得你第一次接觸神經網絡是什么時候嗎?
Jeff Dean:神經網絡有著有趣的歷史。人工智能(AI)本身是一門相當古老的學科,早期的 AI 研究主要是試圖定義一系列規則,告訴我們世界是如何運作的。這一階段大概發生在 20 世紀 50 年代、60 年代和 70 年代。后來,神經網絡在 70 年代開始出現,并在 80 年代末和 90 年代初迎來了一波熱潮。
大約在 1990 年,我還是明尼蘇達大學的一名本科生。我當時正在上并行處理課程,學習如何將一個大問題分解為可以在不同計算機上獨立完成的小問題,然后讓這些計算機一起協作解決問題。
主持人:那聽起來有點像我們今天所說的并行計算能力不足的問題。你們當時是怎么讓計算機「像團隊一樣」工作的?
Jeff Dean:當時神經網絡是一種特殊的機器學習和 AI 方法,基于我們對大腦工作原理的粗略近似 —— 特別是人類或其他生物的大腦如何通過神經元協同工作。這就是為什么它們被稱為「神經網絡」,因為它們由人工神經元組成。每個神經元與其他神經元相連,通過信號傳遞來決定是否對某一特定輸入模式做出反應。
一個神經網絡通常有很多層次。較低層次的神經元學習識別一些簡單的特征,比如圖像中的色塊或邊緣。然后,較高層次的神經元會在這些簡單特征的基礎上學習識別更復雜的模式,比如物體的形狀,甚至是臉部的特征。
因此,通過構建這些分層的學習抽象,這些系統實際上可以發展出非常強大的模式識別能力。這就是 80 年代末和 90 年代初大家對神經網絡感到興奮的原因。
然而,當時的網絡規模非常小,只能識別一些手寫數字或非常簡單的人工模式,遠不能識別像人臉或汽車這樣的復雜對象。
人們當時很興奮,因為這些網絡可以解決一些基于邏輯規則的系統無法解決的問題。神經網絡可以泛化到處理凌亂的手寫字符,而基于規則的系統很難做到這一點。
在聽了兩次關于神經網絡的講座后,我對此產生了濃厚的興趣。我決定寫一篇關于并行訓練神經網絡的高級榮譽論文,因為我認為我們只需要更多的計算能力。如果我們可以使用系里的一臺 32 處理器的機器,是不是就能訓練出一個更大的神經網絡?這就是我花了幾個月時間研究的內容。
主持人:那有效果嗎?
Jeff Dean:是的,但不如我想象的那么好。我當時是個天真的本科生,認為 32 處理器就能讓神經網絡「嗡嗡作響」,快速運轉起來,但實際上,我們需要大約一百萬倍的計算能力,才能讓這些網絡真正解決實際問題。
不過,隨著摩爾定律帶來的 20 年計算進步,CPU 和其他計算設備變得越來越快,我們終于擁有了可以實際應用的系統,其計算能力是當時 32 處理器機器的一百萬倍。
后來我重拾對神經網絡的興趣是在遇到吳恩達之后。當時,他是斯坦福大學的老師,每周有一天在谷歌做顧問,我有一次在公司的微型廚房里遇見了他。我當時好像問了,「你在谷歌做什么工作?」他說,「我還沒有弄清楚,因為我剛來。但是我在斯坦福大學的一些學生在神經網絡方面取得了很好的成績?!刮艺f,「哦,真的嗎?那我們為什么不訓練一個非常大的神經網絡呢?」
這就是谷歌神經網絡工作的起源。然后我們成立了一個名為谷歌大腦的小團隊,開始研究如何利用谷歌的計算資源訓練非常大的神經網絡。所以我們建立了軟件基礎設施,使我們能夠獲取神經網絡描述,然后將其分解成可以在不同計算機上、由團隊的不同成員完成的片段。這些計算機以它們需要的方式相互交流,以解決如何在 2000 臺計算機上訓練單個神經網絡的總體問題。這是我們為真正擴大神經網絡訓練而開發的最早的軟件。它讓我們能夠訓練比現有神經網絡大 50 到 100 倍的模型。
主持人:這大概是 2011 年的時候,對嗎?
Jeff Dean:是的,那是在 2012 年初。
主持人:所以這是圖像識別領域取得重大突破之前的事情,對吧?這聽起來像是很早期的工作。在很多方面,你當時做的事情其實和你之前做的一樣,只不過是把多個計算機結合起來工作。
Jeff Dean:是的,就像我本科畢業論文里做的那樣。只不過這次做出的神經網絡真的能用了,因為我們的計算機變得更快,而且我們用了更多的計算機。
主持人:但在 2011 年,你覺得這是一場賭博嗎?
Jeff Dean:哦,是的,絕對是。我們當時構建了一個系統,用來訓練這些神經網絡,并嘗試不同的方法來分解這些網絡。我把這個系統命名為 DistBelief,一部分原因是因為許多人認為這不會真正起作用,另一部分原因是它是一個分布式系統,除了神經網絡之外,我們還想要訓練的是「信念網絡」。
谷歌收購 DeepMind,提議來自史上最強 60 歲「實習生」Hinton
主持人:這太驚人了。當這一切發生時,在大西洋彼岸,一家名為 DeepMind 的公司正在嶄露頭角。
2011 年,Demis Hassabis 創立了 DeepMind
Jeff Dean:是的。
主持人:你就是提出想去考察 DeepMind 的人,對吧?給我們講講這個故事吧。
Jeff Dean:好的。Jeffrey Hinton,他是非常有名的機器學習研究者。他在谷歌度過了一個夏天,那大概是 2011 年。我們不知道該如何給他定位,所以 Hinton 被歸類成實習生了。想想還挺好笑的。
主持人:歷史上最高級的實習生。
歷史上最高級的「實習生」
Jeff Dean:所以,他和我一起工作,不知怎地,我們發現了 DeepMind。Hinton 應該更了解 DeepMind,比如公司的構成。其他一些人也提到過,說:「哦,是的,英國有這么一家公司。」
主持人:當時 DeepMind 的規模還很小。
Jeff Dean:是的,當時他們大概只有 40 到 50 個人。所以我們決定代表公司,把他們當成潛在的收購對象考察。后來我在加州,Hinton 回到了多倫多,他要回去教課。
還有,Hinton 的背不好,所以他不能長時間坐飛機,因為他不能坐下來,他只能躺下或站起來。你在飛機起飛時站起來,機長可能要不開心了。那我們必須想辦法解決,于是我們在私人飛機上安排了一張醫療床。我們一群人從加州起飛,飛往多倫多,在停機坪上接上 Hinton,并把他安置到飛機上的醫療床上。
再一起飛到英國,降落在一個小機場。機場在郊區。我們上了一輛商務車,成群結隊地去參觀 DeepMind。當時 DeepMind 大概在羅素廣場附近辦公。前一天晚上我們坐飛機真的很累,但 DeepMind 帶來了連續 13 場 20 分鐘的講座,他們匯報各自的業務。
主持人:一個組一個組地來嗎?
Jeff Dean:是的。所以我們看到了 DeepMind 的工作成果。
主持人:當時時差還沒倒過來吧?
Jeff Dean:是的,時差還沒倒過來呢!
主持人:這好像情景喜劇的劇情。
Jeff Dean:沒錯。所以我們聽了一些他們正在研究的 Atari 的報告,后來他們也發表了如何運用強化學習讓 AI 學會玩舊版 Atari 2600 游戲的相關論文,比如「breakout」或者接乒乓球,各種各樣的有趣小游戲。
2016 年,DeepMind 為強化學習引入無監督輔助任務,使得人工智能的 Atari 游戲水平達到人類的 9 倍。
主持人:因為當時谷歌還沒開始做強化學習,對吧?
Jeff Dean:是的。我們當時主要都在擴大規模,大規模的監督和無監督學習。
主持人:強化學習更受獎勵的激勵。
Jeff Dean:是啊。我認為這些技術都有用,它們往往結合起來使用。我們可以這么來理解強化學習:有某些智能體要在某個環境中進行一些動作,每一步都有很多決策要做,有很多動作可以選擇。
例如,在圍棋游戲中,你可以把棋子放在棋盤里的任意位置,你可以上下左右移動 Atari 的操縱桿,你也可以按控制方向的按鈕。通常在這種情況下,你不會立即得到獎勵,比如在棋盤上放了一枚棋子,你不知道這一步走得好不好,直到整個棋局結束了才知道。
強化學習有一個有趣之處,它能夠處理較長的動作序列,并根據你做出這些動作時的預期程度,將獎勵或懲罰分配給你采取的動作序列。比如這是一個好的想法嗎?AI 按這個想法贏了,那就傾向這個方向一點;輸了,那就別太覺得那是個好主意。這大概就是強化學習的主要思想。這是個相當有效的方法,尤其是在不清楚這是否是個好主意的情況下。
相比之下,監督學習是你有輸入,并且有實際的輸出。舉一個經典的例子來說,這里有一堆圖像,每張圖片都標了一些特征。比如,這是一張圖,畫面中的物體是汽車。這是另一張圖,畫面中的物體是鴕鳥。這里有另一張圖,畫面中的物體是石榴。
主持人:你去 DeepMind 考察的時候,做了要收購的決定,那 Demis 緊張嗎?
Jeff Dean:他緊不緊張,我不知道。我當時說:「好,我聽過了這些精彩的演講,但是我能看一點代碼嗎?」因為我想確認這些演示背后確實有真實的代碼,并且看看他們的編碼標準如何,像是人們是否真的寫了注釋,類似這樣的東西。
Demis 有點不確定。我說:「不必給我看機密代碼,只需選擇一些代碼并向我展示?!?/span>
于是我和一個工程師走進一間辦公室,我們坐下來了 10 分鐘。我說:「好,這段代碼是做什么用的?」哦,原來是做這個的。那段是做什么用的?在哪里能向我展示這一功能的實現?我很滿意地走出了那間辦公室。
主持人:他們的代碼很整潔。
Jeff Dean:那是相當整潔。對于試圖快速發展的小公司來說,它是一種研究代碼,但你清楚地知道 DeepMind 的代碼有趣且有據可查。
主持人:我聽說你編寫代碼時,會添加一個名為「lgtm」的東西。
Jeff Dean:是的,對我來說很有用。我在現實生活中也用它,不僅僅是為了代碼審查。
主持人:好吧,那么在 DeepMind 展示的 PPT 中,有什么展示給你留下印象了嗎?
Jeff Dean:他們的工作看起來非常有趣,特別是在強化學習這方面。谷歌專注于擴大規模,所以我們訓練的模型比 DeepMind 的模型大得多。當時 DeepMind 正在做各種嘗試,但他們當時主要用強化學習解決 AI 玩游戲的問題。游戲是一個很好的、干凈的強化學習環境,但似乎結合了強化學習加上谷歌一直在做的擴展,最后的成果將會很驚艷。
主持人:這就像是對問題兩面夾擊,一方面通過強化學習,從微處著手,逐步構建;另一方面,從擴大模型的規模來解決問題。當你把各方面結合起來時, 便能釋放出強大的力量。
Jeff Dean:是的,確實如此。這也是我們去年將 DeepMind、Google Brain 和其他 Google 研究部門合并的主要原因。我們決定將這些部門合并在一起,成立 Google DeepMind。
構建 Gemini 的想法早于合并之前,我們都在嘗試訓練真正高質量、大規模、多模態模型。合并前是分散想法、各部門之間合作少、并分散寶貴的計算資源等是沒有意義的。我們應該把所有這些放在一起,建立一個聯合團隊來解決問題。
主持人:那為什么叫 Gemini?
Jeff Dean:實際上是我給起的名字。
Gemini 代表雙胞胎,就像 DeepMind 和 Google Brain 的合并,代表著這兩個部門真正開始合作并開展一個雄心勃勃的多模態項目,這是一個很好的名字。
Jeff Dean 對 Transformer 的看法
主持人:我想談談關于多模態的內容。但在此之前,我想公眾對聊天機器人和大型語言模型的認識發生如此巨大變化的一個重要原因是,谷歌在 Transformer 方面的一些工作,你能向我們介紹一下 Transformer 及其帶來的變革嗎?
Jeff Dean:當然。在語言和其他領域解決的問題,都是序列問題。例如,在 Gmail 中的自動補全功能,當你輸入一個句子時,系統能夠幫助你完成剩下的部分。這主要依賴于模型觀察到一部分序列后,預測接下來會發生的內容。這就是大型語言模型訓練的目的:它們通過逐個詞或詞的一部分輸入數據,然后預測下一個可能出現的內容,就像一個高級的自動補全功能。
事實證明這很有用,你也可以用這種方式模擬很多不同的問題。例如,在翻譯中,可以將其建模為接收一個英文句子,并訓練模型輸出對應的法語句子。只要有足夠的英、法句子對作為訓練數據,就可以按照序列來進行訓練。此外,這種方法也可以應用于醫療領域,比如預測一個患者根據他們報告的癥狀、實驗室檢測結果以及過去的病歷記錄,你可以將整個情況建模為一個序列,然后預測最可能的診斷。如果你有其他去標識化的數據可供訓練,這些數據也以序列的形式組織,你可以通過隱藏序列的剩余部分,迫使模型預測下一步會發生什么。這種方法不僅適用于語言翻譯和醫療設置,還適用于 DNA 序列等多種場景,非常有趣且廣泛適用。
在 Transformer 架構之前成功的模型是所謂的循環模型,這些模型具有某種內部狀態,每當它們看到一個詞時,就會進行一些處理來更新其內部狀態。然后繼續處理下一個詞,并重復這一過程。因此,它們會將狀態向前推進一點,并根據剛剛看到的下一個詞來更新狀態??梢詫⑦@個過程想象成一個包含 12 個詞的句子,你需要更新狀態 12 次,但每一步都依賴于前一步。這意味著要使其快速運行實際上相當困難,因為存在所謂的順序依賴性,其中第 7 步依賴于第 6 步,第 6 步依賴于第 5 步,依此類推。
因此,Google Research 的研究人員們想出了一個非常有趣的想法,那就是我們不要只更新一個單詞的狀態,而是一次性處理所有單詞。并且記住在處理每個詞時得到的狀態。然后在嘗試預測新詞時,關注所有之前的狀態,并學習如何關注重要部分。這就是 Transformer 中的注意力機制,用來預測下一個詞。在某些情況下,你可能需要非常關注前一個詞;在某些上下文中,關注上下文中的許多詞語都很重要。但關鍵的是,這個過程可以并行完成。你可以接收 1000 個單詞,并行計算每個單詞的狀態,這使得在擴展性和性能上比以前的循環模型提高了 10 到 100 倍。這就是為什么這一發現如此重要的原因。
我認為我們在 Google Brain 團隊中所做的語言建模工作實際上是對單詞進行建模,而不是對單詞的表面形式(如 hello)進行建模,實際上是對高維向量進行建模,該向量表示單詞的使用方式。我們人類習慣于在二維和三維空間中思考,但是當你有 100 個維度或 1,000 個維度時,一千維空間中就會有很多空間。你以某種方式訓練模型,cow、sheep、goat 和 pig 這些詞會彼此靠近,而與 espresso machine 這樣的詞相距甚遠,這種高維表示尤其顯得有意義。
主持人:milk 和 sweet milk 會比較接近。
Jeff Dean:雖然 milk 可能指的是 sweet milk,milk 在這種高維模型中可能更靠近 cow,但又位于兩者之間的某個位置。這正是這些模型擁有出人意料的強大能力的原因之一,因為它們用如此多的高維度來表示事物,使得它們能夠同時緊密地抓住一個詞、一個句子或一個段落的多個不同方面,因為在它們的表示路徑中有很多空間。這種表示方式從某種程度上提取了我們自己給語言賦予的基礎含義。
我們在聽到一個詞時,并不僅僅考慮這個詞的表面形式。比如 cow,它會觸發一系列其他事物的聯想,如 milk、espresso machine、milking、calf 和 bull。我們在早期詞表示中發現,方向具有含義。例如,如果你考慮動詞的現在時態,比如 walk,在這個百維空間中,從 walk 變為 walked 的方向,和從 run 變為 ran 的方向,以及從 read 變為 read 的方向是相同的。
這實際上表明它能夠理解,這里確實存在一種時態的表達方式。而且,這是從訓練過程中自然產生的,不是我們故意設定的。我們使用的訓練算法和語言中特定形式的多樣使用方式導致了這種現象的出現。例如,你還可以改變詞的性別,如從 cow 到 bull 的方向,和從 queen 到 king 或從 woman 到 man 的方向是相同的。
主持人:這確實令人驚訝。但我們目前討論的還只是語言。那么多模態的方面是如何改變的呢?它有什么不同?多模態模型能夠觸發與我們看到一頭牛時在大腦中產生的類似激活的東西,從 cow 這個詞,到聽到牛叫的聲音。
Jeff Dean:你希望訓練的模型能夠擁有這種聯合的意義和表達,不論它們是如何獲得輸入數據的。所以,如果模型看到一個視頻,里面是一頭牛在田野中行走,那么這應該在模型中觸發一系列與此相關的事物,基于模型構建的激活。這些模型通常是非常深層的。最低層通常具有非常簡單的表達,而模型中更高層次的層則在這些表達的基礎上構建,形成更有趣、更復雜的特征和表達組合,無論是詞語還是圖像。
我認為弄清楚如何將不同的模態整合到模型中,以及應該如何訓練一個多模態模型,確實比訓練一個單純的語言模型要復雜的多。但從中你可以獲得很多好處,例如有時能實現跨模態的遷移。我們現在看到關于牛的視覺內容實際上有助于語言信息的形成。也許你之前看到了許多關于牛在草地上的描述,但現在突然之間,模型看到了相關的圖像和視頻。它實際上能夠以一種方式將這些表征融合在一起,使得無論是看到 cow 這個詞還是相關的圖像,都能在模型內部觸發類似的反應。