【云駐共創(chuàng)】推薦一些機器學習系統(tǒng)MLSys中的值得研究的方向

      網(wǎng)友投稿 1192 2025-04-03

      MLsys不能算是一種方向,而是一種思路。比如對于system研究者來說,可以把ML作為我們開發(fā)的系統(tǒng)要適配的一種benchmark,就像transaction對于數(shù)據(jù)庫、某種文件場景對于File System的意義一樣。這樣一想可做的空間就寬廣多了。


      下面簡單推薦一些坑比較少得方向,希望大家可以適應這個潮流。

      1. 分布式機器學習(Distributed DNN Training)

      這個又可以分為兩個方面:from ML / system perspective。

      ML

      從ML的角度做,主要是發(fā)明或改進分布式訓練算法,保證在分布式加速的同時,仍然能達到原來的學習效果(loss/accuracy)。因此很多工作也被投在像ICML、NIPS這種專業(yè)ML會議上。主要用到的方法包括優(yōu)化(optimization)和統(tǒng)計學習理論(statistical learning theory)。

      還有一類工作涉及到如何把單機算法改造成分布式[ch9],比如同步/異步SGD等。這里主要涉及到的問題是如何降低分布式環(huán)境下的通信開銷,提高加速比。

      System

      還有一個就是從System的角度做。從分布式計算的角度來看,可以把相關(guān)工作分為以下幾類:

      對于計算量太大的場景(計算并行),可以多線程/多節(jié)點并行計算,多節(jié)點共享公共的存儲空間。常用的一個算法就是同步隨機梯度下降(synchronous stochastic gradient descent),含義大致相當于K個(K是節(jié)點數(shù))mini-batch SGD

      對于訓練數(shù)據(jù)太多,單機放不下的場景(數(shù)據(jù)并行,也是最主要的場景),需要將數(shù)據(jù)劃分到多個節(jié)點上訓練。每個節(jié)點先用本地的數(shù)據(jù)先訓練出一個子模型,同時和其他節(jié)點保持通信(比如更新參數(shù))以保證最終可以有效整合來自各個節(jié)點的訓練結(jié)果,并得到全局的ML模型。

      對于模型太大的場景,需要把模型(例如NN中的不同層)劃分到不同節(jié)點上進行訓練。此時不同節(jié)點之間可能需要頻繁的sync。這個叫做模型并行。

      Pipeline Parallelism:這是去年(SOSP19 PipeDream)才出現(xiàn)的概念。Pipeline Parallelism相當于把數(shù)據(jù)并行和模型并行結(jié)合起來,把數(shù)據(jù)劃分成多個chunk,也把訓練模型的過程分成了Forward Pass和Backward Pass兩個stage。然后用流水線的思想進行計算。

      大致涉及以下幾個點:

      分布式ML系統(tǒng)設計

      Edge Computing

      大量計算資源的Scheduling / device placement

      communication相關(guān)

      2. 深度學習模型壓縮/加速

      對DL model進行壓縮主要考慮兩個角度:減少計算量(例如conv層的計算量) / 內(nèi)存占用(NN的參數(shù)數(shù)量)。不僅要考慮ML上的metric,也要考慮system層面的performance(例如latency / throughput / 功耗。有時候這些比ML模型的accuracy還重要)。

      2.1 通過Quantized(量化)降低計算精度要求

      量化的含義是將卷積層(the weights and / or activations of a CNN)通常要用到的32位浮點數(shù)用更低位的數(shù)來表示,如int32, int16, int8等等,來降低資源占用(float32無論是計算還是存儲都是很吃資源的..)。量化之后無疑會損失一部分精度,但神經(jīng)網(wǎng)絡對噪聲并不是特別敏感,因此控制好量化的程度之后對ML任務的影響可以很小。

      2.2 新硬件 / DL Acclerator

      在純硬件方面針對DL workload的工作也有很多,這里來看幾個parallel相關(guān)的技術(shù)。最近Data-Level Parallelism不僅在深度學習中,在其他一些領(lǐng)域(比如數(shù)據(jù)庫)也有了越來越多的應用。

      CPU、SIMD、VLIW、GPU、系統(tǒng)結(jié)構(gòu)、專用硬件等。

      2.3 矩陣算子優(yōu)化

      神經(jīng)網(wǎng)絡中的很多運算本質(zhì)上就是對矩陣運算,因此可以用一些矩陣乘法優(yōu)化方案來加速。

      3. 深度學習框架/系統(tǒng)設計

      和Distributed Training的區(qū)別是這里更關(guān)注一些工程上的東西(框架設計、API設計等等)

      幾個關(guān)鍵要素:

      支持各種算子(op) 和 tensor (data)

      計算圖的定義方式(動態(tài) v.s. 靜態(tài))

      Auto Diff

      Optimizer(例如Adam)

      各種加速和優(yōu)化的庫:cudnn, openblas,mkl等

      4. 用ML優(yōu)化傳統(tǒng)的system問題

      用ML去優(yōu)化一個傳統(tǒng)system問題中,一些需要人工經(jīng)驗調(diào)整、或者說可以從歷史情況learn到一些東西的模塊。比如數(shù)據(jù)庫參數(shù)、操作系統(tǒng)頁表、數(shù)據(jù)庫索引等等。一個模塊可以被ML化的前提是它必須是empirical的,參考它在頁表(OS的工作集原理)、數(shù)據(jù)庫(DBA是個很吃經(jīng)驗的活...)中的應用。

      基本就這4個方向,如果想做這些東西,需要掌握一定基礎(chǔ)知識點才能更好的入門及應用。

      工程基礎(chǔ):C/C++、OO programming。閱讀源碼是個很好的學習方式

      OS

      分布式系統(tǒng)

      編譯原理。特別是編譯器優(yōu)化技術(shù)、LLVM、memory optimization。Parser之類不喜歡也可以不看

      Computer Architecture。另外還需要了解:1.GPU架構(gòu),例如顯存分配機制、CPU與GPU交互。 2.CPU、存儲系統(tǒng)相關(guān)的新技術(shù)。 3.有條件可以了解下深度學習專用硬件。

      常見的并行計算框架,例如MPI/OpenMP/CUDA

      機器學習基礎(chǔ)

      常見的分布式機器學習算法、DL模型壓縮、模型加速方法(根據(jù)具體方向而定)

      這里需要注意的是,如果想研究的比較有深度,有時間多閱讀一下別人的源碼,比較有利于個人能力的提升,多動手記的比較牢靠一點。

      機器學習是個很大的領(lǐng)域,也是個很成功的領(lǐng)域:從純學術(shù)角度來說,這個領(lǐng)域“坑”大,維度很廣,不管是算法、理論,還是模型、系統(tǒng),有非常多值得探索和研究的問題;從工業(yè)應用來說,這個領(lǐng)域相比其他某些領(lǐng)域與工業(yè)和實際應用貼的更近,所以這個領(lǐng)域的成果相比其他一些領(lǐng)域也更容易被部署到開發(fā)過程和產(chǎn)品中。

      機器學習是一個多維度(multi-dimensional)的研究領(lǐng)域,也是一個跨領(lǐng)域(cross-domain)的研究領(lǐng)域,上到理論證明,算法設計,下到模型設計、應用、系統(tǒng)設計和研究。

      這種學習如果想出成果,還是離不開老師和同事們的協(xié)助,有那種氛圍比較容易解決問題,不用自己一個人鉆牛角尖,這里有一些名校及比較好的老師推薦一下:

      【云駐共創(chuàng)】推薦一些機器學習系統(tǒng)MLSys中的值得研究的方向

      牛X的名校

      北美:業(yè)界當然是Google Brain和MSR最有影響力。CMU的Catalyst,除了大家比較熟悉的陳天奇(TVM,XGBoost,MXNet),Zhihao Jia的研究也很promising(TASO),另外兩位senior的老師都已經(jīng)很有名了。

      歐洲:MSR Cambridge。ETH Systems Group幾位AP做MLSys,拓展寬一些的話,Arch背景的Onur Mutlu和HPC背景的

      Torsten Hoefler

      都很厲害有MLSys的項目。PARSA at EPFL。德國馬普所軟件系統(tǒng)所MPI-SWS實力也很強。

      國內(nèi):工業(yè)界里面MSRA的系統(tǒng)和網(wǎng)絡組可能是做的最好的,字節(jié)、阿里、亞馬遜ASAIL也都在特定領(lǐng)域里面有一些影響。

      硬核的老師

      1.UTK,Jack Dongarra的ICL。代表作大家耳熟能詳,起草了BLAS,LAPACK,open MPI。包括大家今天以dag為基礎(chǔ)的tensorflow,其實icl早就有相應的包給大規(guī)模hpc系統(tǒng)了(PARSEC,類似還有斯坦福的legion)。這個實驗室,發(fā)paper一般,學校一般,但是做東西極其底層和硬核,一直是我非常尊敬的實驗室之一。

      2.Berkeley James Demmel和他在新加坡國大的學生You Yang。James做的比較偏算法一些,最近幾年跟尤洋弄大batch分布式機器學習挺火熱的。

      對于比較喜歡ML的同學,我還是比較推薦大家可以考慮使用已有的系統(tǒng)提升各種ML算法,非深度學習算法是個性價比很高的事情,因為這個方向?qū)τ诤芏喙I(yè)界都有很重要的里程碑意義,主要是因為這個東西做的人比較少,畢竟它不僅僅需要了解一些系統(tǒng)知識,更重要的你需要對機器學習算法的深刻理解。最后祝大家都能學有所成,乘風破浪。

      本期內(nèi)容就分享到這里,我們下期見!

      本文整理自華為云社區(qū)【內(nèi)容共創(chuàng)】活動第12期。

      查看活動詳情:https://bbs.huaweicloud.com/blogs/325315

      相關(guān)任務詳情:任務38推薦機器學習系統(tǒng)MLSys中的研究方向,并說明理由

      機器學習 深度學習

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:現(xiàn)在是2019版,如何回到老版(無法回到老版本)
      下一篇:2007excel表格怎么去除重復數(shù)據(jù)
      相關(guān)文章
      日本系列1页亚洲系列| 老司机亚洲精品影院无码 | 亚洲欧洲日产国码久在线| 91亚洲导航深夜福利| 亚洲AV永久无码精品| 亚洲综合激情另类专区| 亚洲欧洲中文日韩av乱码| 亚洲一本大道无码av天堂| 亚洲熟伦熟女新五十路熟妇| 亚洲AV无码一区二区三区国产| 婷婷国产偷v国产偷v亚洲| 国产综合激情在线亚洲第一页| 精品亚洲福利一区二区| 国产精品久久亚洲一区二区| 亚洲?v女人的天堂在线观看| 亚洲 另类 无码 在线| 亚洲国产成人久久笫一页| 亚洲人成网站18禁止一区| 超清首页国产亚洲丝袜| 亚洲日韩精品一区二区三区无码| 亚洲精品字幕在线观看| 久久国产亚洲电影天堂| 337p日本欧洲亚洲大胆精品555588| 亚洲精品亚洲人成在线麻豆| 亚洲一区在线观看视频| 亚洲精品午夜国产va久久| 亚洲精品宾馆在线精品酒店| 亚洲人av高清无码| 亚洲Av无码国产情品久久| 在线观看亚洲精品国产| 亚洲国产精品无码av| 亚洲一二成人精品区| 亚洲免费中文字幕| 亚洲码和欧洲码一码二码三码| 国内成人精品亚洲日本语音| 亚洲色精品aⅴ一区区三区| 亚洲AV日韩精品久久久久久久| 亚洲成人黄色在线| 香蕉大伊亚洲人在线观看| 色偷偷亚洲第一综合| 亚洲一区二区女搞男|