圖片來源@視覺中國

文 | 郭華

2015年,Google發(fā)布了機器學(xué)習(xí)框架TensorFlow,憑借其在技術(shù)上無可爭議的統(tǒng)治地位,TensorFlow迅速成為這一領(lǐng)域的霸主。

2017年,TensorFlow如日中天之際,F(xiàn)acebook發(fā)布了PyTorch,誰也沒有想到,短短四年后,它竟把前者從王座上拉了下來。

剝離正義與邪惡后,從某種意義上來說,這就大衛(wèi)打敗巨人歌利亞的故事。

01 機器學(xué)習(xí)框架簡史

什么是機器學(xué)習(xí)框架?

這要從機器學(xué)習(xí)說起。

大家應(yīng)該都聽過人工智能,機器學(xué)習(xí)就是人工智能的一種實現(xiàn)手段。機器學(xué)習(xí)之父Tom Mitchell曾下過這么一個定義——“如果一個程序可以在任務(wù)T上,隨著經(jīng)驗E的增加,效果P同步增加,則稱這個程序可以學(xué)習(xí)”。

這里有兩個要點,第一是程序,第二是經(jīng)驗。程序的核心是模型,而經(jīng)驗則表現(xiàn)為數(shù)據(jù)。其實這個定義也覆蓋了大數(shù)據(jù)的概念,只不過大數(shù)據(jù)一般強調(diào)數(shù)據(jù),機器學(xué)習(xí)則更突出模型。

而機器學(xué)習(xí)框架,簡單來說就是一套為機器學(xué)習(xí)服務(wù)的工具,用以加速模型的開發(fā)與應(yīng)用。

就像你可以用樂高快速搭建出房子、汽車等各種各樣的模型一樣,樂高就是一種框架。

所以機器學(xué)習(xí)框架和機器學(xué)習(xí)的關(guān)系,就像生產(chǎn)關(guān)系和生產(chǎn)力一樣,機器學(xué)習(xí)技術(shù)的發(fā)展決定框架的形態(tài),而框架反過來又可以促進前者的發(fā)展。

比較有名的框架,根據(jù)誕生時間排序,主要有2002年的Torch,2007年的Theano,2013年的Caffe,2015年的TensorFlow和Keras和2017年的PyTorch這六個。

當(dāng)然,這些只是和本主題相關(guān)的,其它還有很多傳統(tǒng)AI框架和庫,它們每個都滿足了某種特定場景,但總體上來看,可以說是多點散發(fā)。

直到2016年AlphaGo大戰(zhàn)李世石,這似乎是一個奇點事件。

我記得首局李世石便投子認(rèn)輸了。那時我們正在云南團建,AlphaGo不僅打敗了李世石,也打敗了云南的美景,一路上所有人都在談?wù)撍?/p>

用李安的話說,“我看不懂,但我大受震撼。”

受震撼的不止我們,全世界的人和資本都受到了震撼。

AlphaGo用的技術(shù)是深度學(xué)習(xí),深度學(xué)習(xí)是機器學(xué)習(xí)的一種,其特征在模型上,深度學(xué)習(xí)的模型是神經(jīng)網(wǎng)絡(luò)模型。

AlphaGo之后,機器學(xué)習(xí)的方向開始朝深度學(xué)習(xí)統(tǒng)一。

對底層框架來說,這相當(dāng)于吹響了沖鋒的號角。

經(jīng)過不斷的分分合合,它們逐漸形成了兩大陣營。

一個是TensorFlow陣營。

TensorFlow 2015年由Google開源。其設(shè)計理念和Theano非常相似,所以在Google加持的TensorFlow出現(xiàn)之后,Theano就沒什么存在的必要了。而且Theano的關(guān)鍵創(chuàng)始人Ian Goodfellow也一直在谷歌工作。2017年,Theano官宣不再維護,同年,Keras被添加到了TensorFlow之中。這構(gòu)成了實力強勁的第一陣營。

