深度解析】Google第二代深度学习引擎TensorFlow开源(CMU邢波独家点评、白皮书全文、视频翻译)
新智元原創(chuàng)1
作者:王嘉俊 王婉婷
TensorFlow 是 Google 第二代深度學(xué)習(xí)系統(tǒng),今天宣布完全開源。TensorFlow 是一種編寫機(jī)器學(xué)習(xí)算法的界面,也可以編譯執(zhí)行機(jī)器學(xué)習(xí)算法的代碼。使用 TensorFlow 編寫的運(yùn)算可以幾乎不用更改,就能被運(yùn)行在多種異質(zhì)系統(tǒng)上,從移動(dòng)設(shè)備(例如手機(jī)和平板)到擁有幾百臺(tái)的機(jī)器和幾千個(gè) GPU 之類運(yùn)算設(shè)備的大規(guī)模分布式系統(tǒng)。
TensorFlow 降低了深度學(xué)習(xí)的使用門檻,讓從業(yè)人員能夠更簡(jiǎn)單和方便地開發(fā)新產(chǎn)品。作為?Google 發(fā)布的“平臺(tái)級(jí)產(chǎn)品”,很多人認(rèn)為它將改變?nèi)斯ぶ悄墚a(chǎn)業(yè)。
在聽到 Google TensorFlow 開源消息后,新智元的異構(gòu)計(jì)算專家微信群里有很多討論。這些討論非常有價(jià)值,從專業(yè)人士的角度解讀了 TensorFlow 的優(yōu)劣利弊。
所以新智元決定連夜采訪,收集資料,期待用最快的速度把 Google TensorFlow 的討論和介紹呈現(xiàn)給大家。
在此,特別感謝為我們提供支持的Petuum團(tuán)隊(duì)的邢波教授,張浩同學(xué)、謝澎濤同學(xué)和戴維同學(xué),以及朱軍和李寧同仁。另外,Janet Zhao?陪伴我們共同完成這篇文章,帶來不少幫助。
【邢波Eric】各位,本來不想置評(píng)TF的,因?yàn)樗麄兒臀覀兊墓ぷ魇且黄麍@和一株果樹的區(qū)別,但是既然很多誤解直接找上我們,也不得不被迫應(yīng)戰(zhàn)了,希望能解答一些迷惑。下文由CMU Petuum團(tuán)隊(duì)的張浩,謝澎濤,戴維,以及同仁朱軍,李寧貢獻(xiàn),我做了一些修改:
以下是新智元對(duì)CMU Petuum團(tuán)隊(duì)的采訪:
新智元:TF 能否做到 Google 所說的第二代深度學(xué)習(xí)系統(tǒng)平臺(tái)級(jí)產(chǎn)品?為什么能or不能,如果不能的話,TF扮演的是什么角色,對(duì)應(yīng)于傳統(tǒng)工具諸如 Spark、Petuum 的什么?
Petuum團(tuán)隊(duì):TF與Spark和Petuum并不具備可比性,TF大概僅對(duì)應(yīng)于Spark里面的MLlib庫(kù),或?qū)?yīng)于Petuum里面的深度學(xué)習(xí)框架。
展開來說:
第一,從深度學(xué)習(xí)的角度來分析,TF目前尚缺乏很多系統(tǒng)方面對(duì)deep learning的設(shè)計(jì)和優(yōu)化(比如在訓(xùn)練深度卷積神經(jīng)網(wǎng)絡(luò)時(shí),可以利用CNN的結(jié)構(gòu)特性以及算法特性在系統(tǒng)方面,給出對(duì)應(yīng)的優(yōu)化,降低內(nèi)存使用,減少通信負(fù)載等),所以TF還不能稱為一個(gè)specialized 的DL庫(kù)。
第二,Google在白皮書上展望了TF是一個(gè)分布式系統(tǒng)上的機(jī)器學(xué)習(xí)框架。但是從目前Tensor Flow的release來看,他們只支持單機(jī)多卡,不支持多機(jī)的分布式環(huán)境。就深度學(xué)習(xí)這個(gè)具體方向上,目前public available的不支持分布式的DL庫(kù)已經(jīng)有10個(gè)以上,Google當(dāng)前發(fā)布TF作為一個(gè)general-purpose的產(chǎn)品,定位有待進(jìn)一步觀察;
第三,一個(gè)專業(yè)的技術(shù)產(chǎn)品在發(fā)布之前最好服從專業(yè)標(biāo)準(zhǔn),在專業(yè)dataset上進(jìn)行性能測(cè)試,并與其它類似框架進(jìn)行比較;Tensor Flow缺乏公開的評(píng)測(cè)數(shù)據(jù),具體性能如何有待進(jìn)一步探討。
第四,業(yè)界會(huì)繼續(xù)關(guān)注的是Google此前收購(gòu)的在公司內(nèi)部具有特殊地位的DL公司Deepmind仍在使用Torch和Caffe,未來他們是否會(huì)近水樓臺(tái)使用TensorFlow或Distbelief,大家拭目以待。
新智元:谷歌在宣傳視頻中提到,TensorFlow可以帶來更好的靈活性和更廣的適用性。主要有賣點(diǎn)有:異質(zhì)平臺(tái)全通用,上到大規(guī)模分布式系統(tǒng),下到常見的手機(jī)和平板;平臺(tái)遷移時(shí)重寫代碼的代價(jià)非常小;從研究室的模型試驗(yàn)到產(chǎn)品開發(fā)者的產(chǎn)品部署,代碼無縫銜接無需更改。這些賣點(diǎn)有意義嗎?有多大的意義?對(duì)誰更有意義?
Petuum團(tuán)隊(duì):首先這些靈活性和廣適性更像是TensorFlow的愿景和展望,尚沒有公開的數(shù)據(jù)或案例表明TensorFlow做到了這一點(diǎn)。異質(zhì)計(jì)算平臺(tái)上的通用性和平臺(tái)遷移的容易性是很多機(jī)器學(xué)習(xí)系統(tǒng)追求的目標(biāo)。很高興看到Google也有這樣的愿景。
新智元:我們看到這次 TF 并沒有發(fā)布比較數(shù)據(jù),你怎么看待這件事情?
Petuum團(tuán)隊(duì):通過發(fā)布嚴(yán)格的比較數(shù)據(jù)來證實(shí)一項(xiàng)技術(shù)取得了超越性的進(jìn)展,是業(yè)界的一個(gè)基本要求。 在Google公開具體比較數(shù)據(jù)之前,TensorFlow的性能和優(yōu)勢(shì)無法具體評(píng)估。
新智元:張浩提到 TF 不支持分布式計(jì)算,而 Google 公布信息是支持分布式和單機(jī)?是否沖突?單機(jī)和分布式,在應(yīng)用上的差別是什么?
Petuum團(tuán)隊(duì):Google本次發(fā)布的TF并不支持分布式。單機(jī)和分布式在應(yīng)用上的差別是前者無法支持大規(guī)模數(shù)據(jù)或模型的高速高精度學(xué)習(xí)。
新智元:TF 主要會(huì)給產(chǎn)業(yè)帶來什么變化?對(duì)于資深的機(jī)器學(xué)習(xí)研究者,或者說學(xué)術(shù)圈,TF 有幫助么?
Petuum團(tuán)隊(duì):TF現(xiàn)有的開源版本只支持單機(jī),對(duì)產(chǎn)業(yè)和學(xué)術(shù)圈的貢獻(xiàn)比較有限。類似的單機(jī)深度學(xué)習(xí)工具已經(jīng)比較豐富,比如Caffe, Torch, Theano。與這些工具相比,TF目前尚未顯示具體優(yōu)勢(shì)。業(yè)界會(huì)進(jìn)一步關(guān)注TF是否準(zhǔn)備開源分布式版本及其性能。
新智元:TF 和現(xiàn)有開源或者未開源的機(jī)器學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)算法相比,優(yōu)勢(shì)和劣勢(shì)分別是什么?
Petuum團(tuán)隊(duì):TF中的兩個(gè)核心概念,數(shù)據(jù)流和張量,在之前的很多系統(tǒng)中已有實(shí)現(xiàn)。對(duì)于TF的開源單機(jī)版本,尚未有數(shù)據(jù)表明其與現(xiàn)有的其他單機(jī)深度學(xué)習(xí)工具相比擁有任何具體優(yōu)勢(shì)。TF分布式版本不知是否會(huì)開源,目前難以評(píng)價(jià)其性能。據(jù)Google工程師Rajat Monga說,TF分布式版本的很多代碼與Goolge的其他系統(tǒng)代碼耦合,給開源造成困難。
新智元:TF 和 PETUUM 的應(yīng)用領(lǐng)域相同么?對(duì)于初創(chuàng)企業(yè),這兩個(gè)系統(tǒng)各有什么優(yōu)劣?
Petuum團(tuán)隊(duì):Petuum 是通用平臺(tái)(general-purposed platform)支持多種算法,模型,通訊協(xié)議,調(diào)度,容錯(cuò),等等。而目前發(fā)布的TF則是專門支援深度學(xué)習(xí)的一個(gè)垂直軟件包。如果就深度學(xué)習(xí)這個(gè)具體方向來比較,TF和Petuum Poseidon 可比,但后者是Petuum平臺(tái)上的一個(gè)垂直應(yīng)用模塊,專事CPU和GPU多機(jī)分布式和單機(jī)上的深度學(xué)習(xí),二者都提供了高階簡(jiǎn)易的編程界面以及GPU和CPU支援多種深度模型(如CNN、DNN等)。至于深度學(xué)習(xí)以外的機(jī)器學(xué)習(xí)模型和算法,目前看來并不是TF支持的重點(diǎn)。Petuum的定位則是用通用的界面來做分布式學(xué)習(xí),例如,Petuum開源的基于隨機(jī)采樣算法的大規(guī)模主題模型,基于坐標(biāo)下降算法的稀疏回歸分析和協(xié)同過濾等??傮w說來,Petuum和TF是針對(duì)不同層面的問題,以不同的思路和框架設(shè)計(jì)的而建立的不同層面的系統(tǒng)。Petuum走的是通用機(jī)器學(xué)習(xí)(包括深度學(xué)習(xí))平臺(tái)路線,TF則是關(guān)注深度學(xué)習(xí)的專門應(yīng)用系統(tǒng),后者對(duì)應(yīng)于Petuum框架下的模塊之一機(jī)器學(xué)習(xí)工具庫(kù)中的Poseidon深度學(xué)習(xí)系統(tǒng)。面對(duì)業(yè)界的具體應(yīng)用場(chǎng)景,各個(gè)初期創(chuàng)業(yè)公司可以根據(jù)具體問題的需求來選擇。
介紹:Google TensorFlow(翻譯自 Google Research Blog)
深度學(xué)習(xí)在計(jì)算機(jī)科學(xué)有非常大的影響,令它能夠被運(yùn)用在最前沿的研究中,又能開發(fā)出實(shí)用性高到讓人驚喜的產(chǎn)品、無數(shù)人每天都在使用。
我們 2011 年發(fā)布了深度學(xué)習(xí)基礎(chǔ)架構(gòu) DistBelief,它讓 Google 能夠通過數(shù)據(jù)中心存儲(chǔ)的成千上萬的數(shù)據(jù)來進(jìn)行前所未有的大規(guī)模訓(xùn)練,建立起Google史上最大的神經(jīng)網(wǎng)絡(luò)模型。我們展示了一些例子,例如從 Youtube 上沒有被標(biāo)記的圖片中學(xué)會(huì)識(shí)別出“貓”(也就是學(xué)會(huì)“貓”這個(gè)概念),將 Google 應(yīng)用中的語音識(shí)別水平提高25%,也贏得了 Imagenet Large Scale Visual Recognition Challenge 的冠軍。
雖然 DistBelief 非常成功,但它有很大的限制。它僅僅以神經(jīng)網(wǎng)絡(luò)為目的、十分局限,而且很難進(jìn)行配置,另外它牢牢綁定在 Google 的內(nèi)部基礎(chǔ)設(shè)施上,幾乎不可能將代碼與外界共享。
今天我們很自豪地發(fā)布了一款開源軟件:TensorFlow,第二代機(jī)器學(xué)習(xí)系統(tǒng),設(shè)計(jì)上尤其針對(duì)克服 DistBelief 的短板。TensorFlow 更通用、靈活、易攜帶、易使用,而且完全開源。同時(shí),我們也在 DistBelief 的基礎(chǔ)上改善了運(yùn)行速度、可擴(kuò)縮性和與產(chǎn)品的銜接。實(shí)際上,在很多指標(biāo)上,TensorFlow 要比 DistBelief 要快一倍。
獨(dú)家視頻翻譯
allowfullscreen="" class="video_iframe" frameborder="0" height="375" width="500" src="http://v.qq.com/iframe/preview.html?vid=x0172s0j1fm&width=500&height=375&auto=0" style="margin: 0px; padding: 0px; max-width: 100%; width: 523px; z-index: 1; box-sizing: border-box !important; word-wrap: break-word !important;">
TensorFlow 自帶大量的深度學(xué)習(xí)支持,但并不只是為了深度學(xué)習(xí)而生,也有一些更通用的支持:任何你可以表達(dá)成流程圖的計(jì)算,你都可以使用 TensorFlow 來完成運(yùn)算。所以任何基于梯度的機(jī)器學(xué)習(xí)算法都能受益于 TensorFlow 的自動(dòng)微分和最優(yōu)程序組。不僅如此,你也很容易就能通過 Python 的前端,在 TensorFlow 編寫你的新靈感。
TensorFlow 在研究中相當(dāng)有用,但它也已經(jīng)做好了應(yīng)用于實(shí)際產(chǎn)品的準(zhǔn)備。TensorFlow 在最初建立的時(shí)候,就被設(shè)定為快速、輕便而且與產(chǎn)品銜接迅速。使用 TensorFlow,無論是訓(xùn)練桌面端的 GPU 還是在手機(jī)里運(yùn)行,都沒有多大差別。而且,通過使用我們采用最新科技制作的模板結(jié)構(gòu),你可以用強(qiáng)大的機(jī)器學(xué)習(xí)科技快速開始實(shí)施你的想法。例如,我們計(jì)劃在近期公布 TensorFlow 在 ImageNet 計(jì)算機(jī)視覺模型的應(yīng)用。
但是關(guān)于 TensorFlow 最重要的事情是,它是屬于你的。我們已經(jīng)把 TensorFlow 開源,作為獨(dú)立的庫(kù)和相關(guān)的工具,建立在 Apache 2.0 的基礎(chǔ)上,所以無論你是誰,都可以把它免費(fèi)運(yùn)用在你的研究中。
我們所有的深度學(xué)習(xí)實(shí)驗(yàn),都使用了 TensorFlow 架構(gòu)。我們的工程師通過它把深度神經(jīng)網(wǎng)絡(luò)信號(hào)放到了 Google 搜索中。我們會(huì)持續(xù)使用 TensorFlow 來服務(wù)于機(jī)器學(xué)習(xí)的產(chǎn)品,而且我們的研究團(tuán)隊(duì),也會(huì)分享 TensorFlow 在各大公開的想法中的實(shí)施情況。更多的信息,請(qǐng)?jiān)?www.tensorflow.org 中了解。
技術(shù)摘要:異質(zhì)分布式系統(tǒng)上的大規(guī)模機(jī)器學(xué)習(xí)(翻譯自 TensorFlow 白皮書)
TensorFlow是一種編寫機(jī)器學(xué)習(xí)算法的界面,也可以編譯執(zhí)行機(jī)器學(xué)習(xí)算法的代碼。使用TensorFlow編寫的運(yùn)算可以幾乎不用更改地被運(yùn)行在多種異質(zhì)系統(tǒng)上,從移動(dòng)設(shè)備(例如手機(jī)和平板)到擁有幾百臺(tái)機(jī)器和幾千個(gè)GPU之類的運(yùn)算設(shè)備的大規(guī)模分布式系統(tǒng)。TensorFlow的系統(tǒng)靈活性很強(qiáng),可以用來編寫各式各樣的算法,包括深度神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練和干擾算法,并且它已經(jīng)被用于實(shí)驗(yàn)研究中,也被部署在產(chǎn)品的機(jī)器學(xué)習(xí)系統(tǒng)中,已經(jīng)被應(yīng)用于十幾種計(jì)算機(jī)科學(xué)以及其他學(xué)科的領(lǐng)域中,包括語音識(shí)別、機(jī)器視覺、機(jī)器人學(xué)、信息檢索、自然語言處理、地理信息提取以及計(jì)算機(jī)輔助藥物設(shè)計(jì)。
白皮書全文(19PDF)
在新智元訂閱號(hào)回復(fù)1110下載白皮書全文
白皮書全文(19PDF)
在新智元訂閱號(hào)回復(fù)1110下載白皮書全文
寄語: “我們從來不乏熱忱,夢(mèng)想,全民動(dòng)員,與旺火添柴者,但科學(xué)與實(shí)業(yè)都更需要嚴(yán)謹(jǐn),踏實(shí),誠(chéng)實(shí),理性,厚積薄發(fā),甘於寂寞獨(dú)行,敢於整面競(jìng)爭(zhēng)的精神和實(shí)踐者。祝願(yuàn)并期待【新智元】示範(fàn)學(xué)界業(yè)界清風(fēng),增進(jìn)學(xué)術(shù)與工業(yè)互動(dòng),孕育計(jì)算機(jī)和數(shù)字信息時(shí)代的新成果和思想。" _______________
總結(jié)
以上是生活随笔為你收集整理的深度解析】Google第二代深度学习引擎TensorFlow开源(CMU邢波独家点评、白皮书全文、视频翻译)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Facebook如何向十亿人推荐东西
- 下一篇: Graph Cut and Its Ap