丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能 正文
發(fā)私信給亞萌
發(fā)送

1

賈揚(yáng)清F8現(xiàn)場(chǎng)演講:從手機(jī)到大型服務(wù)器集群,Caffe2如何適用于不同設(shè)備和場(chǎng)景?(附視頻)

本文作者: 亞萌 2017-04-22 01:01
導(dǎo)語(yǔ):在F8大會(huì)上,F(xiàn)acebook AML實(shí)驗(yàn)室的Andrew Tullock和賈揚(yáng)清上臺(tái)介紹了Caffe2輕巧、易用和可擴(kuò)展的特性。二人還強(qiáng)調(diào)了“unix 哲學(xué)。

雷鋒網(wǎng)按:隨著Facebook 2017年開(kāi)發(fā)者大會(huì)F8的召開(kāi),Caffe2框架開(kāi)源,機(jī)器學(xué)習(xí)和深度學(xué)習(xí)開(kāi)發(fā)社區(qū)再一次迎來(lái)興奮時(shí)刻。在F8大會(huì)上,F(xiàn)acebook AML實(shí)驗(yàn)室的 Andrew Tullock和賈揚(yáng)清上臺(tái)介紹了Caffe2輕巧、易用和可擴(kuò)展的特性。二人還強(qiáng)調(diào)了“unix 哲學(xué)”(即unframework)的設(shè)計(jì)理念。就像賈揚(yáng)清在知乎上所說(shuō)的:“framework不重要,重要的是技術(shù),這也是我一直主張把核心軟件比如說(shuō)Gloo,NNPAXK,FAISS這些單獨(dú)放出來(lái),不放在框架里面的原因--每個(gè)框架都可以拿這些軟件來(lái)優(yōu)化,這才是做community的道理?!?以下為Andrew Tullock和賈揚(yáng)清演講視頻,另附文字版,由雷鋒網(wǎng)編譯。

Andrew Tullock:Caffe2 在移動(dòng)端的開(kāi)發(fā)和應(yīng)用

大家好,我的名字是Andrew Tullock,來(lái)自Facebook AML實(shí)驗(yàn)室,與我一起演講的還有我的同事賈揚(yáng)清。我主要講一下如何將機(jī)器學(xué)習(xí)和深度學(xué)習(xí)模型裝載到移動(dòng)端上運(yùn)行,包括Caffe2涉及到的一些開(kāi)源的算法、軟件和工具。揚(yáng)清會(huì)談一談這些技術(shù)如何在移動(dòng)端之外的設(shè)備上擴(kuò)展。

這里是一個(gè)實(shí)時(shí)神經(jīng)風(fēng)格遷移的例子,已經(jīng)在本周很多Keynote場(chǎng)合提到了。

賈揚(yáng)清F8現(xiàn)場(chǎng)演講:從手機(jī)到大型服務(wù)器集群,Caffe2如何適用于不同設(shè)備和場(chǎng)景?(附視頻)

一年半之前,當(dāng)風(fēng)格遷移的技術(shù)剛開(kāi)始應(yīng)用的時(shí)候,在大型GPU集群上處理一幀的圖像,都要花費(fèi)好幾分鐘的時(shí)間。經(jīng)過(guò)我們和其他同仁在算法和軟件上的改進(jìn),這項(xiàng)技術(shù)如今變成了可以“實(shí)時(shí)進(jìn)行”,并且是在你的手機(jī)上實(shí)現(xiàn)實(shí)時(shí)風(fēng)格轉(zhuǎn)換,這比幾個(gè)月之前進(jìn)步了好幾個(gè)數(shù)量級(jí)。

我們有一個(gè)圖像數(shù)據(jù)庫(kù),里面有一些風(fēng)格化的圖像,比如莫奈或畢加索的畫(huà),拿來(lái)訓(xùn)練CNN。訓(xùn)練目標(biāo)是,輸出的圖片風(fēng)格轉(zhuǎn)變,但是圖片內(nèi)容不變,模型訓(xùn)練完成后,輸入其它圖像,就會(huì)發(fā)生風(fēng)格相似的轉(zhuǎn)變。一開(kāi)始我們是在Facebook的數(shù)據(jù)中心的GPU上做離線的模型訓(xùn)練,后來(lái)就轉(zhuǎn)移到手機(jī)上運(yùn)行,這其中就涉及到iOS和Android系統(tǒng)上高度優(yōu)化且開(kāi)源的Caffe2框架。

  • 為什么Facebook一定要在移動(dòng)端建造深度學(xué)習(xí)?