一個是PyTorch陣營。

PyTorch 2017年由Facebook開源。PyTorch設(shè)計之初可以看成是Torch的Python版。和Theano類似,Torch的關(guān)鍵創(chuàng)始人也一直在Facebook。Caffe的創(chuàng)始人賈揚清在完成Caffe后先是去了Google開發(fā)TensorFlow,隨后又到了Facebook。在Facebook,他開發(fā)了Caffe2。2018年,Torch被標(biāo)注為不再活躍,其主要維護者宣布精力將主要投入到PyTorch上,同年,Caffe2也被合并到了PyTorch之中。這構(gòu)成了第二陣營。

在一個要素自由流動的市場里,行業(yè)成熟的標(biāo)志是出現(xiàn)頭部公司。

所以TensorFlow和PyTorch的脫穎而出,意味著決戰(zhàn)將在它們之間展開。

從時間上來看,TensorFlow總比PyTorch早,開源的時間早,整合的時間也早。

但從趨勢來看,TensorFlow的領(lǐng)先優(yōu)勢越來越不明顯,Google Trends顯示,甚至PyTorch已經(jīng)超過了它。

 

圖1 Google Trends : PyTorch VS TensorFlow

02 巨人歌利亞

Google確實是技術(shù)上的歌利亞。

 

不說安卓,不說搜索,不說谷歌地圖。

 

熟悉的人,應(yīng)該還記得大數(shù)據(jù)的故事。

 

2003年開始,Google把自己內(nèi)部用的幾種數(shù)據(jù)處理技術(shù)陸續(xù)整理成論文,公開發(fā)表。其中具有奠基性的有三個,分別是計算框架MapReduce,文件系統(tǒng)GFS和表格存儲BigTable。

 

蕓蕓眾生借此一時眼界大開。

 

讀論文的眾多人中,有一個叫做Doug Cutting的青年,他認(rèn)為這些技術(shù)很有通用性,便照著論文把里邊的系統(tǒng)自己做了一個出來。

 

Google言之,于我心有戚戚焉。

 

于是,大名鼎鼎的,很快成為大數(shù)據(jù)事實標(biāo)準(zhǔn)的Hadoop就這么誕生了。

 

大家或許聽過阿里云飛天5K的故事。在王堅的力推下,阿里云參考Hadoop開發(fā)了一套自己的大數(shù)據(jù)系統(tǒng),而飛天5K,就是指這套系統(tǒng)成功支撐住了5千個節(jié)點。

 

但飛天5K發(fā)生在2013年,Hadoop誕生在2006年,Google發(fā)論文在2003年,而Google的內(nèi)部系統(tǒng)的啟用時間,不知何年。

 

什么叫技術(shù)代差,這就叫技術(shù)代差。

 

Doug Cutting后來被稱為“盜火者”,而那三篇論文,史稱“Google 三駕馬車”。

 

所以技術(shù)圈一直有一種印象,那就是Google藏了很多黑科技,隨便把自己內(nèi)部用了很久、甚至已經(jīng)不用的系統(tǒng)拿出來發(fā)表一下,便能引起江湖上的血雨腥風(fēng)。比如我在阿里時,就總聽說某某Google大佬回國后,在阿里把自己在Google用過的系統(tǒng)重新實現(xiàn)一遍而走上巔峰的故事,長恨自己眼界太窄又不在其中。

而TensorFlow不僅是Google直接開源自己的內(nèi)部系統(tǒng),而且是優(yōu)化版——TensorFlow之前,Google還有一個2011年開始的DistBelief,TensorFlow正是總結(jié)了DistBelief的很多問題后升級而來的。 

而且,AlphaGo也是Google的,再而且,它還運行在TensorFlow之上。

 

所以按理說,TensorFlow應(yīng)該比被人抄出來的Hadoop更容易成功,可Hadoop出來后就成了大數(shù)據(jù)的事實標(biāo)準(zhǔn),TensorFlow卻沒有。

 

