在第二周的Re:Invent大會上,AWS宣布機(jī)器學(xué)習(xí)開發(fā)及部署平臺SageMaker運(yùn)用新技術(shù)提升平行運(yùn)算速度,可加速以EC2執(zhí)行實例(instance)對大型資料集訓(xùn)練模型。
隨著機(jī)器學(xué)習(xí)的資料集和模型越來越大、愈來復(fù)雜,也讓機(jī)器學(xué)習(xí)的訓(xùn)練項目花的時間越來越長,即使以Amazon EC2 p3或p4這類GPU執(zhí)行實例服務(wù),用公開資料集COCO(Common Objects in Context)來訓(xùn)練高端對象偵測模型,像是Mask RCNN和Faster RCNN也要花上超過6小時。訓(xùn)練自然語言處理模型BERT更得耗時超過100小時。而像一間全球汽車大廠甚至得在EC2 GPU集群上,花好幾天來進(jìn)行更大型的訓(xùn)練項目。
為解決這個問題,Amazon SageMaker現(xiàn)在支持一種資料平行運(yùn)算函數(shù)庫,名為SageMaker Data Parallelism(SDP)以縮短分布式訓(xùn)練的時間,并降低成本。目前支持TensorFlow和PyTorch兩種框架。
簡單而言,資料平行運(yùn)算,將訓(xùn)練資料集切分成較小的批次,平均分散到所有GPU上處理,每個GPU只訓(xùn)練一小部分資料集,再通過網(wǎng)絡(luò)連接來協(xié)同所有GPU將訓(xùn)練成果集結(jié)起來。但是過去的算法在資料集愈大時就會產(chǎn)生網(wǎng)絡(luò)頻頸。SageMaker Data Parallelism實例了改良的分布式運(yùn)算AllReduce算法,并優(yōu)化網(wǎng)絡(luò)通信,也完全利用EC2 p3及p4 GPU執(zhí)行實例服務(wù)的速度。
在re:Invent 2020大會上,AWS機(jī)器學(xué)習(xí)主管Swami Sivasubramanian示范以最新服務(wù)來訓(xùn)練T5-3B及Mask-RCNN的效果。T5-3B為一高精確性的自然語言處理模型,有30億個參數(shù),AWS宣稱以256個P4執(zhí)行實例,使訓(xùn)練時間由好幾星期縮短為6天。至于Mask-RCNN,AWS去年在PyTorch和TensorFlow上各花了26及27分鐘來訓(xùn)練,而今年則只花了6:45及6:12分鐘。
SageMaker Data Parallelism現(xiàn)在已經(jīng)在各個AWS SageMaker區(qū)域上線,現(xiàn)有客戶無需付費即可激活。