當(dāng)前位置: 微號(hào)推首頁(yè) > 微信營(yíng)銷案例

前百度員工李沐:博士這五年

微信公眾平臺(tái)編輯:微號(hào)推 0

編者注:前百度員工李沐剛從卡內(nèi)基梅隆大學(xué)(Carnegie Mellon University,簡(jiǎn)稱CMU)博士畢業(yè),這位大規(guī)模機(jī)器學(xué)習(xí)和優(yōu)化算法等方面的大牛,于2月6日(昨天)發(fā)表文章《博士這五年》,談及他是如何從百度到CMU,師從機(jī)器學(xué)習(xí)專家Alex Smola攻讀博士的。讀博5年期間,他還參加了百度少帥計(jì)劃、合伙創(chuàng)業(yè)以及最后的博士答辯經(jīng)歷。

 

在畢業(yè)論文答辯前,李沐想了兩個(gè)問題,一個(gè)是“博士收獲最大的是什么”,另一個(gè)是“如果可以重來(lái)會(huì)怎么辦”。他給出回答是,博士的五年的時(shí)間可以專注的把一些事情從技術(shù)上做到最好,做出新的突破,這個(gè)氛圍沒有其他地方能給予。如果當(dāng)年留在國(guó)內(nèi),從金錢或者影響力角度來(lái)看,說(shuō)不定現(xiàn)在已經(jīng)是土豪了。但他覺得還是會(huì)選擇讀博,以后還有大把時(shí)間可以賺錢,人一生要工作五十年,為什么不花五年來(lái)追求下理想和情懷呢?

 

正文如下:


前言

 

2012年8月提著一個(gè)行李箱降落在匹茲堡機(jī)場(chǎng)。沒找住的地方,也不知道CMU應(yīng)該怎么去。對(duì)未來(lái)一片迷茫,但充滿樂觀。 現(xiàn)在,剛完成了博士期間最后的一場(chǎng)報(bào)告,在同樣的機(jī)場(chǎng),不過(guò)是在等待離開的航班。

 

回想過(guò)去的五年,是折騰的五年,也是自我感悟和提升的五年。這里我嘗試記錄這五年主要做過(guò)的事情和其中的感想,希望對(duì)大家有所啟發(fā)。

 

第0年:3/11-8/12

 

我第一次申請(qǐng)美國(guó)的博士是在2011年,但拿到的offer并沒有特別合適的導(dǎo)師,于是就北上投奔文淵去了。 我當(dāng)時(shí)在百度商務(wù)搜索部門做廣告的點(diǎn)擊預(yù)估。具體是使用機(jī)器學(xué)習(xí)來(lái)預(yù)測(cè)一個(gè)廣告是不是會(huì)被用戶點(diǎn)擊。 這時(shí)候離“大數(shù)據(jù)”這個(gè)詞流行還有兩年,但百度那時(shí)候的數(shù)據(jù)即使現(xiàn)在來(lái)看仍然是大的。我的任務(wù)是如何高效的利用數(shù)百臺(tái)機(jī)器快速的在數(shù)十T的數(shù)據(jù)上訓(xùn)練出模型。

 

當(dāng)時(shí)產(chǎn)品用的算法基于LBFGS,我于是想是不是可以換個(gè)收斂更快的算法。沒幾天就找到個(gè)不錯(cuò) 。但實(shí)現(xiàn)上發(fā)現(xiàn)了各種問題,包括性能、收斂和穩(wěn)定性。而且那時(shí)有的就是一個(gè)裸的Linux和很老版本的GCC,什么都是需要從頭開始寫?;舜罅繒r(shí)間做系統(tǒng)優(yōu)化,算法改動(dòng),和線上實(shí)驗(yàn),最后一年后在整個(gè)廣告流量上上了線。

 

現(xiàn)在再回顧會(huì)覺得整個(gè)一年時(shí)間都在打磨各種細(xì)節(jié)上,有時(shí)候?yàn)榱?%的性能提升花上上千行代碼。這些都導(dǎo)致算法過(guò)于復(fù)雜,有過(guò)度設(shè)計(jì)之嫌。但深入各個(gè)細(xì)節(jié)對(duì)個(gè)人能力提升很大,而且很多遇到的問題成為了之后研究方向的來(lái)源。一些算法上的思考曾寫在這里,當(dāng)時(shí)候深度學(xué)習(xí)剛剛出來(lái),冥冥中覺得這個(gè)應(yīng)該是大規(guī)模機(jī)器學(xué)習(xí)的未來(lái),不過(guò)真正開始跟進(jìn)是好幾年以后了。

 

11年12月中的時(shí)候突然心血來(lái)潮隨手把材料重新寄了一遍,就選了CMU和MIT,結(jié)果意外收到了CMU的offer。有天在百度食堂同凱哥(余凱)和潼哥(張潼)吃飯,我說(shuō)收了CMU offer,在糾結(jié)去不去。他們立馬說(shuō)去跟Alex Smola啊,他要加入CMU了,我們給你引薦下。

 

記得是離開的前一天才開始打包行李,早上去公司開完會(huì),中午離職,跟小伙伴打招呼說(shuō)出個(gè)國(guó),然后就奔機(jī)場(chǎng)了。那天北京天氣特別好,完全不記得前一天霧霾剛爆了表。

 

第一年:9/12-8/13

 

第一年的主要事情是熟悉環(huán)境和上課。CMU課程比較重,博士需要學(xué)8門課,每門課工作量巨大。而且要求做兩門課助教,做助教比上課更累。

 

