李沐團隊半年離開六人,MxNet是否英雄落幕?賈揚清:關鍵能否解決新痛點

  • 2020 年 5 月 18 日
  • AI

作者 | 叢末、蔣寶尚

編輯 | 賈偉

AI 科技評論消息:昨日,據知乎網友爆料,亞馬遜AI李沐團隊今年初至今已經離開6人了。考慮到李沐團隊一共20名正式員工,以及一個研究團隊招新的嚴格要求和團隊培養成本,6人離去對於一個團隊來說確實是一種重大的人員流失。

在知乎上,有兩種回應,一種傾向於自然選擇,即類似於末尾淘汰制,對於達不到培養要求的研究人員給予「勸退」,另一種傾向於「精英淘汰」, 即學術領域的精英,一些真正德才兼備的精英人才往往會遭冷遇、排擠甚至打擊、壓制。

由於熱度太大,面對大家的猜疑,李沐親自下場回答,他表示組織人員離開是正常新陳代謝,有的人是因為覺得新項目太挑戰,想換個環境;也有的人是因為團隊要求開展新項目之前,需要考慮到產品組的實際需求,導致某些人覺得資源使用不自由,所以離開。

最近兩個月我們組確實有人離開,在我看來是組織發展下的正常新城代謝。
1、最近做了一些思考,想像世界五年後是什麼樣,從那裡出發來重新考慮項目優先級。例如automl會不會是讓深度學習更加普及的一個主驅動力,未來幾年有什麼可以做的(高效的算法,高效的系統,成本更低的硬件,宣傳好結果來改變大家的看法)。我們定了兩個方向,作為我們的主攻方向。
2、之前我們跟工程組一起做了很多純工程項目。在我看來,我們應該是做合作組不能做的(例如深度學習系統API設計,新系統開發),而不是跟人搶項目。自然會有小夥伴做完這些項目後,覺得新項目太挑戰,想換個環境。
3、將我們的工作變成」essential「(amazon在疫情期間優先派送essential的商品),這個一直是研究工作的一個難點。我們的做法是,開始一個新的需要大量資源的研究項目前,先跟可能會用到的產品組聯繫,看看他們的實際需求。這個改變會讓做先馬行空研究的小夥伴覺得不自由,從而可能離開。
— 5/17 更新 —
沒料到大家如此熱心,所以補充幾點。
1、這也能上熱搜?這個是買的嗎?
2、人員離開不是一件輕鬆的事情,特別是疫情期間。對每個主動想走的人我都長聊過,做了極大的挽留,例升職規劃,討論有挑戰的新項目。對於是請走的人,也是有公司第三方團隊和第三方律師事務所進行半年以上的評估和改進嘗試。我們組發展了三年多,除了之前有位小夥伴想回家發展外,這是首次有人離開,所以不奇怪引人關注。
3、過去一年一直在招能管理科學家團隊的經理,如果各位有興趣請私信我。另外,接下來我們會進行大規模招聘,敬請期待。
4、MXNet處境。質疑一直有,PyTorch和TensorFlow也確實強大。facebook和google可以花很大資源來支持開源,不管是人力還是宣傳,而且可以強迫自己公司團隊使用自家產品。MXNet的資源一直是別人的1/10,我們將資源都集中解決客戶問題上(亞馬遜的準則之一:客戶至上),很多項目我們並沒有宣傳。下面是幾個我們公開的項目:

《動手學深度學習》最早是作為MXNet文檔來做的,現在已經被包括cmu/stanford/berkeley/mit等近100所高校作為教材使用。Nvidia創始人Jensen特意為此寫了推薦語。ResNeSt是GluonCV 0.7中的工作 //github.com/dmlc/gluon-cv/releases/tag/v0.7.0 刷爆了各大榜單GluonNLP把BERT的inference速度降到百萬次不到一塊錢。AutoGluon是我們在automl的首次嘗試,比我們知道的所有工作都要塊和准。MXNet的model zoo下載量在百萬級別。還有幾個大招在做,敬請期待接。

5、關於燒錢。我們最近的工作ResNeSt拿到了檢測和分割的多個第一,知乎上也有很多文章討論。至於說花費比較大,花費更大的工作我們今年做了好幾個,只要能推動技術進步,我們會不切餘力的投入。

網友評論:MXNet英雄落幕?

知乎中很多網友,包括前MXNet團隊員工也表示,離職其實是因為MXNet這兩年的發展比較慢,在PyTorch和TensorFlow的雙重夾擊下,實現突圍非常難。

例如,一位在MXNet項目上貢獻commit數量最多的貢獻者提到,他從MXNet團隊離職的原因是,總體上MXNet ecosystem的蛋糕沒有做大,反而是越來越小。

本人2018年3月入職MXNet團隊,自入職至今是在MXNet項目上貢獻commit數量最多的contributor,也是社區committer。同時,我也是近期從MXNet團隊離職的成員之一,去向是亞馬遜內部的其他team。

……

