开发者学堂课程【PAL 平台学习路线:机器学习入门到应用:机器学习 PAI 前瞻技术分享】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/855/detail/14131
机器学习 PAI 前瞻技术分享
内容介绍:
一、云原生、被集成
二、PAI 技术
三、平台理念(AI 自动化)
四、生态
主要分为三个方面,首先是从产品的维度讲述一下我们在云原生和被集成上面的进展,然后是 PAI 在 AI 自动化工程上面的一些技术的进展,最后是在生态方面的一些工作。
一、云原生、被集成
过去的一年,在原有的一站式端到端的机器学习开发模式之外,PAI 在云原生和被集成做了大量的工作。推出了一系列可拆装组合,容易和用户现有的工程体系进行按需集成的云原生产品,从而能够把阿里巴巴的技术以更多种方式去赋能给我们的客户。
二、PAI 技术
1.PAI-DLC
(1)简介
在这其中第一个工作就是我们提出的云原生深度学习平台,Deep Learning Container,又简称为 DLC。在这个平台上以最清亮的方式把我们后端优化好的引擎工作能够在 kubernetes 的环境里进行透出,从而很好地和用户自有的 kubernetes 的其他工程体系进行整合。
(2)用法
在 DLC 上可以使用到我们大规模训练的能力,可以快速地构建复杂的混合并行的分布式训练,可以使用到我们的编译优化的工作来减少手工优化,同时利用好封装好 的 easy 系列的 Model room 以及一系列的建模工具,从而能够快速地进行模型的迭代和开发。
(3)性能描述
DLC 上提供的是经过阿里巴巴自身业务锤炼过的,经过深度优化的核心引擎,在稀疏和稠密场景中都能够得到相比开源版本更好的一个加速的性能。你能够线性地扩展到阿里巴巴这种级别的规模,从而在公司的发展的各个阶段,能够提供比较连贯的开发体验。不同于PS,外键 PS 或者用 MPI 的模式,我们坚持在符合云原生的以及开源系统设计理念的原则下进行优化,从而使得最大程度的可以减少对于建模,对于构建模型的程序的改写需求,从而进一步提高模型开发的迭代效率。
2.PAI-DSW 2.0
(1)背景
第二款产品是重新按照云原生的方式推出的 DSW 2.0,新版直接使用阿里云的实例,从而开放了这个机器的管理员权限。使得开发者可以随意地安装第三方软件,定制地安装自己所需要的软件。从而满足形形色色的开发者对于软件定制的需求。
(2)内容
在新版的 DSW 中,提供了 jupyterLab 的交互式开发模式,WebIDE 的模式以及通过 Terminal 这种命令行开环境的三种开发模式,同时在实例中我们还事先安装了 PAI 以及计算平台多款产品的 SDK,这样用户就可以在这种沉浸式的编程环境里快速地开发自己的应用,之后又能够很方便地发布到分布式环境中进行分布式训练,最后能够快速的和计算平台以及阿里云其他产品进行链接,快速的部署自己的应用进入到生产的环境。
3.PAI Studio
最后还增强了 PAI Studio 在工作流的云原生能力,在原有通过界面的方式构建工作流之外,提供了构建的 SDK ,从而使得开发者可以通过编程的方式构建自己的工作流,并且提供了第三方云原生容器的节点,进一步提高了节点的地质化能力,从而使得用户能够很方便的整合自己独特的 AI 和大数据的处理流程。
三、平台理念(AI 自动化)
1.核心理念
说完在产品上的一些更新,接下来主要讲讲在 AI 自动化工程上一些技术的进展,PAI 平台的整个核心理念,就是希望提高 AI 的自动化工程的自动化,使得算法的同学能够更专注于模型建模的本身,由 PAI 系统来自动的进行优化,从而使得我们的 AI 工程能够达到高可用,具备良好的弹性,出色的加速性能同时能够有效地控制成本。
2.编译优化
(1)去年
在编译优化方向,去年主要考虑纸图优化,扩大优化圈图的范围和能力。然后平衡好数据与计算之间的关系,充分的利用 CPU 的层次化的结构来得到一些不错的性能加速。
(2)今年
在今年我们在这个基础上面,对计算密集性算制进行投入,我们和 TVM 团队、伯克利大学以及兄弟研发团队一起研发了 Auto Schedule,从而能够进一步的提升计算密集性算制,特别是在各种纸图以及新硬件场景下的一些性能,从而能够和手工优化的部分形成一个更加完整的整体,具体对于这项工作有兴趣的朋友们可以在网上阅读一下我们的论文。
3.编译框架
在编译框架上面,我们进一步对优化框架进行模块化的抽象。能够使得其支持很多的建模前端,比如增加了对 PAI 套写的支持,同时我们也拓宽了更多硬件的支持,例如从 GPU 扩展到了 CPU 以及其他的 ASIC 并统一地支撑了 PAI 上层的多种产品,如 studio、DLC 以及 DSW 、Blade。同时也完整地覆盖了训练和推理两个阶段。
4.PAI-Blade 通用推理优化框架
这些新的编译技术最直接可以得到体验就是通过我们的 PAI 的通用的推理优化工具,我们叫做 PAI-Blade,该工具很好的连接了 PAI 的训练平台和 PAI 的推理平台,能够非常方便地自动地对用户的模型进行优化,今年我们通过术的升级,提高了我们 Blade 的鲁棒性以及其适用的面积,使得其能够覆盖更多的场景。
5.支持混合并行的分布式训练
(1)原因
在分布式训练方面,随着模型越来越大,阿里巴巴内部以及业内越来越不满足于简单的数据并行,在需求的推动下面,PAI 对于模型并行,流水并行以及多种并行方式混合在一个训练中的混合并行模式进行了支持,并且针对于这些场景进入了深度的优化,得到了业内不错的性能结果。
(2)意义
而且这些优化都是在符合开源本身系统设计的原则下面。比如说像 TensorFlow,其实是增强了其本身的分布式训练方式来进行训练。在未来,我们会进一步提高自动化能力,使得用户不仅仅需要通过一些参数来指导我们,而是由系统自动的选择以何种分布式训练方式来进行训练。
6.MLPerf
(1)用法
MLPerf 是一个多个公司以及团体联合推出的,从而来拉动各个公司的优化能力,横向地去对比优化工作。
(2)发展
今年 PAI 在 MLPerf 上发表了我们的训练的结果,PAI 在1280张的阿里巴巴针对机器学习分布式训练构建的 EFlops 集群上,以1.69分钟的时间完成了 MLPerfV0.7版本的 Resnet50 的训练。详细的报告,大家可以在 MLPerf 的网站进行浏览,接下来会陆续发布更多的测试模型的性能。
7.PAI-Easy
在应用性方面,我们推出了 Easy 系列的深度学习套件。包括图像,视频,自然语言处理,语音等等的模型。同时也增加了提供了增强学习、迁移学习等多种建模工具,并且对他们进行了模块化抽象,使得开发者在这一个模块化的抽象上进行二次的开发,产出自己的模型和应用。
四、生态
1.GraphLearn
最后是 PAI 在生态方面的一些工作,今年我们开源了在 GraphNN 上面的 Graph 工作叫做 GraphLearn。以此来帮助图学习从研究走向生产落地,在阿里巴巴内部,我们已经推动了多个部门业务对于图信息的提取,从而提高了业务的模型效率。
2.Alink
(1)传统
在传统的机器学习方面,我们在去年的11月正式开源了 Flink 的机器学习套件 Alink,套件覆盖了传统机器学习的多个场景,例如统计分析,特征工程,异常检测,文本,分类,回归等等,同时也积极地发挥 Flink 流计算的特点,在在线学习上进行了有效的支持。
(2)未来
未来我们会进一步开源在在线学习上的算法的套件,可以看到在开源之后,我们基本上以两个月的节奏进行持续完善版本和推出新的功能,在这个过程中我们也得到了很多社区开发者的帮助和贡献,在此我代表 PAI 的团队对大家表示感谢。
3.TensorFlow
另外在深度学习方面,去年我们和谷歌团队一起以及 TensorFlow 的社区一起推动了 TensorFlow 在大规模稀疏模型异步训练方面的能力,为开源贡献了像 FuseRecv 和 grpc+seastar 的两个大的功能。在这些典型的场景下面大大提高了稀疏模型训练的分布式扩展性。
六、总结
希望以上的内容能够让大家对于 PAI 在这一年的技术进展有一定的了解,希望 PAI 能够真正助益您的 AI 的应用快速地开发和迭代,在这个信息的信场上占据先发的优势。