Facebook有數(shù)百萬(wàn)的移動(dòng)端用戶,但是現(xiàn)在大部分機(jī)器學(xué)習(xí)任務(wù)都只能在云上進(jìn)行。但是,在移動(dòng)端進(jìn)行機(jī)器學(xué)習(xí)任務(wù)有以下好處:保護(hù)隱私,因?yàn)閿?shù)據(jù)不會(huì)離開(kāi)你的移動(dòng)端;避免網(wǎng)絡(luò)延遲和帶寬問(wèn)題;提升用戶體驗(yàn),比如優(yōu)化feed ranking功能。所以我們開(kāi)始著手,從底層建造一個(gè)專門為移動(dòng)端優(yōu)化的機(jī)器學(xué)習(xí)框架。

賈揚(yáng)清F8現(xiàn)場(chǎng)演講:從手機(jī)到大型服務(wù)器集群,Caffe2如何適用于不同設(shè)備和場(chǎng)景?(附視頻)

建造的過(guò)程中,有幾個(gè)關(guān)鍵之處。首先一個(gè)關(guān)鍵,就是我們遵循“unix 哲學(xué)”,先建立輕巧的框架核心,之后再盡量完善整個(gè)生態(tài)。這個(gè)框架核心具有很強(qiáng)的擴(kuò)展性,可以在小型的移動(dòng)設(shè)備和大型GPU集群的服務(wù)器上運(yùn)行機(jī)器學(xué)習(xí)和深度學(xué)習(xí)模型。

另一個(gè)關(guān)鍵之處,是性能。尤其是在運(yùn)算能力不強(qiáng)的設(shè)備上,性能成為瓶頸,這就需要進(jìn)行一些特殊的設(shè)計(jì)來(lái)改善。首先,在目標(biāo)平臺(tái)上使用最高效的底層函數(shù)庫(kù)(primitive),這里面會(huì)涉及到在GPU上運(yùn)行的cuDNN、在英特爾CPU上運(yùn)行的MKL DNN等等。

第三個(gè)關(guān)鍵之處,就是優(yōu)化這個(gè)框架核心所占用空間(footprint)。這個(gè)涉及到代碼尺寸(code size)以及模型尺寸,將代碼尺寸最小化是圍繞著極簡(jiǎn)框架核心(minimal core)展開(kāi)的,極簡(jiǎn)框架核心是一個(gè)可以加入插件的架構(gòu)。而縮小模型尺寸,涉及到便捷地使用最新模型壓縮技術(shù)。

賈揚(yáng)清F8現(xiàn)場(chǎng)演講:從手機(jī)到大型服務(wù)器集群,Caffe2如何適用于不同設(shè)備和場(chǎng)景?(附視頻)

  • 針對(duì)CPU的優(yōu)化

Facebook希望在多種類型的設(shè)備上快速運(yùn)行機(jī)器學(xué)習(xí)和深度學(xué)習(xí)模型,但是并沒(méi)有一個(gè)通用的模型尺寸適用于所有的設(shè)備的后端。我們基線單元(baseline unit)就是現(xiàn)今大部分手機(jī)使用的ARM CPU,對(duì)于一些新型設(shè)備,我們也為GPU甚至是DSP做特定優(yōu)化。ARM CPU是目前手機(jī)上比較常見(jiàn)的進(jìn)行浮點(diǎn)運(yùn)算的芯片,其中的一個(gè)關(guān)鍵點(diǎn),就是使用 SIMD 單元,所以我們寫(xiě)了一套定制的 NEON Kernel,這些已經(jīng)在開(kāi)源的Caffe2go項(xiàng)目里面了,這比現(xiàn)存其它的 NEON Kernel 性能有了大幅提升。

