SCM是思腾合力推出的一款支持多种机器学习与深度学习框架的集群调度系统。基于Hadoop Yarn完成了对TensorFlow、MXNet、Caffe、Theano、PyTorch、Keras、XGBoost等常用框架的集成,同时具备良好的扩展性和兼容性。
自2013年以来,随着深度学习技术的不断发展,引发了新一轮人工智能热潮,诸如:AlphaGo、刷脸支付、无人驾驶、AR、无人超市等应用层出不穷。由于数据量不断增长,单GPU模式已不能再满足用户需求,因此,为了解决这一问题,思腾合力推出了整体解决方案。
SCM是基于Hadoop、K8s和Docker的集群调度系统,系统架构图如下:
如图所示,用户可以通过Web Portal提交作业或监视群集状态,Web Portal再调用REST服务器所提供的API。也可以使用第三方工具直接调用REST服务器进行作业管理。在接收API调用后,REST Server与FrameworkLauncher(LauncherAM)协调以执行作业管理。Launcher Server处理来自REST服务器的请求并将作业提交给Hadoop YARN。由YARN调度GPU资源进行深度学习计算。其他类型的基于CPU的AI工作负载或传统大数据作业也可以在平台中运行,与那些基于GPU的作业共存。
我们将系统功能分为三大类,即:
框架 | 单机单卡 | 单机多卡 | 多机多卡 | Horovod |
---|---|---|---|---|
Pytorch | 🔗 | 🔗 | 🔗 | N/A |
TensorFlow | 🔗 | 🔗 | 🔗 | N/A |
MxNet | 🔗 | N/A | N/A | N/A |