分布式技术原理与算法解析之分布式计算与体系结构 学习笔记 (7)
分布式模型训练:利用分布式集群,将多个计算机的存储能力,计算能力进行统一管理和调度,从而实现模型训练。
前提:有一个分布式集群。
关键技术:架构、选主、调度、可靠性。
-
数据分布式训练
- 在每一个节点上运行/存储一个完整的模型训练程序。
- 数据子集分配到多个节点上,每个节点根据自己接受到的数据进行训练。
-
有效整合得到全局的学习模型
-
关键点(1)数据拆分、数据分布式是存储/管理。(2)节点交互。
-
模型分布式训练(任务并行/任务分布式)
- 大任务拆分为多个子任务,分而治之。(子任务拆分:流水线、MapReduce等多种分布式计算模型)
- 不同节点子任务之间交互中间计算结果。
-
混合模型训练
总结
分布式体系结构之集中式结构
**集中式结构(master/slave):**由一台或多台服务器组成中央服务器,中央服务器存储所有数据,优先处理所有业务(存疑?)。节点服务器直接和中央服务器连接,并将自己的信息汇报给中央服务器,由中央服务器统一进行资源和任务调度;中央服务器根据这些信息,将任务下达给节点服务器;节点服务器执行任务,并将结果反馈给中央服务器。
经典集中式结构:
Google Borg:谷歌内部使用的集群管理系统,负责提交,调度,开始,重启和管理Googe运行在其上的所有应用。主要用户是google的开发者以及运行Google应用和服务的系统管理员。
Kubernetes:谷歌开源的容器集群管理系统,是Borg的一个开源版本。
Mesos: Apache旗下的开源分布式资源管理框架,在Twitter中得到广泛应用。