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

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

0

全面解析大規(guī)模深度學(xué)習(xí)優(yōu)化策略在PAI中實(shí)踐應(yīng)用 | 云棲2017深圳

本文作者: AI科技評論 編輯:谷磊 2017-03-29 22:40 專題:2017云棲大會·深圳峰會
導(dǎo)語:大規(guī)模深度學(xué)習(xí)優(yōu)化是一個方興未艾的技術(shù)方向 ,無論是工業(yè)界還是學(xué)術(shù)界在對這個領(lǐng)域都有著極高的關(guān)注度,圍繞這個主題也涌現(xiàn)出若干個成功的start-up

雷鋒網(wǎng)AI科技評論按:3月29日,阿里云在云棲大會·深圳峰會上重磅亮相了阿里“NASA”首個武器:機(jī)器學(xué)習(xí)平臺PAI2.0 ,接下來,本文會扼要介紹一下在PAI里實(shí)現(xiàn)的大規(guī)模深度學(xué)習(xí)的優(yōu)化策略。

1、前言

自2012年Deep Learning的代表模型AlexNet[1]在ImageNet大賽中力壓亞軍,以超過10個百分點(diǎn)的絕對優(yōu)勢奪得頭籌之后,依托于建模技術(shù)的進(jìn)步[2][3]、硬件計算能力的提升[4]、優(yōu)化技術(shù)的進(jìn)步[5][6][7][8][9][10]以及海量數(shù)據(jù)的累積[11],Deep Learning在語音[3][12][13]、圖像[1][2]以及文本[14][15][16]等多個領(lǐng)域不斷推進(jìn),相較于傳統(tǒng)作法取得了顯著的效果提升。

工業(yè)界和學(xué)術(shù)界也先后推出了用于Deep Learning建模用途的開源工具和框架,包括Caffe、Theano、Torch、MXNet、TensorFlow、Chainer、CNTK等等。其中MXNet、TensorFlow以及CNTK均對于訓(xùn)練過程提供了多機(jī)分布式支持,在相當(dāng)大程度上解放了DL建模同學(xué)的生產(chǎn)力。但是,DL領(lǐng)域的建模技術(shù)突飛猛進(jìn),模型復(fù)雜度也不斷增加。

從模型的深度來看,以圖像識別領(lǐng)域?yàn)槔?2年的經(jīng)典模型AlexNet由5個卷積層,3個全連接層構(gòu)成(圖1),在當(dāng)時看來已經(jīng)算是比較深的復(fù)雜模型,而到了15年, 微軟亞洲研究院則推出了由151個卷積層構(gòu)成的極深網(wǎng)絡(luò)ResNet(圖2);從模型的尺寸來看,在機(jī)器翻譯領(lǐng)域,即便是僅僅由單層雙向encoder,單層decoder構(gòu)成的NMT模型(圖3),在阿里巴巴的一個內(nèi)部訓(xùn)練場景下,模型尺寸也達(dá)到了3GB左右的規(guī)模。

從模型的計算量來看,上面提到的機(jī)器翻譯模型在單塊M40 NVIDIA GPU[17]上,完成一次完整訓(xùn)練,也需要耗時近三周。Deep Learning通過設(shè)計復(fù)雜模型,依托于海量數(shù)據(jù)的表征能力,從而獲取相較于經(jīng)典shallow模型更優(yōu)的模型表現(xiàn)的建模策略對于底層訓(xùn)練工具提出了更高的要求。

現(xiàn)有的開源工具,往往會在性能上、顯存支持上、生態(tài)系統(tǒng)的完善性上存在不同層面的不足,在使用效率上對于普通的算法建模用戶并不夠友好。阿里云推出的PAI(Platform of Artificial Intelligence)[18]產(chǎn)品則致力于通過系統(tǒng)與算法協(xié)同優(yōu)化的方式,來有效解決Deep Learning訓(xùn)練工具的使用效率問題,目前PAI集成了TensorFlow、Caffe、MXNet這三款流行的Deep Learning框架,并針對這幾款框架做了定制化的性能優(yōu)化支持,以求更好的解決用戶建模的效率問題。

