相比之前如火如荼的大数据作业和负载以及集群硬件情况。深度学习平台的作业和硬件环境有了一些新的不同和趋势:
作业:
相比大数据作业,工作流workflow相比之前的大数据workflow来看相对简化,而将复杂DAG计算图推到了单独的深度模型中。
Training 和 Serving的需求逐步分离。训练过程类似之前大数据批处理作业。深度学习集群更多的解决训练问题。serving相比Training需要考虑更多的naming问题,有可能不是在一个集群内完成。
处理的数据更加多样化,图像,语音,文本等数据。相比之前大数据作业更多以日志分析为大需求。
大多数训练作业不定是分布式作业,数据加工过程可利用大数据框架的分布式作业完成
硬件:
GPU逐步超越CPU称为优先级最高的资源。使得Job性能优化相比大数据考虑的因素有了一些变化。
采用更多的新硬件:FPGA, RDMA等
硬件成本更高
大环境更倾向采用容器化方案进行资源隔离
目前下面列出的为用户可以自行安装和部署的可用的一些方案,关于公有云商提供的方案暂时没有列出。
1 基于Kubernetes的方案
1.1 Kubernetes原生方案
https://kubernetes.io/docs/tasks/manage-gpus/scheduling-gpus/
1.2 基于Kubernets方案
kubeflow
https://github.com/kubeflow/kubeflow
Kubernetes-GPU-Guide
https://github.com/Langhalsdino/Kubernetes-GPU-Guide
2 基于Hadoop Yarn的方案
2.1 YARN原生支持方案
Apache Hadoop 3.1.0 正式发布,原生支持GPU和FPGA
2.2 基于YARN方案
360开源XLearning
https://github.com/Qihoo360/XLearning
3 混合方案
结合Kubernetes和Yarn的混合方案:
微软开源OpenPAI
https://github.com/Microsoft/pai
领取专属 10元无门槛券
私享最新 技术干货