這一年上的課中對(duì)我最有用的是“高級(jí)分布式系統(tǒng)”。之前在上交ACM班的時(shí)候已經(jīng)學(xué)過(guò)很多質(zhì)量都還不錯(cuò)課,純知識(shí)性的課程一般對(duì)我?guī)椭淮?。但這門課主要是讀論文,然后大家討論。不僅僅是關(guān)于知識(shí),很多是對(duì)設(shè)計(jì)理念的領(lǐng)悟。大家知道對(duì)于系統(tǒng)而言,設(shè)計(jì)是一門藝術(shù)而不是科學(xué),這是設(shè)計(jì)者審美和哲學(xué)理念的體現(xiàn)。同時(shí)系統(tǒng)界歷史也是由一波又一波的潮流組成,了解歷史的發(fā)展以及其中不斷重復(fù)的規(guī)律非常有意義。

 

那年這門課上課老師是Hui Zhang(神人之一,20多歲就在CMU任教了,學(xué)生包括了Ion Stoica,他是Spark作者M(jìn)atei的導(dǎo)師),他有非常好的大局觀,對(duì)于“Why”這個(gè)問題闡述非常到位。我是通過(guò)這門課才對(duì)分布式系統(tǒng)有了比較清晰的認(rèn)識(shí)。兩年之后我偶然發(fā)現(xiàn)我的一篇論文也在這門課的閱讀列表里了,算是小成就達(dá)成 。

 

除了上課,更重要是做研究。我去CMU的時(shí)候Alex那時(shí)還在Google,而且沒經(jīng)費(fèi),所以把我丟給了 Dave Andersen。于是我有了兩個(gè)導(dǎo)師,一個(gè)做機(jī)器學(xué)習(xí),一個(gè)做分布式系統(tǒng)。

 

前面半年都是在相互熟悉的過(guò)程。我們每周會(huì)一起聊一個(gè)小時(shí)。前半年因?yàn)锳lex不在,所以我們只能視頻。Alex那邊信號(hào)經(jīng)常不好,而且他有德國(guó)和澳大利亞口音,外加思維跳躍,經(jīng)常我聽不懂他說(shuō)啥只能賣萌傻笑。還是靠著Dave不斷的打字告訴我Alex說(shuō)了什么才度過(guò)了前幾次的會(huì)。

 

兩個(gè)導(dǎo)師風(fēng)格迥異。Alex是屬于反應(yīng)特別快,通常你說(shuō)一點(diǎn),他已經(jīng)想好了接下來(lái)十點(diǎn),要跟上他節(jié)奏很難。一般拋出問題的時(shí)候他就想好了好幾個(gè)解決方法。這時(shí)候要證明自己的想法比他的更好不容易,需要大量的溝通和實(shí)驗(yàn)數(shù)據(jù)支撐。我想我大概是花了兩年證明了在某些方向上我的方案一般更好,所以這時(shí)候他就不那么hands-on了。

 

Dave不會(huì)給很多想法,但會(huì)幫助把一個(gè)東西理解透,然后講得很清楚。因?yàn)槲已芯糠较蛑饕菣C(jī)器學(xué)習(xí)上,前兩年基本都是我在教Dave什么叫機(jī)器學(xué)習(xí),而且是盡量不用公式那種教法。

 

我的第一個(gè)研究工作是關(guān)于如果劃分?jǐn)?shù)據(jù)和計(jì)算使得減少機(jī)器學(xué)習(xí)求解中的網(wǎng)絡(luò)通訊量。Alex體現(xiàn)了他的強(qiáng)項(xiàng),幾分鐘就把問題歸納成了一個(gè)優(yōu)化問題,然后我們?nèi)齻€(gè)各自提出一個(gè)解法。我做了做實(shí)驗(yàn)發(fā)現(xiàn)Dave的算法更好。接下來(lái)兩個(gè)月把算法做了很多優(yōu)化,然后又做了點(diǎn)理論分析就把論文寫了。

 

可惜這個(gè)想法似乎有點(diǎn)超前,雖然我們一遍又一遍的改進(jìn)寫作,但投了好幾個(gè)會(huì),審稿人就是不理解,或者覺得這個(gè)問題不重要。那個(gè)時(shí)候?qū)W術(shù)界已經(jīng)開始吹噓“大數(shù)據(jù)”,但我覺得其實(shí)大部分人是不懂的,或者他們的“大數(shù)據(jù)”仍然是幾個(gè)GB的規(guī)模,烤U盤需要十來(lái)分鐘的那種。

 

這是我在CMU的一個(gè)工作,我覺得挺有用,但卻是唯一沒能發(fā)表的。

 

當(dāng)時(shí)跟我坐同一個(gè)辦公室的是Richard Peng,他做的是理論研究。我經(jīng)常跟他討論問題,然后有了些想法合作了一個(gè)工作。大體思想是把圖壓縮的快速算法做到矩陣的低秩近似上。這個(gè)工作寫了三十頁(yè)公式,但沒有任何實(shí)驗(yàn),我主要當(dāng)做寫代碼間隙的悠閑娛樂,不過(guò)運(yùn)氣很好的中了FOCS。

 

