论文部分内容阅读
大数据背景下,分布式机器学习算法和系统的研究得到广泛关注。机器学习作为大数据挖掘的主要方法之一,提高其算法收敛速度和精度、算法可扩展性、学习系统的易用性和稳定性具有重大的科研和应用价值。当前的大规模机器学习算法可以分为数据并行和模型并行两大类,在数据并行算法中,模型合并是一种比较常用、简单、有效的学习策略。作为模型合并的代表,迭代参数合并算法(Iterative Parameter Mixing,IPM)将训练数据随机划分成多份,分布到不同机器上,通过在多个机器上同时独立地执行随机梯度下降算法,并将得到的多个模型进行合并作为下一轮迭代的初始模型,这种策略取得了很好的效果。 然而,IPM算法模型合并方式单一、在非线性问题上效果较差,还有很大的改进空间,而且基于MPI实现的IPM算法不能容错或者容错代价很高,无法满足大数据场景下长时间训练的系统需求。针对IPM算法存在的上述三个问题,我们分别展开研究,本文的研究成果主要包括: 1.基于差异合并的分布式随机梯度下降算法 在线性模型上,我们针对IPM合并方式简单,存在很大改进空间的问题,提出基于差异合并的分布式随机梯度下降算法。本文在完全分布式的场景下,通过模型的差异化合并和对合并后模型的规范化两种技术,分别提高模型的收敛速度和精度。我们通过实验分析,验证了模型的差异化合并能够捕获全局数据的特点,保证模型训练的稳定性,从而提高收敛速度。同时,对合并后的模型采用规范化技术,将其投射到合并前模型所在的球面上,能够提高模型的训练精度。 2.基于交替合并的分布式随机梯度矩阵分解算法 在非线性问题上,本文从矩阵分解问题出发,从理论上分析了IPM失效的原因,提出基于交替合并的分布式随机梯度矩阵分解算法,通过交替合并的方式,保证了合并的正确性。具体地,在更新矩阵分解中两个耦合的低秩矩阵时,我们采用交替更新的方式,这样在每一步更新时,求解的问题被转化成线性问题,于是我们能够正确利用参数合并的策略,提高模型收敛的速度和精度。另外,本文针对矩阵分解这个特殊问题提出了一种分布式存储策略,提高了算法的可扩展性。 3.基于模型合并的容错机器学习系统 在系统实现层面,针对基于MPI实现的IPM算法效率最高但是不能容错或容错代价大的问题,本文基于机器学习迭代训练和随机梯度下降优化算法的特性,设计并实现了基于模型合并的机器学习系统,解决大数据应用中长时问训练下系统的稳定性问题。具体地,每轮迭代中,如果有部分计算节点因各种原因不能继续正常工作,我们并不马上对其进行容错处理,在这一轮训练中我们仅对正常工作的节点进行模型合并,相当于我们仅在一部分数据上更新模型,而在下一轮更新开始时,系统会自动重启进程加载失败的数据加入到下一轮的更新中。这种策略大大降低了传统容错策略中设置检查点的开销,同时并不影响模型收敛的正确性。