這些優(yōu)化目前都已經(jīng)應(yīng)用在阿里巴巴內(nèi)部的諸多業(yè)務(wù)場景里,包括黃圖識別、OCR識別、機(jī)器翻譯、智能問答等,這些業(yè)務(wù)場景下的某些建模場景會涉及到幾十億條規(guī)模的訓(xùn)練樣本,數(shù)GB的模型尺寸,均可以在我們的優(yōu)化策略下很好地得到支持和滿足。經(jīng)過內(nèi)部大規(guī)模數(shù)據(jù)及模型場景的檢測之后,我們也期望將這些能力輸出,更好地賦能給阿里外部的AI從業(yè)人員。

 全面解析大規(guī)模深度學(xué)習(xí)優(yōu)化策略在PAI中實(shí)踐應(yīng)用 | 云棲2017深圳

圖1. AlexNet模型示例

 全面解析大規(guī)模深度學(xué)習(xí)優(yōu)化策略在PAI中實(shí)踐應(yīng)用 | 云棲2017深圳

圖2. 36層的ResNet模型示例

 全面解析大規(guī)模深度學(xué)習(xí)優(yōu)化策略在PAI中實(shí)踐應(yīng)用 | 云棲2017深圳

圖3. NMT模型架構(gòu)示例

接下來,本文會向雷鋒網(wǎng)的網(wǎng)友們扼要介紹一下在PAI里實(shí)現(xiàn)的大規(guī)模深度學(xué)習(xí)的優(yōu)化策略。

2、大規(guī)模深度學(xué)習(xí)優(yōu)化策略在PAI中實(shí)踐應(yīng)用

大規(guī)模深度學(xué)習(xí)作為一個交叉領(lǐng)域,涉及到分布式計算、操作系統(tǒng)、計算機(jī)體系結(jié)構(gòu)、數(shù)值優(yōu)化、機(jī)器學(xué)習(xí)建模、編譯器技術(shù)等多個領(lǐng)域。按照優(yōu)化的側(cè)重點(diǎn),可以將優(yōu)化策略劃分為如下幾種:

I. 計算優(yōu)化

II. 顯存優(yōu)化

III. 通信優(yōu)化

IV. 性能預(yù)估模型

V 軟硬件協(xié)同優(yōu)化

PAI平臺目前主要集中在顯存優(yōu)化、通信優(yōu)化、性能預(yù)估模型、軟硬件協(xié)同優(yōu)化這四個優(yōu)化方向。

1). 顯存優(yōu)化

內(nèi)存優(yōu)化主要關(guān)心的是GPU顯存優(yōu)化的議題,在Deep Learning訓(xùn)練場景,其計算任務(wù)的特點(diǎn)(大量的滿足SIMD特性的矩陣浮點(diǎn)運(yùn)算執(zhí)行序列,控制邏輯通常比較簡單)決定了通常我們會選擇GPU來作為計算設(shè)備,而GPU作為典型的高通量異構(gòu)計算設(shè)備,其硬件設(shè)計約束決定了其顯存資源往往是比較稀缺的,目前在PAI平臺上提供的中檔M40顯卡的顯存只有12GB,而復(fù)雜度較高的模型則很容易達(dá)到M40顯存的臨界值,比如151層的ResNet、阿里巴巴內(nèi)部用于中文OCR識別的一款序列模型以及機(jī)器翻譯模型。

從建模同學(xué)的角度來看,顯存并不應(yīng)該是他們關(guān)心的話題,PAI在顯存優(yōu)化上做了一系列工作,期望能夠解放建模同學(xué)的負(fù)擔(dān),讓建模同學(xué)在模型尺寸上獲得更廣闊的建模探索空間。在內(nèi)存優(yōu)化方面, 通過引入task-specific的顯存分配器以及自動化模型分片框架支持,在很大程度上緩解了建模任務(wù)在顯存消耗方面的約束。其中自動化模型分片框架會根據(jù)具體的模型網(wǎng)絡(luò)特點(diǎn),預(yù)估出其顯存消耗量,然后對模型進(jìn)行自動化切片,實(shí)現(xiàn)模型并行的支持,在完成自動化模型分片的同時,我們的框架還會考慮到模型分片帶來的通信開銷,通過啟發(fā)式的方法在大模型的承載能力和計算效率之間獲得較優(yōu)的trade-off。