不僅沒有,似乎還在走下坡路。

 

IT界有個達維多定律,說市場的第一代產(chǎn)品總能自動獲得50%的市場份額。TensorFlow比PyTorch早,技術(shù)上沒有代差,卻在有明顯優(yōu)勢的情況下被PyTorch拉了下來。

 

確實不可思議,說Google輸了也不為過。

03 大衛(wèi)的策略 

那PyTorch做對了什么?

 

知乎上對兩者有相當(dāng)多的討論,但主要集中在技術(shù)層面的對比。

 

誠然技術(shù)是一切的基礎(chǔ),但畢竟被比較的是Google,在這個領(lǐng)域,他有Jeff Dean,有深度學(xué)習(xí)的圖靈獎獲得者,還有一系列頂級專家。引用騰訊機器學(xué)習(xí)平臺負(fù)責(zé)人潘欣的原話來說,Google在2015年后的幾年間包攬了全世界在深度學(xué)習(xí)領(lǐng)域一半以上的關(guān)鍵技術(shù)突破,比如TPU, Transformer, BERT, Neural Machine Translation, Inception, Neural Architecture Search, GAN,Adverserial Training, Bidrectional RNN……說Google技術(shù)不行,似乎很難成立。

 

所以我更傾向于認(rèn)為問題在別處。

 

周其仁說自己觀察經(jīng)濟現(xiàn)象有兩個法門,一曰遠,一曰簡,遠是遠遠的看大勢,簡是永遠選擇最簡單的指標(biāo)。

 

我認(rèn)為PyTorch在大勢上的策略才是問題的關(guān)鍵。

 

具體有三,一是差異化的產(chǎn)品定位,一是順應(yīng)了用戶趨勢,一是拿住了TensorFlow的反關(guān)節(jié)。

 

三點環(huán)環(huán)相扣,構(gòu)成了PyToch的競爭策略。

 

先說差異化的產(chǎn)品定位。

 

任何一個挑戰(zhàn)者進入市場時,都需要通過差異化找到自己的立足之地。

 

PyTorch也不例外。

 

它發(fā)現(xiàn)市場上的用戶可以分兩個群體,一是工業(yè)界,一是學(xué)術(shù)界,兩者有不同的需求。工業(yè)界更關(guān)注模型的應(yīng)用,比如部署、性能等,而學(xué)術(shù)界更關(guān)注模型的開發(fā)。這很容易理解,工業(yè)界的基本訴求是穩(wěn)定,一般模型上線后會跑很長一段時間,而學(xué)術(shù)界以研究為主,會頻繁修改模型以驗證想法,對性能要求不高,對部署更不在乎。

 

TensorFlow的優(yōu)勢在模型的應(yīng)用上。

 

在Google強大的開發(fā)能力下,TensorFlow不僅性能優(yōu)越,而且支持多端部署,不管是云上的分布式還是邊緣的手機端都沒問題。但可能就是因為Google的開發(fā)能力太強了,TensorFlow在模型開發(fā)的易用性上并不上心。

 

PyTorch認(rèn)識到這是個機會,它在自己的官方論文里,清晰的表達了自己的定位——把研究者放在第一位(put researchers first)。

圖2 Facebook論文 《PyTorch : An Imperative Style,High-Performance Deep Learning Library》

于是它很快占領(lǐng)了學(xué)術(shù)界。 

根據(jù)paperswithcode的統(tǒng)計,截止2021年10月,論文里PyTorch與TensorFlow的應(yīng)用比例為86:14,而且TensorFlow下滑明顯。
 

圖3 paperswithcode--論文中應(yīng)用的框架比例

這時市場格局是這樣的。

圖4 PyTorch VS TensorFlow 市場格局1

再說用戶趨勢。 

地產(chǎn)界有個說法,短期看金融,中期看土地,長期看人口。

 

機器學(xué)習(xí)框架的用戶也是有趨勢的。

 