坦白說(shuō)我不是特別喜歡純理論這種,例如在bound的證明中很多大量的項(xiàng)直接丟掉了,導(dǎo)致我覺得bound特別的近似。對(duì)于做系統(tǒng)的人來(lái)說(shuō),最后拼的是常數(shù)。這個(gè)工作中這種大開大合的做法我覺得很不踏實(shí)。所以我覺得以后還是應(yīng)該做更實(shí)在點(diǎn)的東西。

 

在CMU回到了去百度前的一周七天工作無(wú)休的節(jié)奏。每周至少80個(gè)小時(shí)花在學(xué)校。如果累了就去健身房,我一般晚上12點(diǎn)去。不僅是我一個(gè)人,大家都很努力,例如凌晨的健身房,早3點(diǎn)的辦公室,四處都可以見到中國(guó)或者印度學(xué)生。我那時(shí)候的室友田淵棟花在學(xué)校的時(shí)候比我多很多。

 

那一陣子有讀了很多關(guān)于優(yōu)化的文章。其中對(duì)我啟發(fā)最大的是Bertsekas寫于80年代末的那本關(guān)于分布式計(jì)算的書。此書可以認(rèn)為是MIT控制領(lǐng)域黃金一代研究成果總結(jié),換到現(xiàn)在仍然不過(guò)時(shí)。

 

受啟發(fā)我轉(zhuǎn)去研究異步算法,就是分布式下不保證數(shù)據(jù)的及時(shí)性來(lái)提升系統(tǒng)性能。我基于在百度期間做的算法,做了一些改進(jìn)和理論分析,然后投了NIPS。

 

投完NIPS就動(dòng)身去了Google Research實(shí)習(xí)。那時(shí)候Google Brain成立不久,在“宇宙的答案”42樓,包括Jeff Dean、Geoffrey Hinton、Prabhakar Raghavan好些大牛擠在一起,加起來(lái)論文引用率能超80萬(wàn)。

 

Alex跟我說(shuō),你去讀讀Jure Leskovec的文章,學(xué)學(xué)人家怎么講故事。我在Google也嘗試用了些用戶GPS數(shù)據(jù)來(lái)對(duì)用戶行為建模??墒菍懳恼碌臅r(shí)候怎么也寫不出Jure的那種故事感,發(fā)現(xiàn)自己不是那塊料。這篇文章因?yàn)橛昧擞脩魯?shù)據(jù),恰逢Snowden讓大家意識(shí)到隱私的重要性,歷經(jīng)艱辛刪了一半結(jié)果Google才允許發(fā)出來(lái)。有些累覺不愛。

 

不過(guò)在Google期間我主要時(shí)間花在研究?jī)?nèi)部代碼和文檔上。Google的基礎(chǔ)架構(gòu)很好,文檔也很健全。雖然沒有直接學(xué)到了什么,但至少是開了眼界。

 

第二年:9/13-8/14

 

這學(xué)期上了Tuomas Sandholm的機(jī)制設(shè)計(jì),此乃另一大神,例如最近德州撲克贏了專業(yè)選手,之前開公司也賣了上億。不過(guò)這門課我是完完全全沒學(xué)懂,連承諾的課程大作業(yè)都沒怎么做出來(lái)。之后的兩年里我一遇到Tuomas他都會(huì)問下有什么進(jìn)展沒。我只能遠(yuǎn)遠(yuǎn)看見他就繞開。

 

NIPS被拒了,發(fā)現(xiàn)審稿人不懂線程和進(jìn)程的區(qū)別,有點(diǎn)沮喪。隔壁實(shí)驗(yàn)室一篇想法類似但簡(jiǎn)單很多的論文倒是中了oral,所以那陣子壓力很大。Alex安慰說(shuō)這種事情常有發(fā)生,看淡點(diǎn),然后舉了很多自己的例子。

 

之后想了想,一篇好文章自然需要有足夠多的“干貨”,或者說(shuō)信息量, 但一篇能被接受的文章需要滿足下面這個(gè)公式:

 

文章的信息量 / 文章的易讀性 < 審稿人水平 * 審稿人花的時(shí)間

 

對(duì)于機(jī)器學(xué)習(xí)會(huì)議,因?yàn)橥陡辶看?,所以很多審稿人平均水平就?huì)下降。而且很多審稿人就花半個(gè)小時(shí)到一個(gè)小時(shí)來(lái)讀文章,所以公式右邊數(shù)值通常是很小,而且不是我們能控制。

 

如果文章的信息量不大,例如是改進(jìn)前面工作或者一些簡(jiǎn)單的新想法,那么公式成立的概率很大。而對(duì)于信息量大的文章,就需要努力提升易讀性,包括清晰的問題設(shè)定,足夠的上下文解釋等等。而前面投的那篇NIPS,以及更早的那個(gè)被拒工作,就是因?yàn)槲覀兗僭O(shè)了審稿人有足夠多的相關(guān)專業(yè)知識(shí),而我們?nèi)M(jìn)了太多干貨使得大家都讀糊涂了。

 

即使對(duì)于已經(jīng)發(fā)表的文章,上面那個(gè)公式同樣可以用來(lái)衡量一篇論文的引用率。例如經(jīng)常見到干貨很多的文章沒有什么人引用,而同時(shí)期的某些工作就是考慮了其中簡(jiǎn)單特殊情況,結(jié)果被大引特引。

 

接下來(lái)的半年我主要在做一個(gè)通用的分布式機(jī)器學(xué)習(xí)框架,是想以后做實(shí)驗(yàn)方便些。名字就叫parameter server,沿用了Alex 10年論文提出的名字?;撕芏鄷r(shí)間在接口設(shè)計(jì)上,做了好幾個(gè)版本實(shí)現(xiàn),也跑了些工業(yè)界級(jí)別的大規(guī)模的實(shí)驗(yàn)。

 

