架构选型对大规模机器学习系统的性能至关重要。不同的架构对参数同步时间、系统扩展性、系统鲁棒性等具有不同程度的影响。大规模分布式机器学习系统目前主要采用三种典型架构。
基于参数服务器(Parameter Server,PS)的架构是一种中心化的架构设计,目前已经被主流的分布式机器学习系统广泛支持,包括Tensorflow、Caffee、MXNet等。基于PS的架构把参与计算的机器划分成了参数服务器和工作者(worker)两个功能角色。参数服务器和工作者之间通过Pull/Push的数据交互方式进行通信。两个功能角色并不互斥,也就意味着,同一个节点可以同时承担参数服务器和工作者的职能。基于PS的架构具有诸多优势,例如部署简单、弹性扩展较好、鲁棒性较强,等等。但是问题也十分明显,一般情况下工作者数目远多于参数服务器,因此参数服务器容易成为网络瓶颈。对于参数服务器和工作者的数目配置需要结合具体的机器学习应用进行调优,给机器学习系统的管理带来不便。
此文由 怡心湖 编辑,若您觉得有益,欢迎分享转发!:首页 > 常识论 » 大规模机器学习系统的中心化与去中心化的架构之争