工程師是怎么來的?高中畢業(yè)進入大學(xué),大學(xué)讀完本科、碩士和博士后,畢業(yè)上班,進入工業(yè)界。

 

這個樸素的道理決定了用戶基本是從學(xué)術(shù)界流向工業(yè)界的。

 

所以PyTorch占領(lǐng)了學(xué)術(shù)界,相當(dāng)于占領(lǐng)了上游。習(xí)慣了PyTorch的人會帶著PyTorch進入工業(yè)界,同時新同學(xué)源源不斷進入學(xué)術(shù)界,又構(gòu)成了增量用戶。

 

用發(fā)展的眼光看問題,市場是這樣的。

圖5 PyTorch VS TensorFlow 市場格局2

 

最后說說TensorFlow的反關(guān)節(jié)。

 

周鴻祎在《我的互聯(lián)網(wǎng)方法論》里提到過一個詞叫反關(guān)節(jié),小公司一旦拿住大公司的反關(guān)節(jié),大公司的優(yōu)勢就會變成包袱,越反抗越疼,只能眼睜睜看你擴張。

 

PyTorch就拿住了TensorFlow的反關(guān)節(jié)。

 

構(gòu)建神經(jīng)網(wǎng)絡(luò)有兩種技術(shù)路線,分別是靜態(tài)圖和動態(tài)圖,靜態(tài)圖性能好,動態(tài)圖調(diào)試方便。

 

TensorFlow一開始選擇的是靜態(tài)圖,PyTorch是動態(tài)圖,這就是產(chǎn)品差異化背后的技術(shù)原因。

 

不過這種技術(shù)選擇帶來的影響是長期的,因為圖的構(gòu)建方式確定了,框架的API也就隨之確定了。

 

API是框架和用戶之間的接口,像汽車的方向盤和剎車。同時就像汽車不能隨便升級成用剎車掛檔、方向盤加油一樣,API也必須力求穩(wěn)定。

 

事實上所有嚴(yán)肅的基礎(chǔ)軟件都會把避免breaking change(破壞式升級)當(dāng)作API設(shè)計的首要原則。

 

所以TensorFlow在看到PyTorch靠動態(tài)圖不停搶占市場的時候,自己卻動彈不得,因為它升級就需要改變API,而它的用戶基數(shù)越大,它就越難作出改變。

 

只能縫縫補補往里繼續(xù)加?xùn)|西,比如Keras。

 

但PyTorch并沒閑著,它站穩(wěn)腳跟后開始向工業(yè)界擴張。2018年,PyTorch借助合并Caffe2,在性能和部署上大大前進了一步。

 

這相當(dāng)于打到了TensorFlow的大本營。

 

TensorFlow終于坐不住了,于是以壯士斷腕的決心,不顧breaking change的惡名,2019年把TensorFlow升級到了2.0,重構(gòu)API,增加動態(tài)圖。

 

有人說這體現(xiàn)了Google的傲慢,它視開發(fā)者如草芥。還有人建議Google出一個技術(shù)團隊,把原來在TensorFlow1.0上的能跑的東西在2.0上重新實現(xiàn)一遍。

 

但可能它也是沒辦法,總不能坐以待斃吧。

04 后記

仔細(xì)想想,PyTorch的三點其實是一點,叫一點的三個方面可能更加準(zhǔn)確。

 

這樣的分析或許有點馬后炮的意思,但不管PyTorch是有意為之還是純屬巧合,這個邊緣崛起的故事還是相當(dāng)值得一看。

 

那是不是說TensorFlow就這樣輸?shù)袅耍?/p>

 

并不是,前邊提到,只是決戰(zhàn)會在他們兩個之間展開,現(xiàn)在功能上兩者幾乎齊平,但從用戶存量來說,TensorFlow的絕對值應(yīng)該比PyTorch還要多不少。

 

而且未來還有新變量,那就是云。

 

