【对标TensorFlow】阿里公开内部超大规模分布式机器学习平台

  • 时间:
  • 浏览:2
  • 来源:大发5分6合APP下载_大发5分6合APP官网

强大的容错功能,甚至在比较复杂且忙碌的线上集群环境中

Backup Instance for Straggler Management

支持有向无循环图形式的调度和同步,包括BSP/SSP/ASP

用户友好的界面和编程

这么大的数据量,使得机器学习不得不面临着样本及结构规模巨大的挑战。类似,阿里巴巴结构的模型会达到千亿样本,百亿结构,TB-PB 级的训练数据量。然后,因为搭建并能训练这么大规模数据的机器学习平台是工业界面临的2个 多多巨难题报告 报告 。





图 1:阿里某生产集群中 MPI 任务情况汇报

目前,业界因为有有些比较成熟期期是什么是什么的句子的句子期 期期期期的分布式防止框架,如 Hadoop,Spark,GraphLab 和 GraphX。我人太好它们可以支持机器学习算法并行化,但它们先要让开发人员设计出更有速率且支持更大规模的机器学习算法。

图8 显示了基于鲲鹏的 MART 和 XGBoost 在相同数据集上运行时间的对比,其中也可以看出基于鲲鹏的 MART 训练时间要优于 XGBoost。

2. Kunpeng-MART 与 XGBoost 比较





图 7:Kunpeng-MART 与 XGBoost 内存消耗对比结果

图7 显示了基于鲲鹏实现的 Multiple Additive Regression Trees(MART)与开源的 XGBoost 在 4 个不同数据集上的对比结果。从中可以看出,基于鲲鹏的 MART 内存使用情况汇报要稳定的低于 XGBoost。此外,大伙儿儿在 Ads CVR2 数据上重复跑了 10 次 XGBoost,但无一成功得到结果。

来源:新智元

为了防止这人难题报告 ,蚂蚁金服人工智能部&阿里云团队开发了鲲鹏。

然后,咋样设计更有速率且支持更大规模的机器学习算法,就成为2个 多多业界难题报告 。

现在是个大数据的时代,各个平台的数据量都与时俱进。举例而言,国外的 Twitter 每天新增 5 亿条Tweets,阿里巴巴每天有 50000 万个邮邮寄快递国际包裹,蚂蚁金服的支付宝交易峰会达到 12 万笔/秒,仅仅在 2016 年“双11”当天就产生了 10.5 亿笔交易。

鲲鹏的架构建立在阿里巴巴集团结构的大规模分布式 Apasra 平台后边,拥有Robust Failover、Backup Instance,以及 DGA for Scheduling & Synchronization 等结构。

1. 与 Spark 和 MPI 比较





图 6:鲲鹏与 Spark 和 MPI 训练时间及内存消耗对比

总结

3. Worker 数量对算法的影响实验





图 9 Worker 数量与算法加速及单 Worker 内存使用关系

图9 显示了 Worker 数量与算法加速及单 Worker 内存使用的关系。在该实验中,大伙儿儿使用的是基于鲲鹏的稀疏 LR 算法,结构约有 70 亿个,样本约有 1500 亿个。从中可以看出,25 个 worker 就能训练什么数据。然后随着 worker 的增多,算法训练速率倍增,一起单机上的内存使用会倍降。

图6 显示了在 7 个不同数据集上(D1-D7),鲲鹏与 Spark 和 MPI 的逻辑回归算法(LR)训练时间及内存消耗对比。如 D1(4500K,20M) 指该数据集包含 了 46 万结构,5000 万样本。从中可以看出,Spark 和 MPI 的 LR 在结构超大的情况汇报下(D7)会出错,而鲲鹏的LR则可顺利训练成功。

鲲鹏的总体架构

实验结果





图 2:鲲鹏的研究动机及创新性

在系统方面,鲲鹏的创新在于它拥有了以下功能:

从图4 中可以看出,整个流程对用户而言算是透明的,使用过程也“如丝般顺滑”,不会感知算法肩头比较复杂的优化及调度过程。

鲲鹏:超大规模分布式计算系统 + 超大规模分布式优化算法

用户视角

具体而言,Hadoop 和 Spark 我人太好提供了有些同步和粗粒度运算符(类似,Map,Reduce 和 Join 等),但主要还停留在防止中小规模机器学习的难题报告 。GraphLab/GraphX 主只是为了图存储和计算,不会适用于普通的大规模机器学习算法。MPI 我人太好并能支持普通的分布式计算,但其过低容错机制。一阵一阵是在 worker 很大的情况汇报下,MPI 的运行成功率会大大降低,如图1所示。