不過(guò)真正花了我大量時(shí)間的是在寫論文上。目標(biāo)是把這個(gè)工作投到OSDI上,OSDI是系統(tǒng)界兩大會(huì)之一。我們預(yù)計(jì)審稿人跟Dave兩年前狀態(tài)差不多,不會(huì)有太多機(jī)器學(xué)習(xí)和數(shù)學(xué)背景,所以需要盡量的少用公式。

 

整整一個(gè)月就花在寫論文上,14頁(yè)的文章滿滿都是文字和示意圖。不過(guò)努力沒有白費(fèi),最終論文被接受了。隨后又花了好幾周準(zhǔn)備大會(huì)報(bào)告上。相對(duì)于平時(shí)花一周寫論文,兩三天準(zhǔn)備報(bào)告,這次在寫作和報(bào)告水平上有了很大的提升。沒有放進(jìn)去的公式和定理投了接下來(lái)的NIPS,這次運(yùn)氣很好的中了。

 

有了文章后稍微心安了點(diǎn)可以更自由的做些事情。

 

寒假回了趟國(guó),跑去百度找了凱哥和潼哥。潼哥說(shuō)他最近有個(gè)想法,于是快糙猛的把實(shí)驗(yàn)做了然后寫了篇論文投了KDD。同時(shí)期Alex一個(gè)學(xué)生也把他一個(gè)一直想讓我做但我覺得這個(gè)小trick不值得我花時(shí)間的想法投了KDD,結(jié)果中了最佳論文。作報(bào)告那天我在的會(huì)場(chǎng)稀稀疏疏幾個(gè)人,他們隔壁會(huì)場(chǎng)人山人海。這個(gè)使得好長(zhǎng)一段時(shí)間我都在琢磨是不是還是要跟著導(dǎo)師走比較好。

 

那時(shí)凱哥在百度搞少帥計(jì)劃,覺得蠻合適就加入了。這時(shí)凱哥正帶著一大幫兄弟轟轟烈烈的搞深度學(xué)習(xí),我自然也是跳坑了。試過(guò)好幾個(gè)想法后,我覺得做做分布式的深度學(xué)習(xí)框架比較對(duì)胃口。我挑了CXXNet作為起點(diǎn),主要是因?yàn)楦炱姹容^熟。同時(shí)也慢慢上手跑一些Alexnet之類的實(shí)驗(yàn)。

 

我是因?yàn)樯賻浻?jì)劃才開始開始做深度學(xué)習(xí)相關(guān)項(xiàng)目,凱哥也很支持我做開源開發(fā)回饋社會(huì)而不是只做公司內(nèi)部的產(chǎn)品。但在少帥期間并沒有做出什么對(duì)公司有幫助的事,很是慚愧。

 

第三年:9/14-8/15

 

回CMU后Alex看見深度學(xué)習(xí)這么火,說(shuō)我們也去買點(diǎn)GPU玩玩。但我們比較窮,只能去newegg上掏點(diǎn)便宜貨。這個(gè)開啟了轟轟烈烈的機(jī)器折騰之旅。整個(gè)一年我覺得我都在買買買裝裝裝上。最終我們可能就花了小幾萬(wàn)刀攢出了一個(gè)有80塊GPU的集群?,F(xiàn)在想想時(shí)間上花費(fèi)不值得,而且為了圖便宜買了各種型號(hào)的硬件導(dǎo)致維護(hù)成本高。但當(dāng)時(shí)候樂在其中。

 

這一年寫了很多parameter server代碼,同時(shí)花了很時(shí)間幫助用戶使用這些代碼。很難說(shuō)做得很成功,現(xiàn)在想想有幾個(gè)原因。寫代碼時(shí)我會(huì)優(yōu)先考慮性能和支持最多的機(jī)器學(xué)習(xí)算法。但正如前面的錯(cuò)誤,忽略了代碼的易讀性,從而導(dǎo)致只有少部分人能理解代碼從而做一些開發(fā)。例如我嘗試讓Alex組的學(xué)生來(lái)使用這些代碼,但其中的各種異步和callback讓他們覺得很是難懂。其次是沒有人能一起審核代碼接口,導(dǎo)致這些接口有濃濃的個(gè)人味道,很難做到對(duì)所有人都簡(jiǎn)單明了。

 

不過(guò)幸運(yùn)的是找到一幫志同道合的小伙伴。最早是我發(fā)現(xiàn)天奇在寫xgboost的分布式啟動(dòng)腳本,我看了看發(fā)現(xiàn)挺好用,就跟他聊了聊。聊下的發(fā)現(xiàn)有很多基礎(chǔ)部件例如啟動(dòng)腳本,文件讀取應(yīng)該是可以多個(gè)項(xiàng)目共同使用,而不是每個(gè)項(xiàng)目都造一個(gè)輪子。于是跟天奇在Github上創(chuàng)建了一個(gè)叫DMLC的組織,用來(lái)加強(qiáng)合作和溝通。第一個(gè)項(xiàng)目是dmlc-core,放置了啟動(dòng)和數(shù)據(jù)讀取代碼。

 