2). 通信優(yōu)化

大規(guī)模深度學(xué)習(xí),或者說大規(guī)模機(jī)器學(xué)習(xí)領(lǐng)域里一個永恒的話題就是如何通過多機(jī)分布式對訓(xùn)練任務(wù)進(jìn)行加速。而機(jī)器學(xué)習(xí)訓(xùn)練任務(wù)的多遍迭代式通信的特點(diǎn),使得經(jīng)典的map-reduce式的并行數(shù)據(jù)處理方式并不適合這個場景。對于以單步小批量樣本作為訓(xùn)練單位步的深度學(xué)習(xí)訓(xùn)練任務(wù),這個問題就更突出了。

依據(jù)Amdahl’s law[19],一個計算任務(wù)性能改善的程度取決于可以被改進(jìn)的部分在整個任務(wù)執(zhí)行時間中所占比例的大小。而深度學(xué)習(xí)訓(xùn)練任務(wù)的多機(jī)分布式往往會引入額外的通信開銷,使得系統(tǒng)內(nèi)可被提速的比例縮小,相應(yīng)地束縛了分布式所能帶來的性能加速的收益 。

在PAI里,我們通過pipeline communication、late-multiply、hybrid-parallelism以及heuristic-based model average等多種優(yōu)化策略對分布式訓(xùn)練過程中的通信開銷進(jìn)行了不同程度的優(yōu)化,并在公開及in-house模型上取得了比較顯著的收斂加速比提升。

在Pipeline communication(圖4)里,通過將待通信數(shù)據(jù)(模型及梯度)切分成一個個小的數(shù)據(jù)塊并在多個計算結(jié)點(diǎn)之間充分流動起來,可以突破單機(jī)網(wǎng)卡的通信帶寬極限,將一定尺度內(nèi)將通信開銷控制在常量時間復(fù)雜度。

 全面解析大規(guī)模深度學(xué)習(xí)優(yōu)化策略在PAI中實(shí)踐應(yīng)用 | 云棲2017深圳

圖4. Pipeline communication

在Late-multiply里,針對全連接層計算量小,模型尺寸大的特點(diǎn),我們對于多機(jī)之間的梯度匯總邏輯進(jìn)行了優(yōu)化,將“多個worker計算本地梯度,在所有結(jié)點(diǎn)之間完成信息交互”(圖5)的分布式邏輯調(diào)整為“多個worker將全連接層的上下兩層layer的后向傳播梯度及激活值在所有計算結(jié)點(diǎn)之間完成信息交互”(圖6),當(dāng)全連接層所包含的隱層神經(jīng)元很多時,會帶來比較顯著的性能提升。

 全面解析大規(guī)模深度學(xué)習(xí)優(yōu)化策略在PAI中實(shí)踐應(yīng)用 | 云棲2017深圳

圖5. Without late-multiply

 全面解析大規(guī)模深度學(xué)習(xí)優(yōu)化策略在PAI中實(shí)踐應(yīng)用 | 云棲2017深圳

圖6. With late-multiply

在Hybrid-parallelism里,針對不同模型網(wǎng)絡(luò)的特點(diǎn),我們引入了數(shù)據(jù)并行與模型并行的混合策略,針對計算占比高的部分應(yīng)用數(shù)據(jù)并行,針對模型通信量大的部分應(yīng)用模型并行,在多機(jī)計算加速與減少通信開銷之間獲得了較好的平衡點(diǎn)。通過圖7,可以看到將這個優(yōu)化策略應(yīng)用在TensorFlow里AlexNet模型的具體體現(xiàn)。 全面解析大規(guī)模深度學(xué)習(xí)優(yōu)化策略在PAI中實(shí)踐應(yīng)用 | 云棲2017深圳

 圖7. AlexNet with hybrid-parallelism

