5G可以說(shuō)是2019年上半年十分閃耀的那顆“星”了,美方還不惜代價(jià)地..."/>
ITBear旗下自媒體矩陣:

2019深度學(xué)習(xí)框架排行榜(從TOP 10到TOP 3)

   時(shí)間:2019-08-20 18:56:11 來(lái)源:互聯(lián)網(wǎng)編輯:星輝 發(fā)表評(píng)論無(wú)障礙通道

1.寫(xiě)在前面

5G可以說(shuō)是2019年上半年十分閃耀的那顆“星”了,美方還不惜代價(jià)地試圖封鎖中國(guó)的5G技術(shù)出海。5G之所以重要,是因?yàn)槠鋵⒑虯I技術(shù),大數(shù)據(jù)技術(shù)一道顛覆我們現(xiàn)有的生活模式,讓智能化成為現(xiàn)實(shí)。

在智能化的世界,5G技術(shù)提供高速率(>1 Gbps),低延時(shí)(1ms)的基礎(chǔ)網(wǎng)絡(luò)服務(wù),組建物聯(lián)網(wǎng)(IoT,Internet of Things),大數(shù)據(jù)技術(shù)提供對(duì)萬(wàn)物互聯(lián)產(chǎn)生的海量數(shù)據(jù)的整合能力,而AI技術(shù)則提供整個(gè)智能生態(tài)的計(jì)算與決策能力,深度學(xué)習(xí)技術(shù)是非常高效的實(shí)現(xiàn)方式,在過(guò)去10年,已被學(xué)術(shù)界和工業(yè)界反復(fù)證實(shí),能夠依靠各種模型算法達(dá)成比人類判斷更精準(zhǔn),更快速的“靈丹妙藥”。

101_190820122937_1_lit (1).png

Figure 1 智能時(shí)代

技術(shù)需要高效的實(shí)現(xiàn)模式來(lái)進(jìn)行應(yīng)用,深度學(xué)習(xí)框架就是那個(gè)實(shí)現(xiàn)“靈藥“的“煉丹爐”,能夠通過(guò)深度學(xué)習(xí)算法模塊化的封裝,快速搭建模型,輸入數(shù)據(jù),進(jìn)行各種模型的訓(xùn)練,調(diào)優(yōu),測(cè)試和部署,為整個(gè)智能生態(tài)提供預(yù)測(cè),決策等核心推斷能力。

2.深度學(xué)習(xí)框架排行榜

得益于深度學(xué)習(xí)框架發(fā)展初期各家為更好的推動(dòng)技術(shù)發(fā)展而造就的開(kāi)源生態(tài)模式,如今,各式各樣的框架百花齊放,百家爭(zhēng)鳴,快速推動(dòng)了深度技術(shù)在工業(yè)界的落地應(yīng)用。當(dāng)然,好“藥”也得有好“爐”煉,下面我們就介紹下目前主流的深度學(xué)習(xí)框架的發(fā)展?fàn)顩r,各自的特點(diǎn)以及適合的場(chǎng)景等,找到合適的“爐“。

從業(yè)界影響、資源投入、開(kāi)發(fā)生態(tài)、文檔體系、模型全面性、工業(yè)實(shí)踐和開(kāi)源熱度(github)等七個(gè)方面評(píng)估各框架的發(fā)展?fàn)顩r,結(jié)果如下圖(供參考)。

101_190820123007_1_lit.png

Figure 2 十大深度學(xué)習(xí)框架發(fā)展程度(caffe,caffe2分開(kāi)統(tǒng)計(jì))

再來(lái)看一下GitHub對(duì)應(yīng)的一些數(shù)據(jù)情況,Pytorch,TensorFlow,PaddlePaddle過(guò)去兩年保持了較快的發(fā)展速度,尤其Pytorch的星數(shù)有3倍增長(zhǎng),博得了眾多人的眼球。而Caffe&Caffe2,Theano,CNTK等,雖然已經(jīng)停止迭代,但在AI啟航的時(shí)間點(diǎn)仍然有一定的增長(zhǎng)。

101_190820123034_1_lit.png

Figure 3 十大深度學(xué)習(xí)框架github概覽(caffe,caffe2分開(kāi)統(tǒng)計(jì))

101_190820123056_1_lit.png

Figure 4 十大深度學(xué)習(xí)框架增長(zhǎng)率(caffe,caffe2分開(kāi)統(tǒng)計(jì))

