小叽导读:在解决实际问题的时候,很多人认为只要有机器学习算法就可以了,实际上要把一个算法落地还需要解决很多工程上的难题。本文将和大家分享如何从零开始搭建一个GPU加速的分布式机器学习系统,介绍在搭建过程中遇到的问题和解决方法。
一 背景
在云计算环境下,虚拟机的负载均衡、自动伸缩、绿色节能以及宿主机升级等需求使得我们需要利用虚拟机(VM)迁移技术,尤其是虚拟机热迁移技术,对于down time(停机时间)要求比较高,停机时间越短,客户业务中断时间就越短,影响就越小。如果能够根据VM的历史工作负载预测其未来的工作负载趋势,就能够寻找到最合适的时间窗口完成虚拟机热迁移的操作。
于是我们开始探索如何用机器学习算法预测ECS虚拟机的负载以及热迁移的停机时间,但是机器学习算法要在生产环境发挥作用,还需要很多配套系统去支持。为了能快速将现有算法在实际生产环境落地,并能利用GPU加速实现大规模计算,我们自己搭建了一个GPU加速的大规模分布式机器学习系统,取名小诸葛,作为ECS数据中台的异构机器学习算法加速引擎。搭载以上算法的小诸葛已经在生产环境上线,支撑阿里云全网规模的虚拟机的大规模热迁移预测。
二 方案
那么一套完整大规模分布式系统机器学习系统需要哪些组成部分呢?
1 总体架构
阿里云全网如此大规模的虚拟机数量,要实现24小时之内完成预测,需要在端到端整个流程的每一个环节做优化。所以这必然是一个复杂的工程实现,为了高效的搭建这个平台,大量使用了现有阿里云上的产品服务来搭建。
整个平台包含:Web服务、MQ消息队列、Redis数据库、SLS/MaxComputer/HybridDB数据获取、OSS模型仓库的上传下载、GPU云服务器、DASK分布式框架、RAPIDS加速库。
1)架构
下图是小诸葛的总体架构图。
机器人公司 机器人应用 智能医疗 物联网 机器人排名 机器人企业 教育机器人 机器人开发 独角兽 消毒机器人品牌 消毒机器人 |