云作為一種新的軟件分發(fā)機制,勢必對軟件的市場格局產(chǎn)生深遠影響。根據(jù)Google的測算,2029年,77%的企業(yè)IT將以云為主。

 

誰在云上做的好,誰才是最終贏家。

 

不過我覺得真正精彩的是框架背后的人??蚣艿姆址趾虾辖汹厔?,人的流動才是故事。

 

比如Torch的創(chuàng)始人里,Ronan Collobert在Facebook,而Samy Bengio去了Google;比如Caffe的作者賈揚清,讀博時自己開發(fā)了Caffe,畢業(yè)后去Google參與了TensorFlow,之后又到Facebook,在這里不僅開發(fā)了Caffe2,還推動了PyTorch跟Caffe2的合并……

 

頗有東漢末年群雄并起,有識之士縱橫天下的意味。

 

而所謂最終格局,與其說是趨勢上的客觀必然,不如說是他們推動下的主觀偶然。

本文系作者 郭華 授權(quán)鈦媒體發(fā)表,并經(jīng)鈦媒體編輯,轉(zhuǎn)載請注明出處、作者和本文鏈接
本內(nèi)容來源于鈦媒體鈦度號,文章內(nèi)容僅供參考、交流、學(xué)習(xí),不構(gòu)成投資建議。
想和千萬鈦媒體用戶分享你的新奇觀點和發(fā)現(xiàn),點擊這里投稿 。創(chuàng)業(yè)或融資尋求報道,點擊這里。

敬原創(chuàng),有鈦度,得贊賞

贊賞支持
發(fā)表評論
0 / 300

根據(jù)《網(wǎng)絡(luò)安全法》實名制要求,請綁定手機號后發(fā)表評論

登錄后輸入評論內(nèi)容

快報

更多

17:37

促進汽車數(shù)據(jù)跨境流動,中歐汽車工業(yè)協(xié)會簽署備忘錄

17:36

中國太保蘇罡:適時增加權(quán)益資產(chǎn)配置

17:35

機構(gòu):海灣能源設(shè)施修復(fù)估算至少達250億美元

17:34

美圖公司:2025年歸母凈利潤6.98億元,同比下降12.7%

17:31

國邦醫(yī)藥:全資子公司擬投資10.2億元建設(shè)醫(yī)藥原料藥及中間體綠色智造技改項目

17:31

上期能源:進一步擴大合格境外投資者參與商品期貨、期權(quán)交易范圍

17:29

上期能源發(fā)布20號膠和陰極銅期貨期權(quán)合約

17:24

商務(wù)部、中國出口信用保險公司:加強出口險和內(nèi)貿(mào)險聯(lián)動,加大對外貿(mào)企業(yè)拓內(nèi)銷的支持力度

17:23

財政部:2月全國共銷售彩票343.13億元,同比下降18%

17:22

外匯局:必要時強化宏觀審慎管理,維護外匯市場平穩(wěn)運行

17:20

阿斯利康A(chǔ)DC藥物新適應(yīng)證在中國實現(xiàn)“全球首發(fā)”

17:19

兩面針:籌劃控制權(quán)變更,股票下周一停牌

17:16

外匯局:預(yù)計2026年境外來華直接投資保持凈流入,外資增持人民幣資產(chǎn)意愿逐步提升

17:15

外匯局:2026年中國對外投資收益和境外來華投資收益均有望延續(xù)增長態(tài)勢

17:14

樂華娛樂:與王一博續(xù)簽獨家藝人管理合同

17:13

小鵬汽車:公司中文名稱將由“小鵬汽車有限公司”變更為“小鵬集團”

17:12

比特幣短線下挫,跌破6.8萬美元

17:12

國際原油期貨持續(xù)拉升,美油布油均漲超2%

17:11

國家外匯局:2026年國際收支有條件保持基本平衡

17:07

央行:當(dāng)前中國金融業(yè)運行總體穩(wěn)健,金融風(fēng)險持續(xù)收斂,金融機構(gòu)整體健康

掃描下載App