深度學習集群管理平台
相比之前如火如荼的大數據作業和負載以及集群硬體情況。深度學習平台的作業和硬體環境有了一些新的不同和趨勢:
作業:
相比大數據作業,工作流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
TAG:ABC技術研習社 |