DMLC的第二個(gè)新項(xiàng)目叫wormhole。想法是提供一系列分布式機(jī)器學(xué)習(xí)算法,他們使用差不多相同的配置參數(shù)來(lái)統(tǒng)一用戶體驗(yàn)。我把parameter server里面的機(jī)器學(xué)習(xí)相關(guān)算法移植了過(guò)來(lái),天奇移植了xgboost。Parameter server原有的系統(tǒng)代碼簡(jiǎn)化到了ps-lite。

 

中途我聽百度同學(xué)說(shuō)factorization machine(FM)在廣告數(shù)據(jù)上效果不錯(cuò),所以在wormhole上實(shí)現(xiàn)了下。針對(duì)分布式做了一些優(yōu)化,然后投了WSDM。前后沒有花到一個(gè)月,但神奇的竟然拿了最佳論文提名。

 

在wormhole的開發(fā)中發(fā)現(xiàn)一個(gè)問題,就是各個(gè)算法還是挺不一樣,他們可以共用一些代碼,但又有各自的特點(diǎn),需要特別的優(yōu)化來(lái)保證性能。這樣導(dǎo)致維護(hù)有些困難,例如對(duì)共用代碼的改動(dòng)導(dǎo)致所有項(xiàng)目都要檢查下??偨Y(jié)下來(lái)覺得一個(gè)項(xiàng)目最好只做一件事情。所以天奇把xgboost代碼放回原來(lái)項(xiàng)目,我也把FM獨(dú)立出來(lái)一個(gè)項(xiàng)目叫difacto。

 

通過(guò)一系列的項(xiàng)目,我學(xué)到的一點(diǎn)是,以目前的水平和人力,做一個(gè)通用而且高效的分布式機(jī)器學(xué)習(xí)框架是很難的一件事情。比較可行的是針對(duì)一類相似的機(jī)器學(xué)習(xí)算法做針對(duì)性的項(xiàng)目。這個(gè)項(xiàng)目的接口必須是符合這類算法結(jié)構(gòu),所以做算法開發(fā)的同學(xué)也能容易理解,而不是過(guò)多暴露底層系統(tǒng)細(xì)節(jié)。

 

真正的讓DMLC社區(qū)壯大的項(xiàng)目是第三個(gè),叫做MXNet。當(dāng)時(shí)的背景是CXXNet達(dá)到了一定的成熟度,但它的靈活性有局限性。用戶只能通過(guò)一個(gè)配置項(xiàng)來(lái)定義模型,而不是交互式的編程。另外一個(gè)項(xiàng)目是zz和敏捷他們做的Minerva,是一個(gè)類似numpy的交互式編程接口,但這個(gè)靈活的接口對(duì)穩(wěn)定性和性能優(yōu)化帶來(lái)很多挑戰(zhàn)。我當(dāng)時(shí)候同時(shí)給兩個(gè)項(xiàng)目做分布式的擴(kuò)展,所有都有一定的了解。然后一個(gè)自然的想法是,把兩個(gè)項(xiàng)目合并起來(lái)取長(zhǎng)補(bǔ)短豈不是很好。

 

召集了兩個(gè)項(xiàng)目的開發(fā)人員討論了幾次,有了大致的眉目。新項(xiàng)目取名MXNet,可以叫做mixed-net,是前面兩個(gè)名字(Minerva和CXXNet)的組合。放棄開發(fā)了幾年的項(xiàng)目不是容易的決定,但幸運(yùn)的是小伙伴都愿意最求更好,所以 MXNet進(jìn)展挺順利。很快就有了可以跑的第一個(gè)版本。

 


第四年:9/15-8/16

 

前半年為difacto和MXNet寫了很多代碼。其實(shí)一開始的時(shí)候我覺得difacto更重要些,畢竟它對(duì)于線性算法的提升非常顯著而且額外的計(jì)算開銷并不大,這對(duì)廣告預(yù)估之類的應(yīng)用會(huì)有非常大的提升。但有次遇到Andrew Ng,我跟他說(shuō)我同時(shí)在做這兩個(gè)項(xiàng)目,他立即告訴我我應(yīng)該全部精力放在MXNet上,這個(gè)的未來(lái)空間會(huì)大很多。我一直很佩服Andrew的眼光,所以聽了他的建議。

 

11月的時(shí)候MXNet就有了很高的完成度。寫了個(gè)小論文投去了NIPS的workshop也算是歇了口氣。但隨后就聽到了TensorFlow(TF)開源的消息。由 Jeff Dean領(lǐng)導(dǎo)大量全職工程師開發(fā),Google龐大的宣傳機(jī)器支持,不出意料迅速成為最流行的深度學(xué)習(xí)平臺(tái)。TF對(duì)我們壓力還是蠻大,我們有核心開發(fā)者轉(zhuǎn)去用了TF。不過(guò)TF的存在讓我領(lǐng)悟到一點(diǎn),與其過(guò)分關(guān)心和擔(dān)憂對(duì)手,不如把精力集中在把自己的做得更好。

 

NIPS的時(shí)候MXNet的小伙伴聚了一次,有好幾個(gè)我其實(shí)是第一次見面。隨后Nvidia的GTC邀請(qǐng)我們?nèi)プ鰣?bào)告。在這兩次之間大家爆發(fā)了一把,做了很多地方的改進(jìn)。同時(shí)用戶也在穩(wěn)步增長(zhǎng)。我們一直覺得MXNet是小開發(fā)團(tuán)隊(duì)所以做新東西快這是一個(gè)優(yōu)勢(shì),但隨著用戶增加,收到抱怨說(shuō)開發(fā)太快導(dǎo)致很多模塊兼容性有問題。有段時(shí)間也在反思要在新技術(shù)開發(fā)速度和穩(wěn)定性之間做一些權(quán)衡。

 

