Jeff 的成長曆程
Jeff Dean 於 1968 年 7 月出生於夏威夷。他的父親 Andy 是一名熱帶疾病研究員;母親 Virginia Lee 是一位醫學人類學家,會說六種語言。
為了好玩,Jeff 的父親曾帶著小 Jeff 一起設計了一臺 IMSAI 8080 工具包電腦,他們在機器上進行焊補更新,掌握了機器的每個零件。
13歲時,他跳過了 8 年級最後三個月的課程,去索馬利亞西部的一個難民營做義工。後來,在高中時,他開始為流行病學家編寫了一個名為 Epi Info 的資料收集程式;這個工具後來成為野外工作的一個標準工具,最終以十幾種語言分發了幾十萬份。
美國疾病控制與預防中心運營的一個網站“the Epi Info Story”上 Jeff Dean 高中畢業時的照片
Jeff 的博士期間主要研究編譯器,這是一種將人類編寫的程式碼轉換成針對計算機優化的機器語言指令的軟體。
谷歌的高階副總裁 Alan Eustace 說:“就性感程度而言,編譯器相當無趣。但是另一方面,它會讓你‘非常接近機器’。”可能受「編譯器」的影響, Jeff 也變得「非常接近機器」,他的摯友 Sanjay 就曾說過:“在編寫程式碼時,Jeff 會有一個模型,他幾乎可以半自動化的思考所有細微的情況。”
我們都知道,谷歌的工程師是分級別的,從 1 級 到 10 級。
最底層的 1 級是 IT 支援人員;2 級是剛從大學畢業的學生;3 級通常擁有碩士學位;達到 4 級需要幾年時間,或者一個博士學位;6 級工程師(前10%)的能力非常強,通常是專案主管;從 6 級升到 7 級需要很長時間的貢獻記錄;
8 級是首席工程師,是主要產品或基礎設施的負責人;9 級是傑出工程師,是備受尊敬之人。最高是 10 級的 Google Fellow,這其實更像是一種榮譽,能伴隨一生的一項榮譽,通常頒發給某一領域的世界領先專家。
Jeff 在這個分級外,他是谷歌的高階 Fellow(Senior Fellow),也是谷歌公司僅有的 2 位 11 級工程師之一。
谷歌技術第一人
華盛頓大學博士、美國工程院院士、ACM(計算機協會) fellow、清華大學AI研究院計算機學科顧問、AAAS(美國科學促進會)fellow。
名譽滿身的 Jeff Dean 在谷歌負責過許多大型專案,支援谷歌執行的超大規模計算框架 MapReduce 和機器學習的標誌性軟體 TensorFlow 就是在他的領導下開發的。
有很多人認為,Jeff Dean 的存在是谷歌如此強大的原因,谷歌員工都把谷歌搜尋驚人的速度歸功於他。
因為 Jeff Dean 實在太過強大,以至於矽谷工程師們編出了不少關於他有多牛的笑話,比如:
“編譯器從來不給 Jeff Dean 編譯警告,而是 Jeff Dean 警告編譯器。”“在 2000 年後段,Jeff 碼程式碼的速度突然激增了 40 倍,原因是他把自己的鍵盤升級到了USB 2.0。”
“gcc 的 -O4 優化選項是將你的程式碼郵件給 Jeff 重寫一下”
“Jeff Dean 的鍵盤多達兩個鍵:1 和 0。”
“當 Jeff 聽 MP3 時,他檢視其中的二進位制內容然後在他腦子裡進行音訊解碼。”
玩笑歸玩笑,但自從 2011 年與吳恩達聯合創辦「谷歌大腦」後,Jeff Dean 深入參與了谷歌各項人工智慧技術的策劃與搭建,從 AutoML 到 TensorFlow 再到 TPU,不一而足,已然成為了谷歌人工智慧技術的代名詞。
其實 Jeff Dean 剛從華盛頓大學的計算機博士畢業時,就已經是美國頂尖的電腦科學家之一了。早在明尼蘇達大學讀計算機和經濟學本科時,Jeff Dean 的畢業論文內容就是研究如何並行訓練神經網路,這是人工智慧第一次熱潮中的熱門話題。
當 Jeff Dean 加入谷歌後,他的第一個主要工作是建立谷歌的廣告系統 Adsense —— 作為谷歌搜尋廣告,它是如今所有網際網路廣告的原型,其重要性簡直不言而喻。
之後,Jeff Dean 又用了四五年的時間來開發谷歌的檢索、索引和搜尋系統,利用著名的 Pagerank 搜尋演算法,一舉成為最優秀的搜尋引擎公司。
在此之後,Jeff Dean 一直在和 Sanjay Ghemawat 等同事一起開發谷歌用來儲存和處理大型資料集與做構建搜尋索引或處理衛星影象等事情的軟體基礎設施。2009 年,Jeff Dean 當選美國工程院院士。
2011 年,正是如今這波人工智慧狂潮的開端之年。2011 年初,Jeff Dean 與吳恩達主導建立了“谷歌大腦”(Google Brain)這一奠定了谷歌人工智慧領先地位的重要部門,此後又相繼有Greg Corrado、Quoc Le、Geoffrey Hinton、Ian Goodfellow 等重量級大牛的加入。
谷歌大腦構建起了基於大規模分散式運算和大資料的谷歌大腦的基礎體系,並運用深度神經網路技術,將人工智慧在谷歌產品中的運用帶上了新的臺階。
這其中最為出名的一個例子就是,2012年時,Jeff Dean 與吳恩達的團隊通過深度學習技術,成功讓 16000 箇中央處理器核心在學習 1000 萬張圖片後,成功在 YouTube 視訊中認出了貓的影象,這在當時業界引起了極大的轟動。
此後,他又領導開發了谷歌機器學習的標誌性軟體 TensorFlow、支援谷歌執行的超大規模計算框架 MapReduce 等重要專案。2015年11月,TensorFlow 正式開源釋出,目前已經是深度學習領域佔據絕對統治地位的框架。
Jeff Dean 表示,作為谷歌整體人工智慧計劃的一部分,谷歌大腦團隊致力於通過研究和系統工程,提升人工智慧的技術水平。在過去的幾年裡,谷歌大腦在提升機器智慧這個長期研究專案上繼續取得進展,並與谷歌和 Alphabet 的多個團隊合作,使用研究成果來改善人們的生活。
谷歌雙子星
開頭我們提到,Jeff 是谷歌公司僅有的 2 位 11 級工程師之一,另一位就是他的摯友,和他並稱為「谷歌雙子星」的 —— Sanjay。
《紐約客》雜誌去年曾發表長文,描寫了谷歌公司這兩位最重要的程式設計師不為人知的友情故事:Jeff Dean 和 Sanjay Ghemawat。兩人的友誼已經持續20年,他們都是天才的程式設計師,工作上是最默契的搭檔,生活上情同手足。
SanJay 喜歡清靜,在谷歌,他的周圍總是籠罩著神祕氣氛。他雖然沉默寡言,但思路異常清晰。在他的桌子上,放著一堆 Mead 筆記本,這些筆記本可以追溯到 20 年前,裡面寫滿了整齊的清單和示意圖。他喜歡用鋼筆和草書寫字。雖然很少翻閱以前的筆記本,書寫也只是為了思考。
不管是在谷歌內部還是媒體的宣傳當中,Jeff 的名氣都要比 Sanjay 大得多。但對於熟悉他們兩人的人來說,Sanjay 絕對是不輸 Jeff Dean 的天才,並且兩個人非常互補。
在生活中,Jeff 更外向,Sanjay 更內向。在程式碼中,情況正好相反。Jeff 的程式設計令人眼花繚亂,他能迅速勾勒出令人吃驚的想法,但由於編得很快,程式碼可能令讀者費解,而 Sanjay 的程式碼則易於理解。
在一起工作的這 20 年,他們沒有互相提高過嗓門,靠著一種獨有的默契相互成就。紐約客的長篇報導中就講過一些他們之間有意思的故事。
一個週一的早晨,Jeff 和 Sanjay 站在谷歌人工智慧部門所在的 40 號樓的廚房裡。在他們身後,一塊白板上寫滿了矩陣代數;桌上放著一篇關於無監督對抗網路的論文。Jeff 穿著一件褪了色的 T 恤和牛仔褲,看上去像一個改過自新的海灘流浪漢;Sanjay 穿著毛衣和灰色褲子。明亮的窗戶映出一排高大的松樹,遠處是一片田野。在小廚房的櫃檯上,咖啡機嗡嗡作響。
喝完卡布奇諾後,他們走到電腦前。Jeff 把一張椅子從自己凌亂的桌子邊拉到 Sanjay 的桌子旁,Sanjay 的桌子則一塵不染。他把一隻腳擱在檔案櫃上,身子往後一靠,Sanjay 在他們面前的螢幕上工作。他開啟了四個視窗:左側是一個Web瀏覽器和一個終端,用於執行分析工具;右側是文字編輯器Emacs中的兩個文件,一個是待辦事項列表和筆記本的組合,另一個則滿是各種顏色的程式碼。Sanjay的筆記本就放在電腦旁。
“好了,我們要做什麼?”Sanjay 問道。
“我想我們正要看 TensorFlow Lite 的程式碼大小,”Jeff 說。
這是一個機器學習的新軟體專案,Jeff 和 Sanjay 擔心它過於臃腫;像圖書編輯一樣,他們想要削減程式碼量。為此,他們構建了一個需要優化的新工具。
“我得看看它有多慢,”Sanjay 說。
“超級慢,”Jeff 說。他身體前傾,仍然很放鬆。
“120 千位元組,大概是 8 秒。”Sanjay說。
“12 萬個堆疊呼叫,”Jeff 說,“不是千位元組。”
“額, 千位元組的文字,應該是。”Sanjay 說。
“好吧,我的錯。”Jeff 說。
“我不太清楚應該為一個單元的大小選擇什麼門檻。”Sanjay 說,“0.5 兆位元組?
“看起來不錯,”Jeff 說。Sanjay 開始敲程式碼,Jeff 的目光放在了螢幕上。“所以你的意思是,如果它比那個大,我們就取樣……”他沒有說完;Sanjay 用程式碼回答了他。
很快他們到達了一個小小的里程碑,Sanjay 輸入一個命令來測試進展。他看起來疲憊不堪,在程式執行時他 check 了一下郵件。測試結束了,他也沒有注意到。
“嘿,”Jeff 說。他打了個響指,然後指向螢幕。
雖然平常談話時他經常講笑話和雙關語,但在電腦前,他就變得固執、粗魯,意見也經常合不來。Sanjay 對此泰然處之。當他覺得 Jeff 動作太快時,他會把雙手從鍵盤上抬起來,攤開手,好像在說:“停一下。”(如果打個比方,Jeff是油門,Sanjay就是剎車。)
這是他們最接近爭論的時候了。
表面上看,他們的工作都是細枝末節。然而,他們的程式碼在整個谷歌公司範圍執行。他們所擔心的千位元組或是微秒的問題會在世界各地的資料中心被放大無數倍。
有時,Jeff 回到家會告訴他的女兒們,“Sanjay 和我今天把谷歌搜尋速度提高了 10%。”
後話
谷歌 CEO Sundar Pichai 曾說過「谷歌將會變成一家人工智慧優先的公司」,作為系統和基礎設施組(Systems and Infrastructure Group)的高階成員,谷歌的「唯一黑科技」,Jeff 和他的團隊,可能是實現這個目標不可或缺的一部分了。
除了工作,Jeff Dean 的人生目標之一是在每個大陸上踢足球和籃球。到目前為止,他已經在北美,南美,歐洲,亞洲和非洲這樣做了。不過,我擔心南極洲可能會很艱難,但隨著技術的進步、科技的發展,誰又說的準呢?
部分素材來源:The New Yorker:《The Friendship That Made Google Huge》
Google AI Blog:《Looking Back at Google’s Research Efforts in 2018》
機器之心:《Jeff Dean的激盪人生:我和Sanjay在同一臺電腦上寫程式碼》
量子位:《獨家專訪Jeff Dean:TensorFlow不追求一家獨大》
知乎話題:有誰可以介紹一下谷歌大牛Jeff Dean以及與他相關的事蹟麼?
關注 SegmentFault 官方公眾號 獲得更多精彩諮詢
更有官方周邊(微軟、谷歌、GitHub 等)、技術圖書、趣味貼紙等小禮物免費領取哦!