分布式机器学习笔记2

@分布式机器学习笔记

分布式机器学习算法、理论与实践 学习笔记

续 前

3 分布式机器学习框架

  1. 大数据与大模型的挑战
    1)大数据:为训练大模型提供了物质基础,耗费大量计算资源和时间,对计算机软硬件提了更高的要求
    2)大模型:模型参数规模巨大,具有超强的表达能力;但也非常容易过拟合
    对计算能力和存储容量提出新要求:趋势是采用并行度更高的处理器(GPU)或者计算机集群(由GPU集群支持的云计算服务)完成训练任务、分布式存储
  2. 分布式机器学习基本流程
    需要使用分布式机器学习的情形(实际情况三者混合)
    1)计算量太大:可采取基于共享内存的多线程或多机并行运算(计算并行)
    2)训练数据太多:对数据进行划分,分配到多个工作节点上进行训练;每个工作节点基于局部数据训练出子模型,按照一定规律与其他工作节点进行通信(子模型参数/参数更新),有效整合来自各个工作节点的训练结果并得到全局机器学习模型(data-based,数据并行)
    3)模型规模太大:对模型进行划分,分配到多个工作节点上进行训练;每个工作节点基于全局数据训练出子模型;各子模型之间依赖关系可能非常强,对通信要求较高(model-based,模型并行)
  3. 数据与模型划分模块
    1)数据划分
    ①训练样本划分
    基于随机采样的方法:保证局部训练数据与原训练数据是独立同分布的;但训练数据量大,全局采样代价高,且低频训练样本无法得到充分利用
    基于置乱切分的方法:可能不满足独立同分布
    ②特征维度划分
    将训练数据的不同特正维度划分到不同工作节点上,需配合特定的优化方法使用
    2)模型划分:影响不同工作节点之间的依赖关系和通信强度
    需考虑模型结构特点:线性模型(不同特征维度划分)/深度神经网络(横向/纵向/随机)……
  4. 单机优化模块
    对于工作节点自身,其实是传统的单机机器学习任务:根据自己的训练数据,采用某种优化算法,通过最小化经验风险来学习模型参数。
    问题:主流的优化算法在分布式环境下理论性质(收敛性、泛化能力……)会发生何种变化?
  5. 通信模块
    1)通信的内容
    数据并行模型:子模型/重要样本
    模型并行模型:中间计算结果
    2)通信的拓扑结构
    ①基于迭代式MapReduce/AllReduce的通信拓扑
    大数据处理的MapReduce方法:Map完成数据分发和并行处理,Reduce完成全局同步和聚合;改进为基于内存的实现,相比基于I/O的计算代价减小,引入永久性存储;运算和存储无逻辑隔离,因此只能同步通信
    ②基于参数服务器的通信拓扑
    工作与存储节点分开,各工作节点不一定需要保持同步,可采用多个参数服务器共同维护较大的模型,平衡负载且提高通信效率,稀疏模型访问情形下可支持模型并行
    ③基于数据流的通信拓扑
    计算被建模为有向无环图
    每个节点都有两个通信通道:控制消息流和计算数据流
    3)通信的步调
    同步:每个节点等待收齐来自其他所有节点的模型更新后,才继续自己的本地模型训练
    异步:不相互等待,将本地模型训练和其他节点通信隔离开来
    早期,同步方式大量使用:MapReduce盛行,早期机器学习规模不大,因此等待时间可接受;逻辑上更清晰
    后期,同步方式产生局限性:工作节点计算性能不同时,全局计算性能受限于性能较差的节点;若某个工作节点死机,全局都无法完成工作;异步方式逻辑上隔离了各个工作节点
    需考虑如何保持模型更新的一致性,对不同版本的模型更新进行充分、合理的应用,否则步调相差过大可能会影响全局模型的收敛速度
    半同步/混合同步方式:综合二者好处,规避各自问题
    4)通信的频率
    目标:实现最高的学习效率
    根据分布式计算机集群的配置(每个工作节点的计算速度、机器之间互联的通信网络带宽),问题自身特点(数据、模型),计算出最优的通信频率
  6. 数据与模型聚合模块
    模型平均:学习目标为凸函数条件下有相应理论保证,非凸问题无法保证平均模型性能
    模型集成:保证非凸问题精度不会损失;但可能出现“模型爆炸”,需进行模型压缩
  7. 分布式机器学习理论
    收敛性,加速比,泛化性
  8. 分布式机器学习系统
    产业界成型的分布式机器学习系统
  9. 总结
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值