小嘰導(dǎo)讀:在解決實(shí)際問題的時(shí)候,很多人認(rèn)為只要有機(jī)器學(xué)習(xí)算法就可以了,實(shí)際上要把一個(gè)算法落地還需要解決很多工程上的難題。本文將和大家分享如何從零開始搭建一個(gè)GPU加速的分布式機(jī)器學(xué)習(xí)系統(tǒng),介紹在搭建過程中遇到的問題和解決方法。
一 背景
在云計(jì)算環(huán)境下,虛擬機(jī)的負(fù)載均衡、自動(dòng)伸縮、綠色節(jié)能以及宿主機(jī)升級(jí)等需求使得我們需要利用虛擬機(jī)(VM)遷移技術(shù),尤其是虛擬機(jī)熱遷移技術(shù),對(duì)于down time(停機(jī)時(shí)間)要求比較高,停機(jī)時(shí)間越短,客戶業(yè)務(wù)中斷時(shí)間就越短,影響就越小。如果能夠根據(jù)VM的歷史工作負(fù)載預(yù)測(cè)其未來的工作負(fù)載趨勢(shì),就能夠?qū)ふ业阶詈线m的時(shí)間窗口完成虛擬機(jī)熱遷移的操作。
于是我們開始探索如何用機(jī)器學(xué)習(xí)算法預(yù)測(cè)ECS虛擬機(jī)的負(fù)載以及熱遷移的停機(jī)時(shí)間,但是機(jī)器學(xué)習(xí)算法要在生產(chǎn)環(huán)境發(fā)揮作用,還需要很多配套系統(tǒng)去支持。為了能快速將現(xiàn)有算法在實(shí)際生產(chǎn)環(huán)境落地,并能利用GPU加速實(shí)現(xiàn)大規(guī)模計(jì)算,我們自己搭建了一個(gè)GPU加速的大規(guī)模分布式機(jī)器學(xué)習(xí)系統(tǒng),取名小諸葛,作為ECS數(shù)據(jù)中臺(tái)的異構(gòu)機(jī)器學(xué)習(xí)算法加速引擎。搭載以上算法的小諸葛已經(jīng)在生產(chǎn)環(huán)境上線,支撐阿里云全網(wǎng)規(guī)模的虛擬機(jī)的大規(guī)模熱遷移預(yù)測(cè)。
二 方案
那么一套完整大規(guī)模分布式系統(tǒng)機(jī)器學(xué)習(xí)系統(tǒng)需要哪些組成部分呢?
1 總體架構(gòu)
阿里云全網(wǎng)如此大規(guī)模的虛擬機(jī)數(shù)量,要實(shí)現(xiàn)24小時(shí)之內(nèi)完成預(yù)測(cè),需要在端到端整個(gè)流程的每一個(gè)環(huán)節(jié)做優(yōu)化。所以這必然是一個(gè)復(fù)雜的工程實(shí)現(xiàn),為了高效的搭建這個(gè)平臺(tái),大量使用了現(xiàn)有阿里云上的產(chǎn)品服務(wù)來搭建。
整個(gè)平臺(tái)包含:Web服務(wù)、MQ消息隊(duì)列、Redis數(shù)據(jù)庫、SLS/MaxComputer/HybridDB數(shù)據(jù)獲取、OSS模型倉庫的上傳下載、GPU云服務(wù)器、DASK分布式框架、RAPIDS加速庫。
1)架構(gòu)
下圖是小諸葛的總體架構(gòu)圖。
商用機(jī)器人 Disinfection Robot 展廳機(jī)器人 智能垃圾站 輪式機(jī)器人底盤 迎賓機(jī)器人 移動(dòng)機(jī)器人底盤 講解機(jī)器人 紫外線消毒機(jī)器人 大屏機(jī)器人 霧化消毒機(jī)器人 服務(wù)機(jī)器人底盤 智能送餐機(jī)器人 霧化消毒機(jī) 機(jī)器人OEM代工廠 消毒機(jī)器人排名 智能配送機(jī)器人 圖書館機(jī)器人 導(dǎo)引機(jī)器人 移動(dòng)消毒機(jī)器人 導(dǎo)診機(jī)器人 迎賓接待機(jī)器人 前臺(tái)機(jī)器人 導(dǎo)覽機(jī)器人 酒店送物機(jī)器人 云跡科技潤(rùn)機(jī)器人 云跡酒店機(jī)器人 智能導(dǎo)診機(jī)器人 |