相比之前如火如荼的大数据作业和负载以及集群硬件情况。深度学习平台的作业和硬件环境有了一些新的不同和趋势:
作业:
- 相比大数据作业,工作流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