分布式机器学习——入门篇

目录

1.分布式机器学习研究的问题

2.分布式机器学习研究的背景

3.分布式机器学习使用的情形 

4.分布式机器学习包含的主要模块 

4.1 数据与模型划分模块

4.2 单机优化模块

4.3 通信模块

4.3.1 通信的内容

4.3.2 通信的拓扑结构

4.3.3 通信的步调

4.3.4 通信的频率

4.4 数据与模型聚合模块

5.分布式机器学习基本框图


1.分布式机器学习研究的问题

分布式机器学习研究的是如何使用计算机集群来训练大规模机器学习模型。

 

2.分布式机器学习研究的背景

在大数据和大模型的双重挑战下,大规模的机器学习的训练对计算能力和存储容量都提出了新的要求。

  1. 计算复杂度高,导致单机训练可能会消耗无法接受的时长,因而不得不使用并行度更高的处理器或者计算机集群来完成训练任务;
  2. 存储容量大,导致单机无法满足需求,不得不使用分布式存储。

 

3.分布式机器学习使用的情形 

一般有三种情形:一是计算量太大,二是训练数据太多,三是模型规模太大。

  1. 对于计算量太大的情形,可以采取基于共享内存(或虚拟内存)的多线程或多机并行运算。
  2. 对于训练数据太多的情形,需要将数据进行划分,并分配到多个工作节点上进行训练,这样每个工作节点的局部数据都在容限之内。每个工作节点会根据局部数据训练出一个子模型,并且会按照一定的规律和其他工作节点进行通信(通信的内容主要是子模型参数或者参数更新),以保证最终可以有效整合来自各个工作节点的训练结果并得到全局的机器学习模型。
  3. 对于模型规模太大的情形,则需要对模型进行划分,并且分配到不同的工作节点上进行训练。与数据并行不同,模型并行的框架下各个子模型之间的依赖关系非常强,因为某个子模型的输出可能是另外一个子模型的输入,如果不进行中间计算结果的通信,则无法完成整个模型训练。因此,一般而言,模型并行对通信的要求较高。

 

4.分布式机器学习包含的主要模块 

数据与模型划分模块、单机优化模块、通信模块、数据与模型聚合模块。

4.1 数据与模型划分模块

当我们拥有大量训练数据或者大规模机器学习模型,无法由单机完成存储和计算时,就需要将数据或模型进行划分并将其分配到各个工作节点上。

首先就数据划分而言,主要有两个操作的角度:一是对训练样本进行划分,二是对每个样本的特征维度进行划分。

 

4.2 单机优化模块

完成数据或模型划分之后,每个工作节点只需要根据分配给自己的局部训练数据和子模型来进行训练。从这个意义上讲,出去各工作节点之间的相互通信意外,在每个工作节点自身的视野里,其实基本就是一个传统的单机机器学习任务:根据属于自己的训练数据,计算经验风险(所有训练样本上的损失函数之和),然后利用某种优化算法(如随机梯度下降法)通过最小化经验风险来学习模型的参数。·

 

4.3 通信模块

4.3.1 通信的内容

在数据并行的框架下,每个工作节点会学到基于局部数据的子模型。那么为了实现全局的信息共享,就需要把这些子模型或子模型的更新(如梯度)作为通信的内容。

 

4.3.2 通信的拓扑结构

通信的拓扑结构:也就是哪些工作节点之间需要通信。

目前主流的通信拓扑结构有:

  • 基于迭代式 MapReduce / AllReduce 的通信拓扑
  • 基于参数服务器的通信拓扑
  • 基于数据流的通信拓扑

 

4.3.3 通信的步调

通信的步调包括:

  • 同步的通信方式和异步的通信方式
  • 半同步的通信方式和混合同步的通信方式

 

4.3.4 通信的频率

通信越频繁,各个工作节点相互协调越好,训练效果应该越有保障;然而另外一方面,这也意味着通信的代价会更高,可能拖累整体训练的速度。

既然降低通信频率的目的是减小通信带宽需求,那么还有没有其他手段可以在不降低通信频率的情况下有效减小通信带宽需求?

可以看看能不能在当前的参数空间下尽量减少要发送的数据量。可以选择的方法有:

  • 模型压缩
  • 模型量化
  • 模型参数随机丢弃

 

4.4 数据与模型聚合模块

下面一参数服务器的分布式机器学习为例进行讨论。当参数服务器收到来自不同工作节点的本地模型时,既可以选择对模型参数进行简单平均来获得全局模型,也可以通过解一个一致性优化问题来获得全局模型(如 ADMM、BMUF),还可以通过模型集成(ensemble)来获得全局模型。

 

5.分布式机器学习基本框图

参考:《分布式机器学习——算法、理论与实践》.刘铁岩. 陈薇. 王太峰. 高飞 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疯狂的兔子Philip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值