论文部分内容阅读
随着计算机与网络在各行各业的广泛应用,收集管理数据变得越来越容易,数据的规模也在成倍的增长。在分析决策、人工智能等领域,这些规模庞大的数据发挥着日益重要的作用。机器学习方法是处理、分析大数据的常用手段,是人工智能的核心研究方向,因而构建一个高效的分布式机器学习平台显得尤为重要。本文设计并实现了一个分布式机器学习平台LIBBLE-Spark。该平台基于Spark实现,充分利用了 Spark基于内存计算的特点,并且能够深度融合入Spark数据处理流水线中,减少数据存取时间。LIBBLE-Spark包含有以下三点主要工作:一、基于Spark平台实现了常用的回归、分类、聚类等多种算法。在回归与分类算法的实现上,我们应用了逻辑与框架更适合于Spark的SCOPE算法,从而使得算法模型优化过程具有收敛速度快、网络通信开销低等优点,大大提升了模型优化速度,模型优化速度远快于同类平台。同时LIBBLE-Spark为用户提供了自定义广义线性模型接口,方便用户实现自定义模型的快速优化。二、针对稀疏学习做出相应的优化实现。对于稀疏模型的学习,我们针对L1正则化的优化提出了惰性收缩(Lazy Shrinkage)策略,有效减少了在高维稀疏数据上采用近端梯度下降法优化的计算开销。三、针对生产环境机器性能表现不一、任务可抢断等情况,提出并在Spark上实现了部分同步协议(Partial Synchronous Parallel,PSP)。当出现机器性能表现不一及任务抢断所造成的慢节点现象时,PSP协议能够在不影响算法收敛的情况下有效地降低等待时间,加速优化进程。