弹性深度学习框架EDL
-
EDL 是一个弹性深度学习框架,其包含一个 KubernetesController、PaddlePaddle auto-scaler(可以根据集群中的空闲硬件资源改变分布式任务进程的数目)以及一个新的容错计算架构。
该项目致力于解决深度学习任务弹性的在资源通常不足的生产环境集群执行,尽可能早的帮助深度学习开发者分析出潜在算法问题,同时,Fluid 通过 API 与 Kubernetes 交互,以理解全局集群状态,并据此调整不同任务的进程数量。
从设计理念和实现思路来看,Paddle EDL和KubeFlow有非常多的相似之处。从开源的时间来看 ,二者也是同一时段,百度和谷歌的工程师对同一主题的几乎一样的理解。不过二者的确存在一些差别。
首先,KubeFlow目前只支持Tensorflow,而Paddle EDL目前只支持PaddlePaddle。而它们底层都依托于Kubernetes。Paddle EDL似乎对Kubernetes的整合更深入一些,比如利用可定制的资源分配方式,和自定义逻辑与Kubernetes API交互。而KubeFlow似乎直接使用Kubernetes一般性的功能。因此,在弹性调度这个功能上,PaddlePaddle采取的是前文讨论的EDL方式,而 KubeFlow现在是HPA方式。这是二者最大的不同。
另外,虽然二者都支持一般的Kubernetes+docker环境,KubeFlow和Google在深度学习生态系统中的其它开源项目一样,非常推崇在GCE上布署,深度整合Google云服务。而Paddle EDL并没有强调布署云的供应商服务。
由于Paddle EDL和KubeFlow都是刚刚开源的项目,更多的细节还在演化当中,我相信开源社区对它们的使用和理解会不断加深的。不过有一点可以肯定,Kubernetes和深度学习系统的结合将会越来越紧密,一个抽象层的,和Kubernetes API结合更紧密的,可调度不同后端训练系统(不再绑定Tensorflow或者PaddlePaddle)的项目也许正在孕育中。
项目地址: https://kubernetes.io/docs/concepts/architecture/controller/
西南地区IT社群(QQ)
- 云南
- 【昆明网页设计交流吧】243627302
- 【昆明nodejs交流吧】 243626749
- 【VUE】838405306
- 【云南程序员总群】343606807
- 【昆明UI设计】104031254
- 【云南软件外包】15547313
- 贵州
- 【PHP/java源码/站长交流群】55692114
- 四川
- 【成都Java/JavaWeb交流】86669225
- 【vaScript+PHP+MySql】116270060
- 【UI设计/设计交流学习群】135794928
- 重庆
- 【诺基亚 JAVA游戏博物馆】 559479780
- 【PHP,Java,Python,C++接单】 442103442
- 西藏