加入收藏 | 设为首页 | 会员中心 | 我要投稿 许昌站长网 (https://www.0374zz.cn/)- 专属主机、负载均衡、智能边缘云、云防火墙、数据加密!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2022-08-26 12:42:34 所属栏目:大数据 来源:互联网
导读:分布式机器学习也称分布式学习,是指利用多个计算节点(也称工作节点,Worker)进行机器学习或者深度学习的算法和系统,旨在提高性能、保护隐私,并可扩展至更大规模的训练数据和更大的模型。 联邦学习可以看作分布式学习的一种特殊类型,它可以进一步解决分
  ​分布式机器学习也称分布式学习,是指利用多个计算节点(也称工作节点,Worker)进行机器学习或者深度学习的算法和系统,旨在提高性能、保护隐私,并可扩展至更大规模的训练数据和更大的模型。
 
  联邦学习可以看作分布式学习的一种特殊类型,它可以进一步解决分布式机器学习遇到的一些困难,从而构建面向隐私保护的人工智能应用和产品。
 
  1.分布式机器学习的发展历史
  近年来,新技术的快速发展导致数据量空前增长。机器学习算法正越来越多地用于分析数据集和建立决策系统。而由于问题的复杂性,例如控制自动驾驶汽车、识别语音或预测消费者行为(参考Khandani等人2010年发表的文章),算法解决方案并不可行。
 
  在某些情况下,单个机器上模型训练的较长运行时间促使解决方案设计者使用分布式系统,以增加并行度和I/O带宽总量,因为复杂应用程序所需的训练数据可以很容易就达到TB级。
 
  在其他情况下,当数据本身是分布式的或量太大而不能存储在单个机器上时,集中式解决方案甚至不可取。例如,大型企业对存储在不同位置的数据进行事务处理,或者由于数据量太大而无法移动和集中。
 
  为了使这些类型的数据集可以作为机器学习问题的训练数据被访问,必须选择并实现能够并行计算、适应多种数据分布和拥有故障恢复能力的算法。
 
  近年来,机器学习技术得到了广泛应用。虽然出现了各种相互竞争的方法和算法,但使用的数据表示在结构上非常相似。机器学习工作中的大部分计算都是关于向量、矩阵或张量的基本转换,这些都是线性代数中常见的问题。
 
  几十年来,对这种操作进行优化的需求一直是高性能计算(High Performance Computing,HPC)领域高度活跃的研究方向。因此,一些来自HPC社区的技术和库(例如,BLAS或MPI)已经被机器学习社区成功地采用并集成到系统中。
 
  与此同时,HPC社区已经确定机器学习是一种新兴的高价值工作负载,并开始将HPC方法应用于机器学习。
 
  Coates等人在他们的商用高性能计算(COTSHPC)系统上用短短三天训练了一个含有10亿个参数的网络。
 
  You等人于2017年提出在Intel的Knights Landing上优化神经网络的训练,Knights Landing是一种为高性能计算应用设计的芯片。
 
  Kurth等人于2017年演示了深度学习问题(如提取天气模式)是如何在大型并行HPC系统上进行优化和扩展的。
 
  Yan等人于2016年提出通过借用HPC的轻量级分析等技术建模工作负载需求,可解决在云计算基础设施上调度深度神经网络应用的挑战。
 
  Li等人于2017年研究了深度神经网络在加速器上运行时针对硬件错误的恢复特性(加速器经常部署在主要的高性能计算系统中)。
 
  同其他大规模计算挑战一样,我们有两种基本不同且互补的方式来加速工作负载:向一台机器添加更多资源(垂直扩展,比如GPU/TPU计算核心的不断提升),向系统添加更多节点(水平扩展,成本低)。
 
  传统的超级计算机、网格和云之间的界限越来越模糊,尤其在涉及机器学习等高要求的工作负载的最佳执行环境时。例如,GPU和加速器在主要的云数据中心中更加常见。因此,机器学习工作负载的并行化对大规模实现可接受的性能至关重要。然而,当从集中式解决方案过渡到分布式系统时,分布式计算在性能、可伸缩性、故障弹性或安全性方面面临严峻挑战。

(编辑:许昌站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读