這時(shí)一夜之間大數(shù)據(jù)不再流行,大家都在談深度學(xué)習(xí)了。

 

我也花了很多力氣在宣傳MXNet和爭(zhēng)取開發(fā)者上。包括微博知乎上吼一吼,四處給報(bào)告。在大量的點(diǎn)贊聲中有些陶醉,但很多中肯的批評(píng)也讓我意識(shí)到重要的一點(diǎn),就是應(yīng)該真誠(chéng)的分享而不是簡(jiǎn)單的吹噓。

 

因?yàn)榇罅康拿襟w介入,整個(gè)深度學(xué)習(xí)有娛樂化的趨勢(shì)。娛樂化的報(bào)道很多都只是一些簡(jiǎn)單信息,(有偏見)的觀點(diǎn),而沒有太多干貨。不僅對(duì)別人沒營(yíng)養(yǎng),對(duì)自己來(lái)說(shuō)也就是滿足虛榮心。與其寫這些簡(jiǎn)單的水文,不如靜下心做一些有深度的分享,包括技術(shù)細(xì)節(jié)、設(shè)計(jì)思路和其中的體會(huì)。

 

此類分享一個(gè)容易陷入的誤區(qū)是只關(guān)注自己做了什么,結(jié)果多么好。這些確實(shí)能證明個(gè)人能力,對(duì)于想重復(fù)這個(gè)工作的人來(lái)說(shuō)會(huì)有很大幫助。但更多的人更關(guān)心的是適用范圍在哪里,就是什么情況下效果會(huì)減弱;為什么結(jié)果會(huì)那么好;insight是什么。這個(gè)需要更多深入的理解和思考,而不是簡(jiǎn)單的展示結(jié)果。

 

這個(gè)對(duì)寫論文也是如此。只說(shuō)自己的結(jié)果比基線好多少只能說(shuō)明這是不錯(cuò)的工作,但結(jié)果再好并不能意味這個(gè)工作有深度。

 

深度學(xué)習(xí)的火熱導(dǎo)致了各種巨資收購(gòu)初創(chuàng)司不斷。Alex也有點(diǎn)按耐不住, 結(jié)果是他、Dave、Ash(曾經(jīng)是YahooCTO)和我合伙弄了一家公司,拿了幾十萬(wàn)的天使投資就開工了。Alex寫爬蟲,Dave寫框架,我跑模型,風(fēng)風(fēng)火火干了好一陣子??上е型綝ave跑路去跟Jeff做TF了。后來(lái)這個(gè)公司賣給了一個(gè)小上市公司。再后來(lái)我們覺得這個(gè)公司不靠譜也就沒考慮跟他們干了。

 

第一次創(chuàng)業(yè)不能說(shuō)很成功,從中學(xué)到幾點(diǎn):

 

一是跟教授開公司一定要注意有太多想法但沒死死的掐住一個(gè)做;

 

二是找一堆兼職的博士生來(lái)干活不是特別靠譜,尤其是產(chǎn)品不明確的時(shí)候;

 

三是即使要賣公司也一定要做一個(gè)產(chǎn)品出來(lái)。我們賣的時(shí)候給很多人的感覺是團(tuán)隊(duì)人太強(qiáng)但產(chǎn)品太弱,所以他們只想要人而已;

 

四是試圖想要通過(guò)技術(shù)去改變一個(gè)非技術(shù)公司是很難的事情,尤其是過(guò)于新的技術(shù)。

 

然后我們就奔去折騰下一個(gè)公司。Ash早財(cái)務(wù)自由所以想做一個(gè)大的想法,但這時(shí)Alex剛在灣區(qū)買了個(gè)房,有還貸壓力,他選擇去了Amazon。于是算是胎死腹中。

 

隨后收到Jeff的郵件說(shuō)有沒有興趣加入Google,自然這是一個(gè)很誘人的機(jī)會(huì)。同時(shí)我覺得小的創(chuàng)業(yè)技術(shù)性強(qiáng)的公司是不錯(cuò)的選擇。但從MXNet的發(fā)展上來(lái)書,去Amazon是最好選擇之一。自己挖的坑,總是要自己填的。所以我以兼職的身份去了Amazon,領(lǐng)著一幫小弟做些MXNet開發(fā)和AWS上深度學(xué)習(xí)的應(yīng)用。

 

第五年:9/16-2/17

 

早在15年初Alex就表示我可以畢業(yè)了,但作為拖延晚期患者,遲遲沒開始準(zhǔn)備。這時(shí)候感覺不能再拖了,于是窩在灣區(qū)寫畢業(yè)論文。Alex覺得畢業(yè)論文應(yīng)該好好寫,但我對(duì)把前面都做完的東西再搗鼓寫寫實(shí)在是沒興趣,尤其是加州太陽(yáng)那么好,大部分時(shí)間我都是躺在后院曬太陽(yáng)。此時(shí)B站已經(jīng)完全被小學(xué)生占領(lǐng),這邊買書也不方便,無(wú)聊之余刷了很多起點(diǎn),然后還寫了篇煉丹文。

 