對(duì)于卷積而言,我們的一個(gè)團(tuán)隊(duì)成員和一位實(shí)習(xí)生,開(kāi)發(fā)了NNPack 庫(kù),包含了一系列先進(jìn)的卷積算法(比如針對(duì)3x3的卷積的Winograd's minimal filtering算法),并且提供了大幅提升性能的工具。我們以上的這些工作,確實(shí)換來(lái)了性能的大幅提升,尤其是對(duì)于圖像映射任務(wù)中的大型卷積的效果很好。

賈揚(yáng)清F8現(xiàn)場(chǎng)演講:從手機(jī)到大型服務(wù)器集群,Caffe2如何適用于不同設(shè)備和場(chǎng)景?(附視頻)

  • 針對(duì)GPU的優(yōu)化

再次強(qiáng)調(diào),后端需要足夠小的框架核心,因?yàn)槲覀兿氚阉诺饺魏蔚胤?。我們做到了大約只需要幾百KB,就可以裝載這個(gè)框架核心。針對(duì)高端的最新iPhone,我們的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)系統(tǒng)對(duì)于GPU的數(shù)據(jù)并行性是非常友好的。所以我們寫(xiě)了一套定制的Metal Kernel,也使用了蘋(píng)果的Metal Shader庫(kù),為Caffe2打造一個(gè)定制的GPU后端。這帶來(lái)一系列好處,其中一個(gè)就是速度提升,比完全改造之前的速度提升了十倍;相比于已經(jīng)優(yōu)化過(guò)的CPU庫(kù),針對(duì)不同的問(wèn)題,可以提升2-5倍速度。同時(shí)能耗也有了本質(zhì)提升,所以我們可以進(jìn)行更多的計(jì)算。

賈揚(yáng)清F8現(xiàn)場(chǎng)演講:從手機(jī)到大型服務(wù)器集群,Caffe2如何適用于不同設(shè)備和場(chǎng)景?(附視頻)

Android系統(tǒng)上的GPU也類似,我們與高通合作開(kāi)發(fā)了“驍龍神經(jīng)處理引擎”(SNPE),如今高通驍龍SoC芯片為大量的手機(jī)服務(wù),現(xiàn)在是Caffe2的首要概念( first class concept),我們可以利用這些CPU和DSP,從本質(zhì)上提升能效和性能。

賈揚(yáng)清F8現(xiàn)場(chǎng)演講:從手機(jī)到大型服務(wù)器集群,Caffe2如何適用于不同設(shè)備和場(chǎng)景?(附視頻)

下圖是一個(gè)性能提升的例子。

賈揚(yáng)清F8現(xiàn)場(chǎng)演講:從手機(jī)到大型服務(wù)器集群,Caffe2如何適用于不同設(shè)備和場(chǎng)景?(附視頻)

當(dāng)我們將模型裝載到數(shù)十億移動(dòng)客戶端上時(shí),最小化overhead就變得尤為重要。你可以把這些模型看做是數(shù)百萬(wàn)、數(shù)千萬(wàn)的浮點(diǎn)數(shù)字集合,我們使用模型壓縮技巧,在保持原有質(zhì)量的同時(shí)縮小模型尺寸。我們的工具,來(lái)自韓松(Song Han)在2016年ICLR的一篇論文,他曾經(jīng)也是我們團(tuán)隊(duì)的一名實(shí)習(xí)生。壓縮的過(guò)程分好幾步,首先我們對(duì)這些模型進(jìn)行剪枝(pruning),丟掉一些不那么重要權(quán)重。當(dāng)我們進(jìn)行剪枝的時(shí)候,我們可以應(yīng)用一些標(biāo)準(zhǔn)的量化技巧。你可以把這個(gè)過(guò)程想象成,在數(shù)十萬(wàn)的浮點(diǎn)數(shù)字中應(yīng)用了一個(gè)標(biāo)準(zhǔn)的聚類算法技巧,

賈揚(yáng)清F8現(xiàn)場(chǎng)演講:從手機(jī)到大型服務(wù)器集群,Caffe2如何適用于不同設(shè)備和場(chǎng)景?(附視頻)