上圖中,前三個(gè)(Pytorch,TensorFlow,PaddlePaddle)是個(gè)人認(rèn)為目前發(fā)展快,并且比較完善的框架,末端的四個(gè)是已經(jīng)官宣不再更新的,而其他的是發(fā)展到平穩(wěn)期或資源有限的一些框架。

3.十大深度學(xué)習(xí)框架詳解

101_190820123128_1_lit.png

Google的TensorFlow,可以說(shuō)是當(dāng)今十分流行的深度學(xué)習(xí)框架。Airbnb, DeepMind,Intel,Nvidia,Twitter以及許多其他著名公司都在使用它。

Google自開(kāi)源TensorFlow起,投入大量的人力,物力,財(cái)力逐步構(gòu)建了一個(gè)AI生態(tài),從基礎(chǔ)研究、AI教育、再到應(yīng)用實(shí)現(xiàn),而這個(gè)生態(tài)的核心就是TensorFlow。如前所說(shuō),深度學(xué)習(xí)是AIoT時(shí)代的基石,毫無(wú)疑問(wèn),Google依然走在時(shí)代轉(zhuǎn)折點(diǎn)的前列。

TensorFlow提供全面的服務(wù),無(wú)論是Python,C++,JAVA,Go,甚至是Javascript,Julia,C#,幾乎所有開(kāi)發(fā)者都可以從熟悉的語(yǔ)言入手開(kāi)始深度學(xué)習(xí)的旅程。TensorFlow構(gòu)建了活躍的社區(qū),完善的文檔體系,大大降低了我們的學(xué)習(xí)成本,不過(guò)社區(qū)和文檔主要以英文為主,中文支持有待加強(qiáng)。另外,TensorFlow有很直觀的計(jì)算圖可視化呈現(xiàn)。模型能夠快速的部署在各種硬件機(jī)器上,從高性能的計(jì)算機(jī)到移動(dòng)設(shè)備,再到更小的更輕量的智能終端。

TensorFlow的缺點(diǎn)已經(jīng)被詬病多年,相比Pytorch,Caffe等框架,TensorFlow的計(jì)算速度可以說(shuō)是“牛拉車“。而且通過(guò)它構(gòu)建一個(gè)深度學(xué)習(xí)框架需要更復(fù)雜的代碼,還要忍受重復(fù)的多次構(gòu)建靜態(tài)圖。

綜合來(lái)說(shuō),對(duì)于英文閱讀和英文交流毫無(wú)障礙的同學(xué),TensorFlow依然是深度學(xué)習(xí)框架的優(yōu)選方案,畢竟可以和人流暢交流是學(xué)習(xí)和工作的重點(diǎn)。

101_190820123217_1_lit.png

Pytorch是基于用Lua編寫(xiě)的Torch庫(kù)的Python實(shí)現(xiàn)的深度學(xué)習(xí)庫(kù),它由Facebook創(chuàng)建,目前被廣泛應(yīng)用于學(xué)術(shù)界和工業(yè)界,隨著Caffe2項(xiàng)目并入Pytorch,也穩(wěn)固了Pytorch緊追并迫近TensorFlow在深度學(xué)習(xí)應(yīng)用框架領(lǐng)域的地位。

Pytorch官網(wǎng)的標(biāo)題語(yǔ)簡(jiǎn)明的描述了目前Pytorch的特點(diǎn)以及將要發(fā)力的方向。Pytorch在學(xué)術(shù)界優(yōu)勢(shì)很大,關(guān)于用到深度學(xué)習(xí)模型的文章,除了Google家的,其他大部分都是通過(guò)Pytorch進(jìn)行實(shí)驗(yàn)的,究其原因一是Pytorch庫(kù)足夠簡(jiǎn)單,跟NumPy,SciPy等可以無(wú)縫連接,而且基于tensor的GPU加速非常給力,二是訓(xùn)練網(wǎng)絡(luò)迭代的核心-梯度的計(jì)算,Autograd架構(gòu)(借鑒于Chainer),在Pytorch,我們可以動(dòng)態(tài)的設(shè)計(jì)網(wǎng)絡(luò),而無(wú)需笨拙的定義靜態(tài)網(wǎng)絡(luò)圖,才能去進(jìn)行計(jì)算,想要對(duì)網(wǎng)絡(luò)有任務(wù)修改,都要從頭開(kāi)始構(gòu)建靜態(tài)圖。基于簡(jiǎn)單,靈活的設(shè)計(jì),Pytorch快速成為了學(xué)術(shù)界的主流深度學(xué)習(xí)框架。

