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