其實沐神待我也是不薄,並且我對MXNet這個項目也算是有一些感情的。在開發之餘,我也擔當了MXNet生態系統一些PR blog的翻譯潤色和校對工作,各位去翻一下的話應該可以看到我的名字。儘管如此,我最終在近期選擇了離職主要是因為總體上MXNet ecosystem的蛋糕沒有做大,反而是越來越小,如此一來team內的上升空間也就縮小了。……

深度學習優秀回答者 mileistone 也對MXNet越來越小的市場份額做出了評價:整個深度學習框架市場幾乎被TensorFlow和PyTorch瓜分,MXNet市場低佔有率很低。

李沐團隊技術實力很強,但是做的主要產品都沒打開市場。而且這些產品有一些具備一定延續性,會互相影響。

比如基於MXNet的GluonCV、GluonNLP和Dive into Deep Learning,本來打算通過這三款產品來帶動更多人進入MXNet社區。

但是這三款產品都是維生素,而不是止疼葯;沒能解決深度學習框架的痛點,解決的是癢點。而與此同時,解決深度學習框架易用性這個痛點的PyTorch幾乎一夜之間崛起,現在可以跟TensorFlow分庭抗禮,整個深度學習框架市場幾乎被TensorFlow和PyTorch瓜分。

這種情況下,即使GluonCV和GluonNLP做得很棒,本身的市場價值卻因為MXNet市場低佔有率而拖累。所以情況就比較尷尬,MXNet市場佔有率依舊低迷,依託其上開發的GluonCV和GluonNLP既沒能改變這個現實,與此同時又受限於這個現實,無法發揮其潛力。

…… ……

另一位利益相關的亞麻員工表示,其實在公司內部MXNet用的也很少。

我是device org的scientist,我們大組是專門做edge端的CV team,旗下的要維護研發的CV model相對比較多。別的公司聽說我做DL都會問你們用不用MXNet 我只能含蓄得回答可以用但是沒人逼我們必須用 …… 實際上就是完全不用。

一位自稱「野生MXNet「磚」家」的網友提到:MXNet發展的這兩三年,書寫的很成功,但平台本身仍然沒什麼大的起色。另外,還細數了MXNet的眾多缺點。

……

MXNet平台並不差,不管是功能還是性能有些地方都是可圈可點的,但實際體驗中莫名其妙的晦澀的錯誤、欠缺的算子、很多算子在cpu中運行的速度甚至不如手擼numpy、相較於torch更高的內存佔用(曾經MXNet引以為傲的內存低佔用現在已經沒有什麼優勢)、某個版本能用的Mirror到另一個版本就失效了、某個版本能用的custom numpy operator到了某個版本突然就出現bug了、某個版本horovod就是安裝不成功、某個版本auto mixed precision又突然出現錯誤無法訓練如此等等,的確給新手用戶不小的麻煩。

但這些不是不能解決的,可能是沒有被重視吧,而且因為競爭平台也不是十全十美,所以平台不是沒有機會,機會仍然存在。

……

最後,一位匿名用戶的題外話概括了現在MXNet面臨的處境:「沐神辛辛苦苦寫的書,本想着推廣MXNet,最後一大堆同學放出了PyTorch實現版,着實慘233」。

框架沉浮,MXNet能否實現突圍?

2004年,李沐從上海交通大學計算機系 ACM 班畢業。ACM 班作為以培養計算機科學家而聞名的「特色班」,一開始便為李沐的簡歷奠定了引人關注的基調。2008年。李沐正式從上海交大碩士畢業後,暫時告別了求學生涯,前往香港科技大學任職。

2011年,大學期間就曾在中國IT界的「黃埔軍校」實習過的李沐,收到了百度拋給他的橄欖枝。2011 年只2012 年,他在百度擔任高級研究員的短短一年多時間裏,創建了一套分佈式機器學習廣告系統,為他的研究生涯又累積了不少工業界經驗。

2012年,他的人生軌跡迎來了又一個轉變,離開百度前往CMU 深造。當時做出這一選擇的背景則是:一方面,在百度的實踐經驗讓他更加認清了自己在研究方面的短板,意識到繼續深造會是自己更好的選擇;另一方面,他現任妻子當時也被 MIT 錄取,也成為了他選擇去CMU 學習的一大重要原因。

也就是在CMU,李沐得到了導師機器學習大師 Alex Smola 和 分佈式系統教授 Dave Andersen的指導,科研能力迅速提高。在CMU 求學的第二年,正適余凱等人在轟轟烈烈地做深度學習,他也加入這波研究熱潮。基於對分佈式深度學習框架的興趣,他選擇與陳天奇合作,將CXXNet 作為起點,開始做深度學習相關項目。

一年後,二人合力在Github上創建了一個叫DMLC的組織,隨後更是創建了一個與他後續在亞馬遜的任職生涯都有着緊密聯繫的項目——MXNet。

出於對 MXNet未來發展的考量,在畢業後的職業選擇上,李沐選擇放棄了加入谷歌的機會,而選擇去了亞馬遜,一直任職至今,展開圍繞MXNet的相關項目。