3). 性能預(yù)估模型

對于建模人員來說,他們關(guān)心的往往是以最具性價比的方式完成他們的建模訓(xùn)練任務(wù),而不是用多少張卡,以什么樣的分布式執(zhí)行策略來完成他們的訓(xùn)練任務(wù)。而目前Deep Learning訓(xùn)練工具以及訓(xùn)練任務(wù)的復(fù)雜性,使得建模人員往往不得不透過leaky abstraction的管道,去關(guān)心為了完成他們的一個建模實(shí)驗(yàn),應(yīng)該使用多少張GPU卡,多少個 CPU核、什么樣的通信介質(zhì)以及選擇哪種分布式執(zhí)行策略,才能有效地完成自己的訓(xùn)練任務(wù)。

基于性能預(yù)估模型,我們期望能夠?qū)⒔H藛T從具體的訓(xùn)練任務(wù)執(zhí)行細(xì)節(jié)中解放出來。具體來說,給定建模用戶的一個模型結(jié)構(gòu),以及所期望花費(fèi)的費(fèi)用和時間,PAI平臺會采用模型+啟發(fā)式的策略預(yù)估出需要多少硬件資源,使用什么樣的分布式執(zhí)行策略可以盡可能逼近用戶的期望。

4). 軟硬件協(xié)同優(yōu)化

上面提到的3個優(yōu)化策略主要集中在任務(wù)的離線訓(xùn)練環(huán)節(jié),而Deep Learning在具體業(yè)務(wù)場景的成功應(yīng)用,除了離線訓(xùn)練以外,也離不開在線布署環(huán)節(jié)。作為典型的復(fù)雜模型,無論是功耗、計算性能還是模型動態(tài)更新的開銷,Deep Learning模型為在線部署提出了更高的要求和挑戰(zhàn)。在PAI平臺里,關(guān)于在線部署,我們除了軟件層面的優(yōu)化之后,也探索了軟硬件協(xié)同優(yōu)化的技術(shù)路線。目前在PAI平臺里,我們正在基于FPGA實(shí)現(xiàn)在線inference的軟硬件協(xié)同優(yōu)化。在PAI里實(shí)現(xiàn)軟硬件協(xié)同優(yōu)化的策略與業(yè)界其他同行的作法會有所不同,我們將這個問題抽象成一個domain-specific的定制硬件編譯優(yōu)化的問題,通過這種抽象,我們可以采取更為通用的方式來解決一大批問題,從而更為有效地滿足模型多樣性、場景多樣性的需求。

3、小結(jié)

大規(guī)模深度學(xué)習(xí)優(yōu)化是一個方興未艾的技術(shù)方向 ,無論是工業(yè)界還是學(xué)術(shù)界在對這個領(lǐng)域都有著極高的關(guān)注度,圍繞這個主題也涌現(xiàn)出若干個成功的start-up,通過在雷鋒網(wǎng)分享這篇文章,我們期望能夠讓PAI的終端用戶了解到為了提升用戶體驗(yàn),改善用戶建模效率,我們在背后所做出的優(yōu)化努力。

今年5月份,NVIDIA GTC 2017北美主場會在硅谷舉行,PAI團(tuán)隊也會在硅谷現(xiàn)場給出一個以大規(guī)模深度學(xué)習(xí)優(yōu)化為主題的分享。今年7月份,在Strats+Hadoop World 2017大會上,PAI團(tuán)隊也會做一個相關(guān)主題的分享。也希望能夠以這篇文章為引子,以這篇個技術(shù)會議為渠道,跟國內(nèi)外更多從事相關(guān)領(lǐng)域工作的業(yè)界同行有更多交流和碰撞,一起來推進(jìn)大規(guī)模深度學(xué)習(xí)這個技術(shù)方向的進(jìn)展和建設(shè)。

參考文獻(xiàn)

[1]. Alex Krizhevsky, Ilya Sutskever, and Geoffrey E Hinton. Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems , pages 1097–1105, 2012.