CMU要求答辯委員會(huì)需要有三個(gè)CMU老師和一個(gè)學(xué)校外的。除了兩個(gè)導(dǎo)師外,我找了Jeff Dean和剛加入CMU的Ruslan Salakhutdinov。結(jié)果Russ隨后就加入了Apple,整個(gè)委員會(huì)的人都在灣區(qū)了。Jeff開玩笑說(shuō)可以來(lái)Google答辯。可惜跟CMU爭(zhēng)吵了好多次,還是不允許在校外答辯,而且必須要三個(gè)人委員會(huì)成員在場(chǎng)。這些限制導(dǎo)致答辯一拖再拖,而且臨時(shí)加了Barnabas Poczos來(lái)湊人數(shù)。最后是Jeff的助理快刀斬亂麻的協(xié)調(diào)好了時(shí)間把所有東西定好了。沒有她估計(jì)我還可以拖幾個(gè)月。

 

答辯的時(shí)候是一個(gè)比較奇異的狀態(tài),委員會(huì)里有Google、Amazon、Apple的AI負(fù)責(zé)人,剩下兩個(gè)和我又分別在這三家公司兼職。這個(gè)反應(yīng)了當(dāng)下AI領(lǐng)域?qū)W術(shù)界紛紛跑去工業(yè)界的趨勢(shì)。

 

不過(guò)答辯這個(gè)事情倒是挺簡(jiǎn)單,跟平常做個(gè)報(bào)告沒什么太多區(qū)別。一片祥和,即使Russ問了MXNet和TensorFlow哪家強(qiáng)這個(gè)問題也沒有打起來(lái)。

 

答辯后我問委員會(huì)說(shuō),我在考慮找個(gè)學(xué)術(shù)界的工作,有什么建議沒。大家介紹了一大堆經(jīng)驗(yàn),不過(guò)大家都強(qiáng)調(diào)的一個(gè)重點(diǎn)是:學(xué)術(shù)界好忙好忙,而且好窮好窮,工業(yè)界的薪水(就差指自己臉了)分分鐘秒掉CMU校長(zhǎng)。你要好好想。

 

總結(jié)

 

答辯前一天的晚上,我想了兩個(gè)問題,一個(gè)是“博士收獲最大的是什么”,另一個(gè)是“如果可以重來(lái)會(huì)怎么辦”。對(duì)于第一個(gè)問題,這五年時(shí)間自然學(xué)到了很多東西,例如系統(tǒng)的學(xué)習(xí)了分布式系統(tǒng),緊跟了機(jī)器學(xué)習(xí)這五年的發(fā)展,寫文章做幻燈片做報(bào)告水平有提升,代碼能力也加強(qiáng)了些。自信上有所提高,覺得既可以做一流的研究,也可以寫跟大團(tuán)隊(duì)PK的代碼。只要努力,對(duì)手沒什么可怕的。

 

但更重要的是博士的五年的時(shí)間可以專注的把一些事情從技術(shù)上做到最好,做出新的突破,這個(gè)氛圍沒有其他地方能給予。

 

第二個(gè)問題的一個(gè)選項(xiàng)是當(dāng)年留在國(guó)內(nèi)會(huì)怎么樣? 當(dāng)年百度的伙伴們多數(shù)現(xiàn)在都做得很好,都在引領(lǐng)這一波AI的潮流,甚至有好幾個(gè)創(chuàng)造了上億價(jià)值的公司。所以從金錢或者影響力角度來(lái)看,一直在工業(yè)界也不差,說(shuō)不定現(xiàn)在已經(jīng)是土豪了。

 

不過(guò)我覺得還是會(huì)選擇讀博。賺錢以后還有大把時(shí)間可以,但是能花幾年時(shí)間在某個(gè)領(lǐng)域從入門到精通甚至到推動(dòng)這個(gè)領(lǐng)域發(fā)展的機(jī)會(huì)就一次。站在這個(gè)領(lǐng)域的高點(diǎn)會(huì)發(fā)現(xiàn)世界雖然很大,但其實(shí)其他領(lǐng)域也使用差不多的技術(shù),有著同樣的發(fā)展規(guī)律。博士期間領(lǐng)悟到的學(xué)習(xí)的方法可以在各個(gè)方向上都會(huì)大有作為。

 

更重要的是理想和情懷。人一生要工作五十年,為什么不花五年來(lái)追求下理想和情懷呢?

0

要評(píng)論?請(qǐng)先注冊(cè)或者登錄


關(guān)注“微號(hào)推”公眾平臺(tái)

微信秘籍一手掌握

微信號(hào):weihaotui

熱門標(biāo)簽

移動(dòng)互聯(lián)網(wǎng)運(yùn)營(yíng)技巧公眾號(hào)推廣技巧

微信營(yíng)銷營(yíng)銷技巧微信推廣案例分析

app推廣微信快訊微信運(yùn)營(yíng)微信公眾號(hào)

自媒體案例營(yíng)銷案例創(chuàng)業(yè)

微信案例微商運(yùn)營(yíng)內(nèi)容運(yùn)營(yíng)

吸粉新媒體微營(yíng)銷創(chuàng)意文案

內(nèi)容營(yíng)銷社會(huì)化營(yíng)銷產(chǎn)品運(yùn)營(yíng)營(yíng)銷

行業(yè)資訊社群微信電商

新媒體運(yùn)營(yíng)用戶運(yùn)營(yíng)朋友圈網(wǎng)紅

互聯(lián)網(wǎng)產(chǎn)品大前鋒資源聯(lián)系人

