年入百萬數(shù)據(jù)科學(xué)家在線摸魚?
年薪百萬數(shù)據(jù)科學(xué)家
上班時間在線摸魚!?
怎么回事!
請聽小編為您分解
▼
近幾年
AI行業(yè)發(fā)展得如火如荼
數(shù)據(jù)科學(xué)家也跟著吃上了“香餑餑”
江湖傳言
剛畢業(yè)的AI博士起薪50W
2年經(jīng)驗的薪水100W+
貌似一當(dāng)上數(shù)據(jù)科學(xué)家
分分鐘就能實現(xiàn)財富自由
數(shù)據(jù)科學(xué)家是否
真的像傳言那般光鮮亮麗呢?
今天我們有幸采訪到了李博士
來看下數(shù)據(jù)科學(xué)家的工作狀態(tài)吧
離開熟悉的科研機(jī)構(gòu)后,李博士被一家AI初創(chuàng)企業(yè)以七位數(shù)年薪收入麾下,擔(dān)任機(jī)器視覺部門的數(shù)據(jù)科學(xué)家。
上班第一周,熟悉了新環(huán)境和同事后,李博士連上公司分配的GPU服務(wù)器,開始一個圖像分割模型訓(xùn)練。
啟動任務(wù)后,李博士沒有像人們想象地那樣開始在各種機(jī)器前忙碌,而是起身接了一杯咖啡,隨即悠悠然坐進(jìn)軟椅,轉(zhuǎn)向論文研究工作。
咦?什么情況?數(shù)據(jù)科學(xué)家在線摸魚?
當(dāng)然不是!
其實這也是李博士的無奈之舉,他痛心疾首地說道:“算力是AI發(fā)展的一大阻礙啊!”按照以往經(jīng)驗,在當(dāng)前CNN模型的復(fù)雜度和訓(xùn)練數(shù)據(jù)量條件下,要3-4天才看得到訓(xùn)練結(jié)果,結(jié)果出來之前除了等待別無他法。
這不禁讓我們聯(lián)想起90年代之前的大學(xué),同學(xué)們先到計算中心排隊,然后將自己的應(yīng)用程序輸?shù)綑C(jī)房計算機(jī)中,此后要用相當(dāng)長的時間來等待計算結(jié)果。
半個多世紀(jì)以來,摩爾定律讓計算性能取得了飛躍,現(xiàn)在一臺智能手機(jī)的計算能力,已經(jīng)可以趕上80年代的超級計算機(jī)了。而今天,對計算力的渴望,我們和半個世紀(jì)以前的人們依然沒有什么區(qū)別。
AI領(lǐng)域的計算力渴望
2018年,OpenAI發(fā)布了一份關(guān)于AI計算能力增長趨勢的分析報告,報告顯示:自2012年以來,AI訓(xùn)練中所使用的計算力每3.43個月增長一倍,過去6年時間里,這個指標(biāo)已經(jīng)增長了30萬倍以上——這便是OpenAI針對AI計算領(lǐng)域提出的新摩爾定律。
每當(dāng)有數(shù)據(jù)科學(xué)家質(zhì)疑AI計算平臺的性能時,從事計算工作的朋友們就會很委屈:沒有計算力上做出的成績,怎么會有這波AI應(yīng)用的熱潮?如果沒有吳恩達(dá)2011年將GPU應(yīng)用于谷歌大腦所取得的成功,人工智能的第三次熱潮恐怕還要晚幾年才能到來。
但是,AI就像是一個正在長身體的小寶寶,天天哭著找媽媽要奶吃。相較傳統(tǒng)的機(jī)器學(xué)習(xí)算法,深度學(xué)習(xí)對計算力的要求更高。
比如,2012年摘得ImageNet圖像分類大賽冠軍的AlexNet網(wǎng)絡(luò),包含8層神經(jīng)網(wǎng)絡(luò),6000萬個參數(shù);2015年奪冠的ResNet網(wǎng)絡(luò),深度已經(jīng)達(dá)到了152層;另外,一個圖像分類模型VGG-16,參數(shù)量也達(dá)到了1.38億;而現(xiàn)在有些語言識別模型,參數(shù)量已經(jīng)超過10億!
為應(yīng)對AI算力要求,當(dāng)前國內(nèi)AI基礎(chǔ)架構(gòu)普遍采用的是Scale-up GPU架構(gòu),即在單臺服務(wù)器上部署4張、8張甚至更多張GPU卡,每個任務(wù)使用設(shè)備中的全部或者部分資源。這種架構(gòu)的優(yōu)點就是實施簡單,操作容易。
但是,隨著模型復(fù)雜度加深、計算力要求提高,單機(jī)多卡模式越來越力不從心。另外,一味增加單機(jī)GPU密度,也會加大數(shù)據(jù)中心的供電和散熱壓力,此時一旦出現(xiàn)服務(wù)器問題障,就很可能造成業(yè)務(wù)故障。
面對種種問題,難道AI算力再上一步發(fā)展的空間就沒有了嗎?
這里,我們還是要相信IT基礎(chǔ)架構(gòu)建設(shè)者的智慧。在過去的2019年春天,可以看到國內(nèi)AI計算領(lǐng)域有了很多不一樣的改變:精細(xì)化、集群化、多元化——三把“利劍”齊發(fā)力,AI計算正朝著人們所期望的高性能、可擴(kuò)展模式邁進(jìn)。
第一把利劍:精細(xì)化
精細(xì)化是指不改變現(xiàn)有計算架構(gòu),“深挖洞,廣積糧”,提高單個芯片計算性能,以達(dá)到更高的整體性能。
目前,僅僅依靠提高GPU的浮點計算和顯存帶寬指標(biāo)來實現(xiàn)算力提升已經(jīng)有些困難,大家開始嘗試降低AI訓(xùn)練和推理過程中的精度要求。
例如,在Nvidia V100和T4上提供TensorCore混合精度特性,TensorCore讓最耗費計算性能的矩陣乘法在FP16半精度工作,矩陣加法和最終輸出結(jié)果仍可以在FP32工作。與經(jīng)典的FP32單精度訓(xùn)練相比,混合精度降低了對帶寬與顯存容量的需求,使訓(xùn)練性能實現(xiàn)倍增。
同樣,在推理領(lǐng)域,Int8或其他低精度推理方式正在被更多數(shù)據(jù)科學(xué)家嘗試。深度學(xué)習(xí)端到端pipeline優(yōu)化,可以平衡計算、存儲IO、網(wǎng)絡(luò)傳輸性能,使數(shù)據(jù)以更快速度流動和計算。
相關(guān)機(jī)制主要包含框架的多線程、預(yù)讀機(jī)制,NVME SSD小文件IO優(yōu)化、PCI-Eswitch或NVLink提升參數(shù)同步網(wǎng)絡(luò)性能,以及使用GPU進(jìn)行圖像數(shù)據(jù)預(yù)處理的新技術(shù)(DALI)等。
在這方面,戴爾易安信針對AI GPU計算專門設(shè)計的服務(wù)器C4140(1U機(jī)箱支持4塊全寬GPU)和DSS 8440(4U機(jī)箱支持10塊全寬GPU),集成了很多針對深度學(xué)習(xí)參數(shù)快速同步和小文件IO的硬件優(yōu)化技術(shù),可以為AI研究提供良好的算力支持。
戴爾易安信DSS 8440
雖然精細(xì)化可以讓芯片發(fā)揮最佳計算性能,不過單節(jié)點挖潛畢竟是有上限的,既然云計算、HPC、大數(shù)據(jù)等Scale-out模式如火如荼,是不是可以讓AI計算也插上集群計算的翅膀呢?
答案是肯定的。
第二把利劍:集群化
所謂集群化,就是讓更多處理器參與到計算加速中,以滿足深度學(xué)習(xí)對算力的需求。
當(dāng)前主流的深度學(xué)習(xí)框架,像TensorFlow、PyTorch、MXNet、Caffe2等,均已提供對GPU集群分布式訓(xùn)練的支持。當(dāng)然,GPU分布式訓(xùn)練比單機(jī)訓(xùn)練要復(fù)雜,需要端到端設(shè)計來保證多機(jī)多卡訓(xùn)練的性能。
如果把AI計算集群比作一輛汽車,加速芯片就相當(dāng)于汽車的發(fā)動機(jī),網(wǎng)絡(luò)如同傳統(tǒng)系統(tǒng),存儲好比是汽車的油箱,而調(diào)度軟件就起著方向盤的作用。
每一個Batch訓(xùn)練中,GPU都需要在極短的時間內(nèi)完成億級別參數(shù)同步,對網(wǎng)絡(luò)帶寬和延遲要求極高。實踐證明,相比傳統(tǒng)的TCP/IP網(wǎng)絡(luò)傳輸,采用基于RDMA或者RoCE的GPU Direct computing技術(shù),可以大幅有效地提升參數(shù)同步的網(wǎng)絡(luò)傳輸性能。
IO側(cè),NLP、機(jī)器視覺和語音識別中,需要大量使用KB級小文件進(jìn)行訓(xùn)練,GPU處理速度又很快,集群環(huán)境將數(shù)據(jù)放到共享文件存儲系統(tǒng)中,因而對存儲系統(tǒng)小文件IO處理性能有著非常高的要求。
而Lots of small files的文件讀寫方式,恰恰是眾多存儲系統(tǒng)性能的“命門”。
依托多年非結(jié)構(gòu)化數(shù)據(jù)存儲的經(jīng)驗積累,戴爾易安信針對深度學(xué)習(xí)小文件性能優(yōu)化,提供Isilon Scale-out NAS、Lustre并行文件系統(tǒng)、基于AI/HPC環(huán)境優(yōu)化的NFS存儲系統(tǒng)(NSS)三個存儲利器,可滿足不同環(huán)境規(guī)模、容量和性能要求。
在2018年完成的一項測試中,以戴爾易安信Isilon F800全閃存存儲作為72塊Nvidia V100 32GB GPU集群的后端存儲,進(jìn)行主流圖像分類模型訓(xùn)練,這個測試中,GPU使用率可以達(dá)到97%,訓(xùn)練數(shù)據(jù)放置于GPU服務(wù)器,本地SSD硬盤與共享存儲對訓(xùn)練性能的影響只有2%,基本做到存儲性能無瓶頸。
此外,GPU分布式集群訓(xùn)練中,除了更高性能的計算、存儲與網(wǎng)絡(luò)架構(gòu),如果能在軟件層面上做一些優(yōu)化,比如優(yōu)化GPU參數(shù)同步效率,那么軟硬結(jié)合將事半功倍。戴爾易安信將最新軟件優(yōu)化機(jī)制與高性能基礎(chǔ)架構(gòu)硬件結(jié)合,可以實現(xiàn)最好的分布式訓(xùn)練性能。
例如,傳統(tǒng)TensorFlow分布式訓(xùn)練,采用參數(shù)服務(wù)器機(jī)制,各個GPU通過數(shù)據(jù)同步訓(xùn)練得到的參數(shù),需要通過參數(shù)服務(wù)器進(jìn)行參數(shù)同步,再分發(fā)到集群中各GPU。而網(wǎng)絡(luò)傳輸參數(shù)量大的時候,參數(shù)服務(wù)器會成為性能瓶頸。
Horovod則對TensorFlow參數(shù)同步機(jī)制進(jìn)行了優(yōu)化,取消參數(shù)服務(wù)器,改為Ring Allreduce方式,這種方式下,所有參與計算的N個GPU排成一個“握手環(huán)路”,將訓(xùn)練參數(shù)分成N份,每一次GPU只與環(huán)中上一個和下一個GPU交換1/N的參數(shù),通過N-1個時間周期完成全部交換。
實踐證明,RingAllreduce對傳輸帶寬的利用率最高。
而更大規(guī)模的分布式訓(xùn)練集群,32張V100構(gòu)成的GPU集群,在MXNet框架下進(jìn)行ResNet50圖像分類訓(xùn)練,性能表現(xiàn)為單GPU卡性能的29.4倍;采用Caffe2框架,加速比為26.5倍。
由此可見,在提高算力方面,集群化的功效非同一般。
第三把利劍:多元化
在同等算力要求下,芯片功耗也是AI研究中比較關(guān)注的地方。很多企業(yè)異構(gòu)計算小組正在尋找更高性能或功耗更低的解決方案,目前,FPGA和ASIC是替代GPU的兩大熱門方向,AI異構(gòu)加速也是戴爾易安信一直在研究的技術(shù)領(lǐng)域。
FPGA
FPGA采用硬件可編程邏輯門電路設(shè)計,具有豐富的可重配置的片上資源,運行時無需加載并解釋指令,具有高并發(fā)、低延遲、低功耗的優(yōu)良特性。在嵌入式推理、云端高并發(fā)低延遲推理和視頻圖像預(yù)處理等AI領(lǐng)域,F(xiàn)PGA值得期待。
目前,戴爾易安信的計算解決方案可以支持Intel和Xilinx兩大主流FPGA加速方案。
不過,FPGA應(yīng)用面臨的最大問題是開發(fā)難度,這需要工程師能夠比較熟練地掌握硬件描述語言HDL。這方面,戴爾易安信與Intel攜手,希望將2018年12月在重慶揭牌的FPGA中國創(chuàng)新中心,打造為加速FPGA人才培養(yǎng)與應(yīng)用落地的基地。
ASIC
基于ASIC的AI專用芯片(如谷歌的TPU)也同樣備受關(guān)注。戴爾科技集團(tuán)投資了一家AI芯片初創(chuàng)企業(yè)——Graphcore,Graphcore總部位于英國的,目前估值17億美金,其AI加速芯片IPU計劃于19年下半年上市。
Graphcore IPU加速卡,單張峰值性能250Tops,是Nvidia V100GPU的2倍。IPU采用同構(gòu)多核架構(gòu),單片上提供2432個獨立的處理器;它大量采用片上SRAM而非傳統(tǒng)DRAM,參數(shù)權(quán)重存儲在處理器的高速緩存。
單臺戴爾易安信DSS 8440服務(wù)器,最多可以支持8張IPU加速卡。在早先進(jìn)行的一些深度學(xué)習(xí)訓(xùn)練和推理測試中,Graphcore IPU表現(xiàn)出了非常出色的性能:
如RNN領(lǐng)域最常使用的LSTM模型,IPU的訓(xùn)練性能是Nvidia V100 GPU卡的10倍;LSTM推理,IPU吞吐量可以達(dá)到V100的100倍,延遲為1/10;CNN ResNet-50推理方面,IPU單卡性能可達(dá)到V100的25倍。
我們有理由相信,隨著AI計算精細(xì)化讓芯片發(fā)揮最佳計算性能,集群化讓更多處理器參與到計算加速,以及新一代更強大的AI芯片的商用,未來就緒的AI基礎(chǔ)架構(gòu)有能力迎接AI計算新摩爾定律的挑戰(zhàn)。
未來,估計李博士喝咖啡品茶等待運算結(jié)果的時間將越來越短,這對李博士們而言是好事還是壞事?
大概率是好事吧!