Pytorch的劣勢(shì)在于模型部署,由于對(duì)其部署難度早有耳聞,我沒(méi)嘗試過(guò)部署Pytorch的模型,一般是在Pytorch快速的試驗(yàn)新的模型,確認(rèn)好的效果再去找“現(xiàn)成的”的TensorFlow模型做簡(jiǎn)單的優(yōu)化。

不過(guò)現(xiàn)在,如果稍微深入的了解TensorFlow和Pytorch,就會(huì)發(fā)現(xiàn)他們?cè)絹?lái)越像,TF加入了動(dòng)態(tài)圖架構(gòu),Pytorch致力于其在工業(yè)界更加易用。打開(kāi)各自的官網(wǎng),你也會(huì)發(fā)現(xiàn)文檔風(fēng)格也越發(fā)的相似。

101_190820123244_1_lit.png

PaddlePaddle是由百度自主開(kāi)發(fā)的開(kāi)源深度學(xué)習(xí)框架,近期發(fā)現(xiàn)有了中文名字,飛槳。官網(wǎng)截圖也很有意思,很多小人在劃槳。飛槳?jiǎng)偘l(fā)布的時(shí)候,并不被看好,感覺(jué)更像是Google有,百度也要有的腔調(diào),但是近來(lái)在做一個(gè)關(guān)于語(yǔ)義識(shí)別的項(xiàng)目,其他框架支持中文的模型實(shí)在是少的可憐,時(shí)間緊張也沒(méi)有時(shí)間大規(guī)模訓(xùn)練,于是就來(lái)試試飛槳,其中基于BERT的ERNIE模型取得了較好的效果,部署也不折騰。個(gè)人認(rèn)為可以將模型庫(kù)中的經(jīng)典模型套在自己的問(wèn)題上,作為baseline模型快速試驗(yàn),而后慢慢調(diào)優(yōu)追求更好的效果。

從模型庫(kù)找到適合自己的模型,按照實(shí)踐教程一步步進(jìn)行就行了,過(guò)程還是比較簡(jiǎn)單的,遇到的問(wèn)題在github的issues中都有找到,雖然不像TF那么活躍,但是支持也是很及時(shí)的。我是從官網(wǎng)找模型,發(fā)現(xiàn)官網(wǎng)又更新了,盜張圖過(guò)來(lái)感受下支持的模型。

101_190820123311_1_lit.png

Figure 5 PaddlePaddle模型庫(kù)

功能上,飛槳同時(shí)支持動(dòng)態(tài)圖和靜態(tài)圖,能方便的調(diào)試模型,方便的部署,非常適合業(yè)務(wù)應(yīng)用的落地實(shí)現(xiàn)。飛槳也已經(jīng)支持?jǐn)?shù)百個(gè)節(jié)點(diǎn)的高效并行訓(xùn)練。可以說(shuō)在過(guò)去2年的時(shí)間里,深度學(xué)習(xí)領(lǐng)域在大規(guī)模的落地應(yīng)用,各家框架也都在快速的發(fā)展,但是百度的PaddlePaddle看來(lái)是這個(gè)階段發(fā)展更快的框架,甚至是發(fā)展更快的AI開(kāi)發(fā)生態(tài)。

以上三個(gè)框架可以說(shuō)是目前發(fā)展比較快的,并且在穩(wěn)定更新,維護(hù)的。功能上來(lái)說(shuō),各框架已經(jīng)“越長(zhǎng)越像”了,三個(gè)框架還是會(huì)有各自的特點(diǎn),如何選擇還是要根據(jù)自己的目標(biāo)來(lái)看。

下面來(lái)簡(jiǎn)單介紹下其他的一些主要框架。

101_190820123350_1_lit.png
101_190820123408_1_lit.png
101_190820123426_1_lit.png

4.如何選擇?

那么如何在眾多的框架中選擇呢,我的建議有3個(gè)框架:TensorFlow,Pytorch,飛槳。其他的不是投入資源有限,就是已經(jīng)不再維護(hù)了。實(shí)際上,我們或多或少應(yīng)該都了解下這3個(gè)框架,針對(duì)不同的目的可以快速選型。