微信運(yùn)營(yíng)技巧事件營(yíng)銷O2O馬云

微信朋友圈新媒體營(yíng)銷品牌營(yíng)銷文案

用戶微博微信公眾平臺(tái)小程序

微信公開課朋友圈營(yíng)銷微商課堂直播

吸粉技巧今日頭條馬化騰推廣

運(yùn)營(yíng)推廣appAPP干貨錦集

社群技巧微商課程H5支付寶

微信應(yīng)用號(hào)騰訊漲粉雷軍

融資H5營(yíng)銷微店熱點(diǎn)

微信小程序KOL粉絲營(yíng)銷互聯(lián)網(wǎng)創(chuàng)業(yè)

漲粉技巧用戶需求APP推廣電商運(yùn)營(yíng)

廣告標(biāo)題微信文案社群營(yíng)銷

京東地推微信大號(hào)運(yùn)營(yíng)案例

app運(yùn)營(yíng)社群運(yùn)營(yíng)知乎互聯(lián)網(wǎng)推廣

產(chǎn)品營(yíng)銷學(xué)習(xí)技巧企業(yè)職場(chǎng)

短視頻10w+阿里微信紅包

SEO課程互聯(lián)網(wǎng)+微信城市服務(wù)微營(yíng)銷案例

文案技巧新形態(tài)公眾號(hào)運(yùn)營(yíng)社會(huì)化媒體營(yíng)銷

推廣app網(wǎng)紅經(jīng)濟(jì)網(wǎng)絡(luò)推廣蘋果下架

互聯(lián)網(wǎng)廣告鳳姐共享單車轉(zhuǎn)行

新媒體編輯公眾號(hào)排版活動(dòng)策劃文章

90后爆文精準(zhǔn)用戶內(nèi)容

數(shù)據(jù)運(yùn)營(yíng)公眾號(hào)文章流量變現(xiàn)工具

產(chǎn)品推廣UGC網(wǎng)易面膜

互聯(lián)網(wǎng)醫(yī)療ASO互聯(lián)網(wǎng)金融眾籌

病毒營(yíng)銷微信運(yùn)營(yíng)工具SEM推廣借勢(shì)營(yíng)銷

微信封號(hào)資源聯(lián)系QQ公眾號(hào)應(yīng)用號(hào)

社會(huì)營(yíng)銷行業(yè)咨詢直播平臺(tái)高考

營(yíng)銷策劃分答推廣案例原創(chuàng)文

餓了么直播APP運(yùn)營(yíng)小白產(chǎn)品需求

CJ奧運(yùn)傅園慧美團(tuán)

滴滴運(yùn)營(yíng)經(jīng)驗(yàn)運(yùn)營(yíng)管理戚繼光

王寶強(qiáng)iPhone社區(qū)營(yíng)銷微信服務(wù)號(hào)

VR運(yùn)營(yíng)學(xué)習(xí)社區(qū)運(yùn)營(yíng)市場(chǎng)運(yùn)營(yíng)

共享經(jīng)濟(jì)摩拜單車溝通技巧百度

無(wú)印良品退回技巧推廣運(yùn)營(yíng)白百合

自媒體營(yíng)銷渠道推廣社交運(yùn)營(yíng)電商推廣

華為推廣回去阿里巴巴UCG

熱點(diǎn)追蹤推廣策劃粉絲留存整合傳播

變現(xiàn)羅輯思維星巴克畢業(yè)

職業(yè)微信新操作新媒體運(yùn)營(yíng)技巧爆款文章

內(nèi)容選題企業(yè)公眾號(hào)品牌活動(dòng)

共享勵(lì)志標(biāo)題黨提升轉(zhuǎn)化

努力成就面試準(zhǔn)備孫正義

信息革命機(jī)器人流量企業(yè)家

失敗產(chǎn)品生命周期用戶流失流失率

王者榮耀用戶參與度圈粉獨(dú)特

淘汰社交社交產(chǎn)品個(gè)性化推薦

風(fēng)口無(wú)聊僵尸粉用戶活躍度

微信支付網(wǎng)絡(luò)支付創(chuàng)新型公司未來(lái)預(yù)判

封號(hào)QQ音樂場(chǎng)景實(shí)驗(yàn)情感關(guān)系鏈

圖片處理零成本公關(guān)危機(jī)社會(huì)輿論

戰(zhàn)狼2戰(zhàn)狼2票房吳京QQ

信用分掉粉bug獲取用戶

留存ofo小黃車品牌運(yùn)營(yíng)好友刪除

網(wǎng)感信息流廣告程序化廣告管理

經(jīng)營(yíng)奇葩說(shuō)內(nèi)容經(jīng)濟(jì)KPI

小編創(chuàng)意甲方乙方

廣告行業(yè)SEO網(wǎng)絡(luò)引擎優(yōu)化清理好友

高峰論壇品牌推廣網(wǎng)絡(luò)自制劇互聯(lián)網(wǎng)產(chǎn)品

信息泄露教育APP粉絲經(jīng)濟(jì)二次元周邊

二次元工具型產(chǎn)品工具產(chǎn)品黑科技

公眾號(hào)編輯微信排版編輯器團(tuán)隊(duì)活動(dòng)營(yíng)銷

市場(chǎng)產(chǎn)品經(jīng)理行業(yè)物聯(lián)網(wǎng)

引流內(nèi)容付費(fèi)APP運(yùn)營(yíng)用戶體驗(yàn)

粉絲00后