2.二是需要設(shè)計分布式深度神經(jīng)網(wǎng)絡(luò)模型及算法;
3.三是需要一個大的深度學(xué)習(xí)計算平臺以及平臺管理軟件。
針對上面三個方面的挑戰(zhàn),我們從四個層次去設(shè)計整個AI計算解決方案:
第一層次是平臺層:從整個AI計算過程的不同特點(diǎn)需求,我們會設(shè)計數(shù)據(jù)預(yù)處理平臺、訓(xùn)練平臺、推理平臺,采用不同的網(wǎng)絡(luò)和存儲。
第二個層次是管理層:對于復(fù)雜的計算平臺,我們需要對資源要進(jìn)行一個合理的管理、調(diào)度、監(jiān)控、分析,需要一個系統(tǒng)管理平臺。比如說浪潮設(shè)計的針對深度學(xué)習(xí)場景的深度學(xué)習(xí)管理平臺AIStation。
第三個層次是框架層:現(xiàn)在的很多開源出來的框架,如Caffe,包括我們浪潮設(shè)計的Caffe-MPI、谷歌的Tensorflow、百度的Paddlepaddle,微軟的CNTK等等,這些框架來幫助解決深度學(xué)習(xí)的訓(xùn)練和推理的一些過程。
第四個層次是應(yīng)用層:針對實(shí)際的應(yīng)用場景進(jìn)行AI應(yīng)用開發(fā),比如圖像和視頻類應(yīng)用,語音類應(yīng)用,以及自然語言處理的一些應(yīng)用,這些應(yīng)用場景我們?nèi)绾尾捎肁I的方法和算法來進(jìn)行實(shí)現(xiàn)。
平臺層面臨的挑戰(zhàn)及解決方案
在設(shè)計平臺層之前我們先看一下AI應(yīng)用的計算過程。首先我們會收集到不同的數(shù)據(jù),比如說CT影像的數(shù)據(jù)、語音的數(shù)據(jù),這些數(shù)據(jù)我們會傳送到數(shù)據(jù)預(yù)處理平臺,進(jìn)行圖片的噪音等處理。處理完之后我們對數(shù)據(jù)做標(biāo)注,形成訓(xùn)練的數(shù)據(jù)樣本集。訓(xùn)練樣本集我們會送到模型訓(xùn)練的集群進(jìn)行學(xué)習(xí),也就是模型訓(xùn)練的過程,模型訓(xùn)練完之后會獲得一個智能的模型,這個模型我們會把它裝載到不同的終端,比如說工作站、手機(jī)、平板,或者說一些云計算平臺。最后會推理或識別出智能的結(jié)果,比如會判斷CT影像是否有病灶,識別是什么方言等。
為了大家對AI整個場景理解得更透徹,我們舉個谷歌的醫(yī)療影像的例子,谷歌最開始從醫(yī)院里面收集到12.8萬張眼底照片的數(shù)據(jù),然后首先對這些照片經(jīng)過圖像的檢測分割等數(shù)據(jù)預(yù)處理,預(yù)處理完之后對整個眼底特征進(jìn)行標(biāo)注。預(yù)處理和標(biāo)注完之后獲取了訓(xùn)練的樣本集,這些訓(xùn)練樣本集會采用深度學(xué)習(xí)的一些框架,如TensorFlow進(jìn)行模型的訓(xùn)練,訓(xùn)練出來的模型會應(yīng)用在終端,比如說手機(jī)上面,進(jìn)行輔助診斷。
這個應(yīng)用場景看到采用AI技術(shù)的效果是非常好的,其綜合靈敏度和特異值達(dá)到了0.95,比八個醫(yī)生小組的評估值0.91還要高。這個醫(yī)療影像的AI典型案例基本上涵蓋了三個過程,就是數(shù)據(jù)預(yù)處理、模型訓(xùn)練和推理識別。
但數(shù)據(jù)預(yù)處理,模型訓(xùn)練和推理識別這三塊的計算特點(diǎn)是不一樣的,比如數(shù)據(jù)預(yù)處理主要是IO相對比較密集,計算量相對較少一些;模型訓(xùn)練計算量比較大,通信也相對比較密集;針對推理識別,需要比較高的吞吐處理能力和對單個樣本低延時的響應(yīng)。
根據(jù)對AI計算過程和特點(diǎn)分析來看,AI平臺層設(shè)計所面臨的挑戰(zhàn)主要包括三個方面:
一是在數(shù)據(jù)預(yù)處理階段,會涉及大量的小文件隨機(jī)讀寫的問題,如何提高數(shù)據(jù)訪問效率是在數(shù)據(jù)預(yù)處理階段面臨最大的挑戰(zhàn)。
二是在訓(xùn)練階段,因為會涉及到大量的模型進(jìn)行調(diào)優(yōu),我們會訓(xùn)練出一個最優(yōu)的模型出來,這里需要的計算資源是巨大的,這是第二個挑戰(zhàn)。
三是在推理階段,一個樣本,如一張圖片或者一個語音樣本過來之后,我們?nèi)绾芜M(jìn)行及時的響應(yīng),成千上萬的樣本批量過來的時候,整個系統(tǒng)的吞吐率如何提高,是推理階段面臨的挑戰(zhàn)。
所以AI平臺層的設(shè)計我們從幾個方面來進(jìn)行針對性的設(shè)計:
1.計算架構(gòu),采用CPU+GPU+FPGA混合異購模式,訓(xùn)練采用P100/P40 GPU,推理采用P4 GPU或者FPGA低功耗計算架構(gòu)。
2.存儲架構(gòu),對于訓(xùn)練平臺,主要采用高性能的分布式Lustre存儲;對于線上推理平臺,采用HDFS存儲架構(gòu)來設(shè)計。
3.網(wǎng)絡(luò)架構(gòu),對于訓(xùn)練平臺,采用高速互聯(lián)的IB網(wǎng)絡(luò);對于線上推理平臺,因為每個計算節(jié)點(diǎn)之間并不需要通信,所需要的網(wǎng)絡(luò)帶寬并不需要那么高,所以一般會采用萬兆。