AI 論文只寫 8 頁就得了年度最佳獎,Google 大腦團隊領導人 Jeff Dean 到底有多強? | TechOrange 科技報橘
Search
Close this search box.

AI 論文只寫 8 頁就得了年度最佳獎,Google 大腦團隊領導人 Jeff Dean 到底有多強?

【我們為什麼挑選這篇文章】 Jeff Dean,一個慣性低調,卻是 Google 基石等級的人物,他在 22 歲時的論文,只寫了八頁,卻拿下全年最佳的大學畢業論文。他的傳奇故事,從大學就開始了。(責任編輯:林子鈞)

22 歲時,你在幹嘛?

這兩天,現任 Google AI 掌門,傳奇一般的 Jeff Dean,再次收穫膜拜和引發熱議。全因他的大學畢業論文首次曝光。

這篇論文只有 8 頁。

卻成為 1990 年的最優等大學論文,被明尼蘇達大學圖書館保存至今。

同時這篇論文表明,整整 28 年前,Jeff Dean 已經在用 C 語言,為神經網路編寫並行計算的程式碼。

拜 Jeff Dean 教得眾人又沸騰了。

僅 8 頁的論文,卻拿下最優等論文

有位大概很年輕的網友,看了論文之後在 HackerNews 上發出感慨:不可思議,Jeff Dean 在 1990 年就開始對神經網絡感興趣。

一句話,引來眾多科普和追憶。總結起來,就是當時神經網絡正當紅。

有人感慨:「神經網絡那時候是一件大事,在 1980 年代後期非常熱門,那真是一段美好的時光。」

1990年,正值第二次 AI 寒冬之前,當時,神經網絡、Prolog、LISP 語言、模糊邏輯都正在流行,ANN 還沒有被 SVM 等超越,日本在 AI 領域還大有趕超美國之勢。

後來成為 Jeff Dean 同事(實習生 ^_^)的神經網絡之父 Geoffrey Hinton,當時也已經有很多重要研究發表,反向傳播也出現了。

Jeff Dean 這篇論文提到的兩種並行訓練方法,就都是基於反向傳播的。

網友 @silverlake 說,「我幾乎與 Dean 同齡,我的本科項目是用遺傳算法改進神經網絡。當時人工智能很流行,但不久之後冬天來了。」

1990 年代早期,對神經網絡和機器學習來說是一段非常有趣的日子。當時物體識別、手寫識別等都有出現,所有進展都在快速推進,但很快資金撤走了,項目全都陷入困頓。

「幸好後來 GPU、深度反向傳播的出現,數據量開始爆炸之後,神經網絡捲土重來。」網友@dekhn說。而對於那些在第二次 AI 寒冬中堅守至今的人來說,顯然已經得到了應有的回報。

回憶往事之外,不少人得出類似不忘初心,方得始終的結論。

比方 Jeff Dean 大學畢業論文中研究的問題,被指仍然是今天 TensorFlow 的重大問題之一。

「真正有趣和創新的早期工作,我認為這也解釋了為什麼 TensorFlow 不支持層內模型並行。令人驚訝的是,早期的經歷對我們的影響有多大。」網友 @scottlegrand2 評價。

確實如此。實際上大學畢業之後,Jeff Dean 並沒有一直沿著 AI 的方向繼續研究下去。隨後他的興趣轉向編寫高級面向對象語言的編譯器,並且在這個領域取得博士學位。

「然而那一絲覺得神經網絡很有意思的感覺,從來沒有真正消失過」,於是後來 Jeff Dean 又在 Google 內部主導神經網絡、人工智能的研究,並且和吳恩達、Greg Corrado 共同發起成立了 Google Brain 項目並且擔任負責人。

有人評價說,Jeff Dean 是一位具有編譯器優化專業知識的計算機科學家,而 TensorFlow 本質上是一種將神經網絡加速,轉化為與編譯器優化相關問題的嘗試。

當然,還有很多人注意到,這篇優秀畢業論文只有 8 頁

「一如既往,Jeff Dean 從不讓人失望。在年輕的時候就解決了一個負責的問題,獲得很好的結果,而且清楚簡潔的描述瞭解決方案。」網友 @halflings 留言說,「我的論文得有 60 頁,但價值不及這篇的千分之一。」

一個學術機構竟然允許提交這麼簡明的畢業論文,值得表揚。有人回憶起自己讀研時的經歷:幾乎每個修改我論文的人都想加一堆廢話。如果你想用一句話簡單描述,就會被拒。導師能允許他、甚至鼓勵他這麼高效精簡地溝通,對他真是太好了。

於是,大家開始好奇他導師是誰……

當然有答案。Jeff Dean 大學畢業論文的導師,是 Vipin Kumar。

Kumar 教授現在依然在明尼蘇達大學任教,研究數據挖掘、高性能計算和這些技術在氣候、生態系統、醫療方面的應用。他還曾在 1998年-2005 年期間,擔任美國陸軍高性能計算研究中心(AHPCRC)主任。

Jeff Dean 發推說,這篇論文他其實已經弄丟了,於是今年年初,他問當年在明尼蘇達大學的導師 Vipin Kumar 還有沒有這篇論文,當然,老師也沒有……

他們又去問了學校的榮譽畢業生項目(Honors Program),得到的答案是,紙質論文全都沒了。好在,圖書館掃瞄了一份 PDF,才讓這篇論文重見天日。

這篇論文在講什麼?

這篇已經快 30 歲的論文,是怎樣並行訓練神經網絡的?

Jeff Dean 探討了兩種基於反向傳播來平行訓練神經網絡的方法。

第一種是模式分割法(pattern-partitioned approach),將整個神經網絡表示在每一個處理器上,把各種輸入模式劃分到可用的處理器上;

