小嘰導讀:在解決實際問題的時候,很多人認為只要有機器學習算法就可以了,實際上要把一個算法落地還需要解決很多工程上的難題。本文將和大家分享如何從零開始搭建一個GPU加速的分布式機器學習系統,介紹在搭建過程中遇到的問題和解決方法。
一 背景
在云計算環境下,虛擬機的負載均衡、自動伸縮、綠色節能以及宿主機升級等需求使得我們需要利用虛擬機(VM)遷移技術,尤其是虛擬機熱遷移技術,對于down time(停機時間)要求比較高,停機時間越短,客戶業務中斷時間就越短,影響就越小。如果能夠根據VM的歷史工作負載預測其未來的工作負載趨勢,就能夠尋找到最合適的時間窗口完成虛擬機熱遷移的操作。
于是我們開始探索如何用機器學習算法預測ECS虛擬機的負載以及熱遷移的停機時間,但是機器學習算法要在生產環境發揮作用,還需要很多配套系統去支持。為了能快速將現有算法在實際生產環境落地,并能利用GPU加速實現大規模計算,我們自己搭建了一個GPU加速的大規模分布式機器學習系統,取名小諸葛,作為ECS數據中臺的異構機器學習算法加速引擎。搭載以上算法的小諸葛已經在生產環境上線,支撐阿里云全網規模的虛擬機的大規模熱遷移預測。
二 方案
那么一套完整大規模分布式系統機器學習系統需要哪些組成部分呢?
1 總體架構
阿里云全網如此大規模的虛擬機數量,要實現24小時之內完成預測,需要在端到端整個流程的每一個環節做優化。所以這必然是一個復雜的工程實現,為了高效的搭建這個平臺,大量使用了現有阿里云上的產品服務來搭建。
整個平臺包含:Web服務、MQ消息隊列、Redis數據庫、SLS/MaxComputer/HybridDB數據獲取、OSS模型倉庫的上傳下載、GPU云服務器、DASK分布式框架、RAPIDS加速庫。
1)架構
下圖是小諸葛的總體架構圖。
機器人招商 Disinfection Robot 機器人公司 機器人應用 智能醫療 物聯網 機器人排名 機器人企業 機器人政策 教育機器人 迎賓機器人 機器人開發 獨角獸 消毒機器人品牌 消毒機器人 合理用藥 地圖 |