我們可以把每個(gè)32位的浮點(diǎn)數(shù)字都?jí)嚎s到幾個(gè)比特,代表其成本指數(shù)( cost index)。所以,這個(gè)過(guò)程大幅縮小了模型尺寸,之后可以經(jīng)過(guò)重新訓(xùn)練,來(lái)彌補(bǔ)任何的量化損失,把精確度恢復(fù)過(guò)來(lái)。這當(dāng)中,我們得到了一套碼本(code book),代表了每一個(gè)權(quán)重的聚類分配。然后,我們可以應(yīng)用標(biāo)準(zhǔn)通用的壓縮算法,我們找到了一個(gè)最好用的“ZSTD算法”,能夠提供異常高水平的壓縮性能。

綜合以上工具,我們可以讓機(jī)器學(xué)習(xí)模型在壓縮5-50倍的情況下,保持同樣的精度。下面,讓我的同事賈揚(yáng)清給大家講講,這個(gè)系統(tǒng)如何應(yīng)用到更廣闊的機(jī)器學(xué)習(xí)生態(tài)里。

賈揚(yáng)清:Caffe2 擴(kuò)展到其它設(shè)備中

我們想要做的,是建造通用的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)庫(kù),既可以擴(kuò)展到數(shù)千種的云端設(shè)備中,也可以縮小至你手掌大小的移動(dòng)設(shè)備里。

  • 作為通用系統(tǒng)的Caffe2

機(jī)器學(xué)習(xí)模型可以在很多設(shè)備上運(yùn)行,包括手機(jī)、服務(wù)器、云端、Raspberry Pi等,它也可以適用于工業(yè)級(jí)應(yīng)用,比如自動(dòng)駕駛。所有的這些應(yīng)用場(chǎng)景特點(diǎn)不一,需求也不一樣,開(kāi)發(fā)出一套系統(tǒng)來(lái)適應(yīng)這些不同的需求,是非常具有挑戰(zhàn)性的。

Andrew在前面提到了“unix 哲學(xué)”,這就是我們一直遵守的原則。我們打造非常輕巧便攜的框架核心,可以適用于各種移動(dòng)端平臺(tái)。這個(gè)核心用來(lái)管理各種底層函數(shù)庫(kù),也就是一個(gè)機(jī)器學(xué)習(xí)系統(tǒng)涉及的各個(gè)方面(包括卷積、池化等等)。然后,我們根據(jù)不同的運(yùn)行環(huán)境插入不同的組件,來(lái)運(yùn)行這些底層函數(shù)庫(kù)。在服務(wù)器端,我們使用Gloo來(lái)進(jìn)行大規(guī)模的訓(xùn)練,在移動(dòng)端用NNPack庫(kù),在其它設(shè)備上使用Metal,等等。

賈揚(yáng)清F8現(xiàn)場(chǎng)演講:從手機(jī)到大型服務(wù)器集群,Caffe2如何適用于不同設(shè)備和場(chǎng)景?(附視頻)

  • Caffe2的易用性

當(dāng)然,我們意識(shí)到,光靠Facebook的力量,不可能將這個(gè)系統(tǒng)放到所有的設(shè)備中。所以我們要打造的平臺(tái)系統(tǒng),非常注重開(kāi)發(fā)的易用性,來(lái)便捷地運(yùn)行不同特色的代碼。這里有一個(gè)例子,機(jī)器學(xué)習(xí)領(lǐng)域有一個(gè)應(yīng)用叫做 TSNE(高維數(shù)據(jù)可視化工具)的工具,在Caffe2里使用這個(gè)非常簡(jiǎn)單,代碼如下,體現(xiàn)出Caffe2的彈性和可定制化。

賈揚(yáng)清F8現(xiàn)場(chǎng)演講:從手機(jī)到大型服務(wù)器集群,Caffe2如何適用于不同設(shè)備和場(chǎng)景?(附視頻)

  • 健康生態(tài)需要合作伙伴共同開(kāi)發(fā)

