ML平台_PAI参考

阿里云机器学习PAI(Platform of Artificial Intelligence)是一款一站式的机器学习平台,包含数据预处理、特征工程、常规机器学习算法、深度学习框架、模型的评估以及预测这一整套机器学习相关服务。得益于底层的飞天计算平台的CPU集群以及GPU集群,PAI可以为用户提供PB级别数据的高效计算保证。人工智能综合了多门学科的技术对人才要求极其高,除了懂统计学中各种复杂的机器学习算法,还要懂实现逻辑以及分布式架构理论。PAI可以大幅的降低人工智能的门槛以及开发成本。从操作界面来看,PAI没有繁琐的公式和复杂的代码逻辑,用户看到的是各种分门别类被封装好的算法组件。每一个实验步骤都提供可视化的监控页面。在深度学习黑箱透明化方面,PAI也同时集成了各种可视化工具

最近几年,催生机器学习快速发展的主要因素包含:

  • 第一个因素是数据的因素。互联网上每天生成海量的数据,有图像、语音、视频、还有各类传感器产生的数据,例如各种定位信息、穿戴设备;非结构化的文本数据也是重要的组成部分。数据越多,深度学习越容易得到表现好的模型。
  • 第二个因素是大规模分布式高性能计算能力的提升。这些年来,GPU高性能计算、分布式云计算等计算平台迅猛发展,让大规模的数据挖掘和数据建模成为可能,也为深度学习的飞跃创造了物质基础;
  • 第三个因素是指算法上的创新。随着数据和计算能力的提升,算法本身也有了很大的进展,尤其在深度学习方面,譬如从脑神经学上得到的灵感,在激活函数上进行了稀疏性的处理,等等。

基于上述三点,人工智能又迎来了它的第二个春天。人工智能将以更快的速度进入我们的生产和生活中来,成为我们的眼睛,我们的耳朵,帮助我们更快捷地获取信息辅助我们做出决策。机器学习平台产品也因此而产生,加速迭代过程,助力技术的发展。

平台目标


阿里智能平台,其目的是为了加速整个创新过程,提高工作效率

基于阿里云的云计算平台,具有处理超大规模数据的能力和分布式的存储能力,同时整个模型支持超大规模的建模以及GPU计算。此外,该平台还具有社区的特点:实验结果可共享、社区团队相互协作

终极目标:打造一站式的人工智能开发发布与分享平台通过对数据、计算和数据人的连接,让人工智能变的触手可及,使所有人都能使用人工智能来开展创新。

ML平台_PAI参考 ML平台_PAI参考

PAI整体框架图


ML平台_PAI参考

  • 最底层是基础设施层,包括CPU和GPU集群;
  • 其上一层是阿里提供的计算框架,包括MaxCompute的MapReduce/SQL/MPI等计算方式; MPI(Message Passing Interface 消息传递接口,是高性能计算领域开发并行应用的标准API
  • 中间一层是模型算法层,包含数据预处理,特征工程,机器学习算法等基本组件,帮助使用者完成简单的工作; 
    • CNN(Convolutional Neural Network 卷积神经网络)、
    • DNN(deep Neural Network 深度神经网络)、
    • RNN(Recurrent Neural Network 循环神经网络)、
    • LSTM(Long Short-Term Memory 长短期记忆网络)
  • 平台化产品主要是项目管理、算法模型分享,以及一些特定的需求;
  • 最上层是应用层,阿里内部的搜索、推荐、蚂蚁金服等项目在进行数据挖掘工作时,都是依赖PAI平台产品。

目前依托于PAI机器学习平台,提供基本组件,通过拖拽的操作,完成工作流程的整体布局;同时在垂直场景下,提供一些更为专业的组件,例如在文本分析方面,我们提供了一套完整的文本分析的算法组件。

系统特点:

  • 参数服务器:其主要思想是不仅仅是进行数据并行,同时将模型分片,将大的模型分为多个子集,每个参数服务器只存一个子集,全部的参数服务器聚合在一起拼凑成一个完整的模型。如下图:
  • ML平台_PAI参考
  • 该系统主要的创新点在于失败重试的功能,在分布式系统上,上百个节点协同工作时,经常会出现一个或几个节点挂掉的情况,如果没有失败重试机制,任务就会有一定的几率失败,需要重新提交任务到集群调度。
  • 失败重试是将每个节点的状态备份到相邻(前后)的节点,当个别节点死掉后,重启一个新的节点,同时从原节点相邻的节点获取所存储的状态,理论上可以实现任务的100%完成。
  • 还有一个功能是异步迭代,无需等待全部节点完成任务,当大部分节点完成任务时,就可以直接更新对应的模型,这样可以不需要等待慢机的结果,从而摆脱慢机的影响,提升效率。
  • 编程接口完全兼容深度学习框架:Tensorflow、Caffe以及MXNet,用户只需要将自己本地编写的代码文件上传至云端就可以执行。
  • Tensorflow、Caffe和MXNet是目前全球主流的深度学习开源框架。Tensorflow开源算法和模型最丰富;Caffe是经典的图形领域框架,使用简单;MXNet分布式性能优异。
  • 对于底层计算资源,PAI2.0提供了强大的云端异构计算资源,包含CPU、GPU、FPGA。在GPU方面,PAI2.0可以灵活实现多卡调度

小结:阿里云机器学习平台既支持深度学习,又支持CPU、GPU任务混合调度。接下来发展的方向,是数据智能的方向,一是提供智能化的组件,例如将参数调优的工作也替用户完成;另一个就是开发垂直应用领域需要的算法组件,逐渐形成行业解决方案。

应用案例


  • 应用推荐系统,主要是参数服务器在推荐系统内的应用。
  • ML平台_PAI参考
  • 当在淘宝购物时,经查询显示的商品一般都是非常个性化的推荐,它是基于商品的信息和用户的个人信息以及行为信息三者的特征提取。这个过程中形成的特征一般都是很大,在没有参数服务器时,采用的是MPI实现方法,MPI中所有的模型都存在于一个节点上,受限于自身物理内存上限,它只能处理2000万个特征;通过使用参数服务器,我们可以把更大模型(比如说2亿个特征的模型),分散到10个或者是100个参数服务器上,打破了规模的瓶颈,实现了性能上的提升。

参考资料


上一篇:【 2013 Multi-University Training Contest 6 】


下一篇:(第十章)多表查询之in,exitst