­

分布式技术原理与算法解析之分布式计算与体系结构 学习笔记 (7)

分布式模型训练:利用分布式集群,将多个计算机的存储能力,计算能力进行统一管理和调度,从而实现模型训练。

前提:有一个分布式集群。

关键技术:架构、选主、调度、可靠性

  • 数据分布式训练

    • 在每一个节点上运行/存储一个完整的模型训练程序。
    • 数据子集分配到多个节点上,每个节点根据自己接受到的数据进行训练。
      image.png
  • 有效整合得到全局的学习模型

  • 关键点(1)数据拆分、数据分布式是存储/管理。(2)节点交互。

  • 模型分布式训练(任务并行/任务分布式)

    • 大任务拆分为多个子任务,分而治之。(子任务拆分:流水线、MapReduce等多种分布式计算模型
    • 不同节点子任务之间交互中间计算结果。
      image.png
  • 混合模型训练
    image.png
    总结
    image.png

分布式体系结构之集中式结构
**集中式结构(master/slave):**由一台或多台服务器组成中央服务器,中央服务器存储所有数据,优先处理所有业务(存疑?)。节点服务器直接和中央服务器连接,并将自己的信息汇报给中央服务器,由中央服务器统一进行资源和任务调度;中央服务器根据这些信息,将任务下达给节点服务器;节点服务器执行任务,并将结果反馈给中央服务器。

经典集中式结构:

Google Borg:谷歌内部使用的集群管理系统,负责提交,调度,开始,重启和管理Googe运行在其上的所有应用。主要用户是google的开发者以及运行Google应用和服务的系统管理员。

Kubernetes:谷歌开源的容器集群管理系统,是Borg的一个开源版本。

Mesos: Apache旗下的开源分布式资源管理框架,在Twitter中得到广泛应用。
image.png