分布式深度学习框架的前世今生,从 MapReduce 到 Pathways

今日应用


今日话题


分布式深度学习框架的前世今生,从 MapReduce 到 Pathways
分布式深度学习框架的前世今生,从 MapReduce 到 Pathways
 

重点标签 分布式学习深度学习框架参数服务器异步通信模型并行

文章摘要


分布式深度学习框架的发展历程主要围绕解决超大模型的训练问题,针对具有超大规模密集参数和稀疏参数的模型。从早期的MPI、Hadoop到Spark,再到参数服务器(Parameter Server, PS)的诞生,都是为了应对深度学习快速发展的需求。参数服务器的核心是将数据、训练参数和执行单元分散到不同计算节点上,实现分布式训练,快速收敛。

参数服务器的设计要点包括性能、适用性、通信开销、一致性、弹性、易用性和二次开发能力。在发展历史中,谷歌和百度是最早的参与者,谷歌在2012年发表了大规模分布式机器学习的工作,百度则在2010年就上线了分布式LR模型和参数服务器架构。

参数服务器的架构经历了几代的演进。第一代LDA框架使用Memcached进行参数同步,但缺乏灵活性和性能。第二代DistBelief框架由Google提出,基于参数服务器架构,提出了Downpour SGD纯异步模式。第三代PS-Lite架构在设计上更加通用,包含Server Group和Worker Group,优化了网络带宽。SINGA架构支持数据并行和模型并行,CNTK专注于数据并行,而Poseidon则允许Master和Worker之间的参数更新以及Worker之间的通信。

第四代参数服务器呈现百花齐放的局面,各大厂商根据自己的业务需求对参数服务器进行改进和优化。例如,Uber开源了Horovod,腾讯基于Angel的LDA*进行了优化,阿里开源了X-Deep Learning系统,Facebook发表了DLRM模型,字节跳动开源了BytePS,360公司开源了TensorNet。

百度飞桨开源的参数服务器框架PaddlePaddle支持四种模式:CPUS PS、GPU PS、Heter PS和Pipeline PS。它具有通用性、支持多种通信方式、高效的流水线架构、多级存储结构、支持多种AI芯片等特点。

下一代分布式训练框架Pathways将支持多种参数管理策略,Worker和PServer将作为无状态服务,便于容错和弹性扩缩容。结合Paddle框架的自动并行能力,能够自动执行任务切分和放置,加快计算图的执行速度。

参考文献提供了关于分布式机器学习、TensorSpark、TensorFlow分布式运行时、Poseidon系统架构、GeePS、深度学习在大规模应用和易用性等方面的深入研究和实践。

总结:分布式深度学习框架的发展是为了解决大规模模型训练的挑战,参数服务器架构的演进体现了对性能、适用性、通信效率和易用性的追求。随着深度学习应用的广泛和模型规模的增长,参数服务器不断优化和发展,各大厂商根据自身需求进行定制化改进。未来的分布式训练框架将更加智能和高效,以适应不断变化的业务需求和技术挑战。

文章来源


原文地址: 点我阅读全文
原文作者: 极市平台

© 版权声明

相关文章

暂无评论

暂无评论...