第二種稱為網絡分割法(network-partitioned approach)流水線法(pipelined approach),將神經網絡的神經元分佈到可用的處理器上,所有處理器構成一個相互通訊的環。然後,特徵通過這個 pipeline 傳遞的過程中,由每個處理器上的神經元來處理。

他還構建了不同大小的神經網絡,用幾種不同的輸入數據,對這兩種方法進行了測試。

結果表明,對於模式分割法,網絡大、輸入模式多的情況下加速效果比較好;

而下面這張圖,是兩種方法的對比結果:

那時候,Python 公開版還沒發行,更沒有 TensorFlow、PyTorch 之類的框架。Jeff Dean 並行訓練神經網絡的測試代碼,都是用C語言寫的。

這些神經網絡本身、用來測試的配置,也有有濃厚的年代感。我們從論文裡能看到1990年的「大」神經網絡什麼樣:3 層、每層分別 10、21、10 個神經元的神經網絡,就算很大了。而Jeff Dean測試用的處理器,最多達到了 32 個。

這時的 Jeff Dean 應該還想不到,12年後,他會和吳恩達、Quoc Le 等人一起,用 16000個 CPU 核心,從海量數據中找出貓。

論文傳送門

Jeff Dean 是誰?他可是 Google 的基石

1969年生,49歲。

1996年博士畢業於華盛頓大學計算機系(UW)。

美國國家工程院院士,ACM Fellow,AAAS Fellow。

1999 年加入初創期的 Google,設計並部署了 Google 廣告、抓取、索引和查詢服務系統的大部分內容,以及位於 Google 大部分產品下方的各種分佈式計算基礎架構,也是 Google 新聞、Google 翻譯等產品的開發者。

發起創辦了 Google 大腦(Google Brain Team)。

發起打造了目前全球份額第一的深度學習框架平台 TensorFlow。

雖然官方 title 是 Google 高級研究員,但 Jeff Dean 在 Google 的地位僅次於創始人拉里·佩奇和謝爾蓋·布林。

在 2018 年 4 月,Google 內部架構調整,Jeff Dean 接管 Google 整個 AI 業務和團隊,據稱座位也與 Google 現任 CEO Pichai 相鄰。

△ Jeff Dean 的 LinkedIn 履歷

Jeff 到底是一個多神的人?

當然,如果你對這位低調的大神瞭解有限,是時候又要祭出圈內口口相傳的 Jeff Dean 的段子集了。

我們也當面向 Jeff 轉述過這些軼聞,他當時笑著回答說:謝謝大家的喜愛。

一起來看看這些軼聞吧:

During his own Google interview, Jeff Dean was asked the implications if P=NP were true. He said, “P = 0 or N = 1.” Then, before the interviewer had even finished laughing, Jeff examined Google’s public certificate and wrote the private key on the whiteboard.

當他被 Google 面試時,Jeff Dean 被問及如果 P=NP 意味著什麼。他說,「P=0 或者 N=1」。然後,在所有的面試官還沒笑完之前,Jeff 瞄了一眼 Google 的公共證書然後在白板上寫上了對應的私鑰。

Compilers don’t warn Jeff Dean. Jeff Dean warns compilers.(編譯器從來不給 Jeff 編譯警告,而是 Jeff 警告編譯器。)

The rate at which Jeff Dean produces code jumped by a factor of 40 in late 2000 when he upgraded his keyboard to USB 2.0.(在 2000 年後段,Jeff 打 Code 的速度突然激增了 40 倍,原因是他把自己的鍵盤升級到了 USB 2.0。)

Jeff Dean builds his code before committing it, but only to check for compiler and linker bugs.(Jeff 還是會在提交程式碼前把它們編譯一遍,不過這麼做的目的只是為了檢查下編譯器和連接器有沒有 bug。)

gcc -O4 emails your code to Jeff Dean for a rewrite.(gcc 的 -O4 優化選項是將你的程式碼郵件給 Jeff 重寫一下。)

Jeff Dean was born on December 31, 1969 at 11:48 PM. It took him twelve minutes to implement his first time counter.(Jeff 出生於 1969 年 12 月 31 日的下午 11 點 48 分,然後他花了整整 12 分鐘的時間實現了他的第一個計時器。)(背景:電腦中的計時器數值通常被設計為從 1970 年 1 月 1 日 0 點 0 分 0 秒到當前為止的秒數)。

When Jeff Dean designs software, he first codes the binary and then writes the source as documentation. (當 Jeff 寫軟件時,他是直接打機器碼的。寫源代碼只是為了作為文檔使用。)

Jeff Dean’s keyboard has two keys: 1 and 0. (Jeff 的鍵盤多達兩個鍵:1 和 0。)

When Jeff has trouble sleeping, he Mapreduces sheep.(當 Jeff 失眠時,他用 Mapreduce 屬羊。)(Mapreduce 是 Jeff 的作品之一,這個分佈式處理的框架算法是 Google 立足的根本之一)。

You name three pointers, Einstein, Euler, and Turing, when you de-reference them, all you get is Jeff Dean.(如果你命名三個指針分別為愛因斯坦、歐拉和圖靈,當你查看它們的指向時,你看到的都會是 Jeff。)

更多 Jeff Dean 的軼聞集,還可移步 Quora上的「谷歌大神 Jeff Dean 有多牛」合輯

好想進 Google

Google AI 部門新掌門人 Jeff Dean:聰明到智商打敗 AI 的男人

Google Brain 的 2017 年:用機器學習改變醫療、機器人等六大領域

矽谷今年最重要的項目是什麼?看臉書和 Google 老闆旁邊坐哪個團隊就知道了

(本文經合作夥伴 量子位 授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈Jeff Dean本科論文首次曝光!第一批90後出生時,他就在訓練神經網絡〉。)