[2]. Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition ,pages 770–778, 2016.

[3]. Geoffrey Hinton, Li Deng, Dong Yu, George E Dahl, Abdel-rahman Mohamed, Navdeep Jaitly, Andrew Senior, Vincent Vanhoucke, Patrick Nguyen, Tara N Sainath, et al. Deep neural networks for acoustic modeling in speech recognition: The shared views of four research groups. IEEE Signal Processing Magazine , 29(6):82–97, 2012.

[4]. Sharan Chetlur, Cliff Woolley, Philippe Vandermersch, Jonathan Cohen, John Tran, Bryan Catanzaro, and Evan Shelhamer. cudnn: Efficient primitives for deep learning. arXiv preprint arXiv:1410.0759 , 2014.

[5]. Nitish Srivastava, Geoffrey E Hinton, Alex Krizhevsky, Ilya Sutskever, and Ruslan Salakhutdinov. Dropout: a simple way to prevent neural networks from overfitting. Journal of Machine Learning Research , 15(1):1929–1958, 2014.

[6]. George E Dahl, Tara N Sainath, and Geoffrey E Hinton. Improving deep neural networks for lvcsr using rectified linear units and dropout. In Acoustics, Speech and Signal Processing (ICASSP), 2013 IEEE International Conference on , pages 8609–8613. IEEE, 2013.

[7]. Jiquan Ngiam, Adam Coates, Ahbik Lahiri, Bobby Prochnow, Quoc V Le, and Andrew Y Ng. On optimization methods for deep learning. In Proceedings of the 28th International Conference on Machine Learning (ICML-11) , pages 265–272, 2011.

[8]. Sergey Ioffe and Christian Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. arXiv preprint arXiv:1502.03167 , 2015.

[9]. Diederik Kingma and Jimmy Ba. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980 , 2014.

[10]. Jimmy Lei Ba, Jamie Ryan Kiros, and Geoffrey E Hinton. Layer normalization. arXiv preprint arXiv:1607.06450 , 2016.

[11]. Chun-Wei Tsai, Chin-Feng Lai, Ming-Chao Chiang, Laurence T Yang, et al. Data mining for internet of things: A survey. IEEE Communications Surveys and Tutorials , 16(1):77–97, 2014.

[12]. A Hannun, C Case, J Casper, B Catanzaro, G Diamos, E Elsen, R Prenger, S Satheesh, S Sengupta, A Coates, et al. Deepspeech: scaling up end-to-end speech recognition. 2014. arXiv preprint arXiv:1412.5567 .

[13]. Dario Amodei, Rishita Anubhai, Eric Battenberg, Carl Case, Jared Casper, Bryan Catanzaro, Jingdong Chen, Mike Chrzanowski, Adam Coates, Greg Diamos, et al. Deep speech 2: Endto- end speech recognition in english and mandarin. arXiv preprint arXiv:1512.02595 , 2015. Ronan Collobert and Jason Weston. A unified architecture for natural language processing:

[14]. Deep neural networks with multitask learning. In Proceedings of the 25th international conference

on Machine learning , pages 160–167. ACM, 2008.

[15]. Yonghui Wu, Mike Schuster, Zhifeng Chen, Quoc V Le, Mohammad Norouzi, Wolfgang Macherey, Maxim Krikun, Yuan Cao, Qin Gao, Klaus Macherey, et al. Google’s neural machine translation system: Bridging the gap between human and machine translation. arXiv preprint arXiv:1609.08144 , 2016.

[16]. Ilya Sutskever, Oriol Vinyals, and Quoc V Le. Sequence to sequence learning with neural networks. In Advances in neural information processing systems , pages 3104–3112, 2014.

[17]. http://www.nvidia.com/object/tesla-m40.html

[18]. https://yq.aliyun.com/articles/57677

[19]. https://en.wikipedia.org/wiki/Amdahl%27s_law

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

全面解析大規(guī)模深度學(xué)習(xí)優(yōu)化策略在PAI中實(shí)踐應(yīng)用 | 云棲2017深圳

分享:
相關(guān)文章
當(dāng)月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說