以上我們提到的功能,已經(jīng)應(yīng)用到了Facebook的很多產(chǎn)品里,例如計(jì)算機(jī)視覺(jué)、機(jī)器翻譯、語(yǔ)音識(shí)別和預(yù)測(cè)。如今移動(dòng)設(shè)備、PC機(jī)、可穿戴設(shè)備、云端等構(gòu)成了大型生態(tài),所以非常重要的一點(diǎn)是,整個(gè)行業(yè)伙伴合作起來(lái)構(gòu)建一個(gè)聯(lián)盟,創(chuàng)造健康的生態(tài)來(lái)持續(xù)推進(jìn)深度學(xué)習(xí)的發(fā)展。

在這里,我們非常高興地向大家展示一個(gè)產(chǎn)業(yè)線合作的成功案例。我想,大家應(yīng)該都知道GPU對(duì)如今的機(jī)器學(xué)習(xí)發(fā)展很重要,我們與Nvidia進(jìn)行多方位的合作,比如我們將cuDNN庫(kù)整合進(jìn)我們的系統(tǒng)中,打造成了可能是迄今為止最快的一個(gè)計(jì)算機(jī)視覺(jué)系統(tǒng),可以將數(shù)百萬(wàn)的圖像在幾分鐘內(nèi)處理完。

另外一個(gè)例子,就是與英特爾合作。當(dāng)進(jìn)入部署的環(huán)節(jié),將一個(gè)深度學(xué)習(xí)系統(tǒng)放到云端,非常重要的一點(diǎn)就是,有高性能的CPU庫(kù)。其中有一系列的工作稱為MLP(多層感知),對(duì)于預(yù)測(cè)工作非常重要,我們與英特爾合作開(kāi)發(fā)了一個(gè)MKL DNN庫(kù),整合進(jìn)Caffe2當(dāng)中。

前面我們談到,在移動(dòng)端與高通驍龍合作了SNPE庫(kù),可以運(yùn)行機(jī)器學(xué)習(xí)模型,尤其是CNN,往往能在非常優(yōu)秀的能耗表現(xiàn)下,保持快5倍的速度。使用者不用擔(dān)心具體的硬件,快速上手使用GPU和DSP等新型硬件。當(dāng)然,如今離開(kāi)云什么也干不了,或許你在用PC機(jī)運(yùn)行機(jī)器學(xué)習(xí)模型的時(shí)候,會(huì)感到很困難,所以我們也與亞馬遜及微軟合作,將這些深度學(xué)習(xí)庫(kù)部署在云上。你可以使用一個(gè)云端實(shí)例,從而集中于手頭的研究和產(chǎn)品工作,而不需要越過(guò)重重關(guān)卡自己去編制一個(gè)庫(kù)。

Caffe2已經(jīng)在Facebook內(nèi)部進(jìn)行了很多嚴(yán)格測(cè)試,現(xiàn)在能夠跟各位合作伙伴一起共同推進(jìn)Caffe2在深度學(xué)習(xí)里的應(yīng)用,我們感到很激動(dòng),也很榮幸。以上談到的工具和庫(kù)都已經(jīng)放到網(wǎng)上了,我們將會(huì)持續(xù)致力于社區(qū)的工作,讓AI提升人們的生活水平,拉近人們之間的關(guān)系,創(chuàng)造一個(gè)更友善的世界。

注:恒亮和黃鑫對(duì)本文亦有貢獻(xiàn)。

更多雷鋒網(wǎng)文章:

專訪FPGA 2017最佳論文得主深鑒科技:深度學(xué)習(xí)的最大瓶頸是帶寬問(wèn)題而非計(jì)算

對(duì)話李志飛:時(shí)隔四年,出門問(wèn)問(wèn)為何又殺入語(yǔ)音助手市場(chǎng)?

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。

賈揚(yáng)清F8現(xiàn)場(chǎng)演講:從手機(jī)到大型服務(wù)器集群,Caffe2如何適用于不同設(shè)備和場(chǎng)景?(附視頻)

分享:
相關(guān)文章

編輯

關(guān)注人工智能(AI)報(bào)道
當(dāng)月熱門文章
最新文章
請(qǐng)?zhí)顚?xiě)申請(qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說(shuō)