如果是剛剛接觸深度學(xué)習(xí),以學(xué)習(xí)為目的的,我建議從TensorFlow和飛槳開(kāi)始,至少目前來(lái)看,Google和百度是傾全力打造這兩個(gè)平臺(tái)的,他們已經(jīng)不只是一個(gè)深度學(xué)習(xí)框架了,更是一個(gè)AI開(kāi)發(fā)的生態(tài),從基礎(chǔ)的視頻課程,完善的文檔體系到項(xiàng)目的開(kāi)放落地提供的是統(tǒng)一的服務(wù)。多說(shuō)一句,百度飛槳的基礎(chǔ)文檔相當(dāng)詳細(xì),不只有代碼實(shí)現(xiàn),數(shù)據(jù)流過(guò)程的教程,同時(shí)也包含了詳細(xì)的算法原理,這點(diǎn)對(duì)于還不是那么了解相應(yīng)模型的同學(xué)來(lái)說(shuō)是極大的方便。對(duì)于學(xué)有余力的同學(xué),還是建議對(duì)這3個(gè)框架都了解下。

如果是出于學(xué)術(shù)目的的,建議從Pytorch開(kāi)始,畢竟學(xué)術(shù)研究要緊盯著前沿,看文章,復(fù)現(xiàn)文章中模型的效果,選大家都用的可以節(jié)省不必要的時(shí)間成本,把重點(diǎn)放在優(yōu)化模型提升模型效果上。

如果是想要開(kāi)箱即用,想即刻將深度學(xué)習(xí)技術(shù)應(yīng)用到自己的場(chǎng)景中嘗試,我會(huì)建議選擇飛槳,飛槳中有大量的實(shí)戰(zhàn)案例,基本套到相應(yīng)的場(chǎng)景就能迭代起來(lái)了。而且在NLP領(lǐng)域,需要對(duì)各種語(yǔ)言進(jìn)行預(yù)處理,毫無(wú)疑問(wèn)對(duì)中文支持更好的是飛槳,比如ERNIE,其挖掘海量的中文數(shù)據(jù),對(duì)先驗(yàn)語(yǔ)義知識(shí)進(jìn)行建模,增強(qiáng)了語(yǔ)義表達(dá)能力,可以作為NLP,NLU應(yīng)用的基礎(chǔ)服務(wù)不同的場(chǎng)景。

隨手貼幾個(gè)招聘網(wǎng)站上的JD,也可以幫大家明確一下方向,供參考。

101_190820123453_1_lit.png
101_190820123512_1_lit.png
101_190820123527_1_lit.png

5.未來(lái)

我們處在更好的時(shí)代。

感謝互聯(lián)網(wǎng)文化,感謝開(kāi)源文化,讓技術(shù)可以以指數(shù)級(jí)的速度發(fā)展,我們更要感謝在時(shí)代轉(zhuǎn)折點(diǎn)的那些引路人,沒(méi)有Google,百度等企業(yè)不遺余力地嘗試將新技術(shù)應(yīng)用于各產(chǎn)業(yè),就沒(méi)有技術(shù)的飛速發(fā)展,就沒(méi)有美好的生活模式的變遷。

AI技術(shù)的平民化是智能時(shí)代發(fā)展的催化劑,我們應(yīng)用深度學(xué)習(xí)技術(shù),從原理到框架,再到應(yīng)用平臺(tái)化工具將其落地到所有的場(chǎng)景,這是未來(lái)的發(fā)展趨勢(shì)。得益于5G技術(shù)的發(fā)展,相信在不久的將來(lái),我們將實(shí)現(xiàn)萬(wàn)物互聯(lián)。深度學(xué)習(xí)是AIoT時(shí)代的關(guān)鍵,各平臺(tái)已有的實(shí)踐落地項(xiàng)目給我們提供了產(chǎn)業(yè)落地的實(shí)現(xiàn)路徑??芍^星星之火,已成燎原之勢(shì),另外,發(fā)展我國(guó)自己的AI開(kāi)發(fā)生態(tài)也同樣重要,考慮到近期的“華為事件”,有備無(wú)患。

結(jié)尾想說(shuō),框架、平臺(tái)都只是為我們提供了工具,明確我們的目標(biāo)并找到合適的場(chǎng)景,推進(jìn)應(yīng)用在業(yè)務(wù)上的落地,實(shí)現(xiàn)商業(yè)價(jià)值才是核心競(jìng)爭(zhēng)力。

舉報(bào) 0 收藏 0 打賞 0評(píng)論 0
 
 
更多>同類資訊
全站最新
熱門(mén)內(nèi)容
網(wǎng)站首頁(yè)  |  關(guān)于我們  |  聯(lián)系方式  |  版權(quán)聲明  |  網(wǎng)站留言  |  RSS訂閱  |  違規(guī)舉報(bào)  |  開(kāi)放轉(zhuǎn)載  |  滾動(dòng)資訊  |  English Version