终于有人把分布式机器学习讲明白了

导读:分布式机器学习与联邦学习。

作者:薄列峰 黄恒 顾松庠 陈彦卿 等

来源:大数据DT(ID:hzdashuju)

37293adc38c9ed3cf7c9c53839dccfd8.jpeg

分布式机器学习也称分布式学习,是指利用多个计算节点(也称工作节点,Worker)进行机器学习或者深度学习的算法和系统,旨在提高性能、保护隐私,并可扩展至更大规模的训练数据和更大的模型。

联邦学习可以看作分布式学习的一种特殊类型,它可以进一步解决分布式机器学习遇到的一些困难,从而构建面向隐私保护的人工智能应用和产品。

01 分布式机器学习的发展历史

近年来,新技术的快速发展导致数据量空前增长。机器学习算法正越来越多地用于分析数据集和建立决策系统。而由于问题的复杂性,例如控制自动驾驶汽车、识别语音或预测消费者行为(参考Khandani等人2010年发表的文章),算法解决方案并不可行。

在某些情况下,单个机器上模型训练的较长运行时间促使解决方案设计者使用分布式系统,以增加并行度和I/O带宽总量,因为复杂应用程序所需的训练数据可以很容易就达到TB级。

在其他情况下,当数据本身是分布式的或量太大而不能存储在单个机器上时,集中式解决方案甚至不可取。例如,大型企业对存储在不同位置的数据进行事务处理,或者由于数据量太大而无法移动和集中。

为了使这些类型的数据集可以作为机器学习问题的训练数据被访问,必须选择并实现能够并行计算、适应多种数据分布和拥有故障恢复能力的算法。

近年来,机器学习技术得到了广泛应用。虽然出现了各种相互竞争的方法和算法,但使用的数据表示在结构上非常相似。机器学习工作中的大部分计算都是关于向量、矩阵或张量的基本转换,这些都是线性代数中常见的问题。

几十年来,对这种操作进行优化的需求一直是高性能计算(High Performance Computing,HPC)领域高度活跃的研究方向。因此,一些来自HPC社区的技术和库(例如,BLAS或MPI)已经被机器学习社区成功地采用并集成到系统中。

与此同时,HPC社区已经确定机器学习是一种新兴的高价值工作负载,并开始将HPC方法应用于机器学习。

  • Coates等人在他们的商用高性能计算(COTSHPC)系统上用短短三天训练了一个含有10亿个参数的网络。

  • You等人于2017年提出在Intel的Knights Landing上优化神经网络的训练,Knights Landing是一种为高性能计算应用设计的芯片。

  • 3
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值