第三章分布式机器学习
3.1分布式机器学习介绍
-
3.1.1分布式机器学习的定义
分布式机器学习(Distributed Machine Learning,DML),是指利用多个计算节点进行机器学习或者深度学习的算法和系统,旨在提高性能、保护隐私,并可扩大至更大规模的训练和更大的模型。DML可以分为两类:面向扩展性的DML和面向隐私保护的DML。
面向扩展性的DML是指用来解决不断增长的扩展性和计算需求问题的机器学习系统。当内存限制和算法复杂度是主要障碍时,面向扩展性的DML方法便为大规模ML提供了可行的解决方法。出了克服训练数据的集中存储需求,DML系统还能够使用更弹性化和更廉价的计算资源。面向隐私保护的DML的主要目的是保护用户隐私和数据安全。在面向隐私保护的DML系统中,有多个参与方且每一方都拥有一些训练数据。因此需要使用DML技术来利用每个参与方的训练数据,从而协同地训练机器学习模型。
-
3.1.2分布式机器学习平台
Apache Spark MLlib
3.2面向扩展性的DML
-
3.2.1大规模机器学习
传统ML方法在处理大规模数据集和 ML模型时所面临的主要挑战:
1.内存短缺 传统ML方法只在一块独立内存中对训练样本进行所有的操作。因此,如果训练样本的规模超过了单块内存容量,就可能导致训练模型不收敛或者性能低下
2.不合理的训练时间 大规模训练样本时,在训练处理中耗费的时间可能过长。 -
3.2.2面向扩展性的DML方法
很多研究工作致力于提升DML的能力上限,以减少处理大规模的ML和DL模型所需的训练时间。