隨後MXNet也成為了亞馬遜首選的深度學習庫,在眾多深度學習框架之中,雖然市場份額遠不如TensorFlow和PyTorch,但從框架本身而言,MXNet的速度,節省內存,接口靈活性,和分佈式效率都是可圈可點的。

MXNet擁有類似於 Theano 和 TensorFlow 的數據流圖,為多 GPU 配置提供了良好的配置,有着類似於 Lasagne 和 Blocks 更高級別的模型構建塊,並且能在眾多硬件上運行(包括手機)。除了對 PyTorch 提供支持,MXNet 也提供了對 R、Julia、C++、Scala、Matlab,和 Javascript 的接口。

也正如李沐之前介紹的那樣,MXNet是散修小團體一起合力做出來的平台,排名前20的開發者,基本都是出自不同的門派和世家,這個是MXNet最大的特色。

不論是開始時間還是平台特性,MXNet最靠近TensorFlow。有完整的多語言前端,後端類似編譯器,做這種內存和執行優化。應用場景從分佈式訓練到移動端部署都覆蓋。整個系統全部模塊化,有極小的編譯依賴,非常適合快速開發。

因而發展至今,MXNet  總免不了被拿來和TensorFlow 做比較,對此,李沐曾在AI 科技評論的採訪中做出回應:「我很理解大家愛看對比類的文章,但這是種存在偏見的做法。我們比別人快一兩倍,不是我們想表達的東西,而為什麼快,做了哪些優化,離我們的理想狀態還有哪些差距,這樣的總結可能對我來說更有價值一些。」

與此同時他也表示,MXNet 與TensorFlow 並不是大家想像中那種劍拔弩張的狀態,並且框架的融合會是未來的趨勢,系統各自為政的時代會被更多的兼容與支持取代。

而在未來的框架融合潮流中,MXNet 是否還能堅守住自己的一方小小席地呢?我們暫且留下一個問號。
正如在李沐團隊的這波離職風波中,離職員工本身的「爆料」以及廣大熱心知乎網友的猜測所言,這麼多人離職很大的原因便是 MXNet 這兩年的發展比較慢,在PyTorch和TensorFlow的雙重夾擊下,實現突圍非常難。

那MXNet有沒有突圍的辦法?曾創建Caffe2的賈揚清表示:框架的沉浮很正常,每一個平台都有自己的強項和弱項。一個框架在系統上很強,相應的生態就會稍弱一些。mxnet的路線如何走,其實和這一堆的機器學習框架的分分合合都有相似性,關鍵是「我能解決誰的痛點,以及什麼痛點」。造輪子不是目的,解決新的痛點才是目的。

……

框架的沉浮。回答裏面提到Caffe2,它的設計早於Tensorflow,計算圖是從Purine的想法借鑒的,當時Google Brain還是按照神經元base的方式來做。從需求的角度講,當時的核心挑戰是系統部署能力,這是在Facebook裡頭非常重視的一點,應該說是在企業級框架當中第一個可以同時以一套系統部署在雲上廣告推薦訓練以及端上AI/AR場景的平台。

但是每一個平台都有自己的強項和弱項。一個框架在系統上很強,相應的生態就會稍弱一些:大公司內部的需求和科研人員/長尾應用的需求是不一樣的。一個需要處理PB級數據的系統,絕對會放棄易用性,而易用性對於開發者社區是極端重要的。從這個角度,我覺得mxnet已經在不可能的方向上利用自己的資源做了很多事情,無論是推動Gluon,還是做「動手學深度學習」。結果不論,但是在系統和生態的平衡上主動做了很多事情。

這個取捨,從第一天我們設計系統的時候是考量過的。在FB我們當時還做過這樣的分析:「從人力上,我們無法長期和Google進行全面的對抗,因此我們的策略是解決Facebook的業務核心問題,廣告、端上智能,等等。Tensorflow的長線在於大兵團作戰,而我們的長線在於快速迭代解決業務需求。我們要一直保證在我們自己的需求上面,和TensorFlow保持六個月的優勢」。

回頭看我覺得這個策略非常成功,也推動了系統上的創新,ImageNet in an Hour被Jensen評價」也許是2017年深度學習系統最重要的論文「。據我理解,Facebook今天廣告、手機AI等方面,前端在逐漸轉向pytorch原語,後端系統繼續使用caffe2的高性能架構。這和我離開前和Facebook同事設計的PyTorch 1.0的策略是一致的。

當然,這一段當中還是走了彎路,一度因為開源的熱情,我還是推過Caffe2的社區,後來反思起來,任何一個系統都有長有短,通過Caffe2要解的是業務系統的問題,不是社區的問題,不應該全部通吃。後來我們將外部品牌統一為PyTorch,也是這樣的一個思考。竊以為,mxnet的路線如何走,其實和這一堆的機器學習框架的分分合合都有相似性,關鍵是「我能解決誰的痛點,以及什麼痛點」。造輪子不是目的,解決新的痛點才是目的。

……

(雷鋒網)、(雷鋒網)、(雷鋒網)