近年来,随着“大”数据及“大”模型的总出 ,学术界和工业界对分布式机器学习算法引起了广泛关注。针对这人刚需,阿里集团和蚂蚁金服设计了买车人的分布式平台——鲲鹏。鲲鹏结合了分布式系统及并行优化算法,防止了大规模机器学习算法带来的一系列难题报告 ,不仅囊括了数据/模型并行、负载平衡、模型同步、稀疏表示、工业容错等结构,然后还提供了封闭好的、宜于调用的 API 供普通的机器学习者开发分布式算法,降低使用成本并提升速率。相关论文在本届 KDD 以口头报告的形式发表(应用数据科学 Track)。

开发者视角

研究人员表示,在大伙儿儿的鲲鹏系统中,“鲲”即是超大规模分布式计算系统,拥有超强的计算能力;而“鹏”即是超大规模分布式优化算法,建立在“鲲”之上。“鲲鹏”即一起拥有超大规模分布式计算系统及超大规模分布式优化算法,合二为一使得它有“一飞冲天”的能力,如图2 所示。

超大规模分布式学习系统能力对大数据的公司而言尤为重要。鲲鹏在阿里和蚂蚁众多实际场景中发挥出了巨大的优势。类似,在 2015 年“双11”中,鲲鹏系统上实现的“楼层”排序(LR 算法)使得 UV CTR 提升了 21%,GMV 提升了10%。再如,基于鲲鹏实现的 GBDT+DNN 算法,应用在支付宝交易风险评估业务中,上线以来在相同覆盖度的情况汇报下,案件召回率从 91% 增加到 98%,每天减少了几千万次用户的打扰。此外,在鲲鹏上实现的 Deep Structured Semantic Model(DSSM),因为广泛被应用于搜索、广告和智能客服等业务中。总体来说,鲲鹏系统上的 10 多个成熟期期是什么是什么的句子的句子期 期期期期算法因为被广泛应用于 120 多个产品中,什么无一算是阿里生态体系内最大规模的算法。

鲲鹏架构对普通的机器学习算法开发者而言也非常简单,它将比较复杂的通信及调度过程包装成了 API。类似,Worker.PullFrom(Server),开发者只须要这人行简单的代码即可把模型从 server 端 pull 到 worker 端。再如,SyncBarrier(),这开发者只须要这人行简单的代码即可完成 server 端模型的同步。





图 5:鲲鹏架构开发者视角





图 8:Kunpeng-MART 与 XGBoost 训练时长对比结果

鲲鹏系统的调用,对普通用户而言也非常简单。用户只须要使用简单的几行脚本形式的命令,即可完成整个算法的调度。整个过程主要包括:

文中描述的实验在十亿级别的样本和结构数据上进行。结果表示,鲲鹏的设计使得一系列算法的性能都得到了极大的提升,包括 FTRL,Sparse-LR,以及 MART。此外,鲲鹏在阿里巴巴“双11”狂欢购物节及蚂蚁金服的交易风险检测中,体现出了巨大的应用价值。

从算法创新深度1看,鲲鹏架构使得常用的机器学习算法的大规模化成为了因为,截止目前,因为有众多机器学习算法在鲲鹏上得以实现和应用,包括但不限于LR,FTRL,MART,FM,HashMF,DSSM,DNN,LDA。

研究背景:工业界须要并能训练 TB-PB 级数据量的机器学习平台





图3:鲲鹏的架构





图 4:鲲鹏架构用户视角

图3 中的核心模块包括以下几偏离 :

论文《鲲鹏:基于参数服务器的分布式学习系统及其在阿里巴巴和蚂蚁金服的应用》(KunPeng: Parameter Server based Distributed Learning Systems and Its Applications in Alibaba and Ant Financial),由蚂蚁金服人工智能部和阿里云团队的周俊,李小龙,赵沛霖,陈超超,李龙飞,杨新星,崔卿,余晋,陈绪,丁轶,漆远合作协议者完成。

鲲鹏取名自《庄子·逍遥游》,文中记载“北冥有鱼,其名曰鲲。鲲之大,不知其几千里也;化而为鸟,其名为鹏。鹏之背,不知其几千里也。怒而飞,其翼若垂天之云。”