机器之心发布
机器之心编辑部
针对AI工程化落地的实践经验,阿里云给出了需要具备的三大基础能力:平台云原生化、模型超大规模化、AI服务场景化。
年,AI工程化的未来令人充满期待。
Gartner将「AI工程化」列为年度九大重要战略科技趋势之一。在Gartner看来,只有53%的项目能够从AI原型转化为生产。AI要成为企业生产力,就必须以工程化的技术来解决模型开发、部署、管理、预测等全链路生命周期管理的问题。
也就是说,如果没有AI工程,企业无法将AI项目从概念证明和原型转移到全面生产。那么对需要用到AI的企业来说,该选择什么样的方式和服务商来获得AI工程化能力?
权威市场报告是一份不错的参考。Gartner最新发布了两份AI魔力象限《MagicQuadrantforDataScienceandMachineLearningPlatforms(数据科学与机器学习平台)》(下称「DSML报告」)和《MagicQuadrantforCloudAIDeveloperServices(云AI开发者服务)》(下称「CAIDS」报告),对全球厂商进行了年度评估。这两份报告可以看作是AI工程化领域的盘点,给予希望选择正确的DSML和CAIDS解决方案,并提升AI生产力的企业以权威的参考。
从厂商分布格局来看,阿里云成为DSML报告4年历史以来首个入选的中国厂商;CAIDS报告中,阿里云、百度云、腾讯云都进入报告,其中阿里云成为唯一跻身远见者象限的中国厂商。
这意味着,阿里云凭借产品矩阵、技术实力、商业化能力以及开发者服务等优势,在帮助企业建设AI工程化这件事上取得了先机。
针对AI工程化落地的实践经验,阿里云给出的答案是具备三大基础能力:平台云原生化、模型超大规模化、AI服务场景化。
平台云原生化
AI工程化落地的首个基础能力就是平台云原生化。其实AI平台的构建有很多实现方法,但云原生是目前最普适的方法。因为云原生门槛不高,没有具体限制技术选型,尤其是它所倡导的开放、弹性和生态等原则可以迅速拉低AI平台的实现门槛。
开放意味着需要把OpenAPI放到产品的第一优先级来考虑,支持用户和其他云产品通过OpenAPI访问产品所有功能,可以被第二方和第三方厂商工具自由集成;同时能够擅于调用其他云上产品来构建自己的服务,比如云上数据库RDS、云日志服务SLS等。弹性是在设计之初就要设想产品的规模大小,物理资源尽量不要自建,充分利用云的弹性。生态有两层含义,一是与业界开源社区保持合作,尽量不要重复造轮子和发明新规范,二是开放的内容生态,能够吸引个人开发者和企业共同建设AI平台,繁荣生态。
接着再来看机器学习领域,特别是现在热门的深度学习,平台需要的大算力主要依靠异构计算硬件来完成。典型例子就是NVIDIAGPU卡,但是自建GPU机房成本很高,并且配套的软件环境也会非常复杂,不易运维。
这个时候,云原生可以很好地解决这个问题:基于开放的容器化技术,仅需开发一次,就可以批量复制软件环境,灵活部署,有利于DevOps的实践。同时,机器学习中的MLOps强调模型效果的可复现性,容器技术一键打包所有配置和参数,确保环境的一致性,大大提高了开发效率。
从应用角度来看,机器学习模型构建和训练只是业务系统中的一环,需要与企业的其他系统集成,这就对机器学习平台的OpenAPI服务部署提出了更高的要求。
也就是说,云原生强调的统一部署、标准化、OpenAPI、弹性等要素都非常契合当下机器学习平台的环境复杂、需要快速迭代等特点,AI平台云原生化是技术发展和市场发展的需求。
阿里云机器学习PAI已经全面拥抱云原生,通过与阿里云IaaS的产品无缝对接,充分利用云资源的弹性能力,遵循阿里云OpenAPI规范,开放API、SDK和命令行,保证GPU卡的弹性调度,降低客户自建GPU环境的复杂度和成本,为其提供灵活、易用和功能丰富的机器学习全栈产品。
依托云原生技术,PAI平台陆续完善EAS云原生弹性推理服务平台、DSW云原生交互式建模平台、DLC云原生AI基础平台后,可实现%兼容开源的轻量化、小型化灵活输出。一个典型的例子是PAI-DSW的用户可以轻松拿到一个完全配置好的机器学习环境,并且每次登录环境都保持一致。
模型超大规模化
机器学习平台对超大规模模型的支持能力一定程度反应了其自身的成熟程度,是其支持AI业务模型和能力升级的体现。这也是模型超大规模化成为AI工程化落地第二个基础能力的主要因素。
年初,阿里云机器学习PAI、达摩院智能计算实验室联合清华大学共同开发了业界最大规模的中文多模态预训练模型M6。该模型参数规模超千亿,具备超越传统AI的文本、图像的理解和生成能力,图像设计效率超越人类,可应用于产品设计、信息检索、机器人对话、文学创作等领域。以图像生成为例,模型可设计包括服饰、鞋类、家具等30多个物品类别的图像,最短可以在一分钟内完成作品创作。
千亿多模态预训练模型对当前深度学习框架提出来很多挑战,包括模型计算效率、模型分布式训练性能、数据IO、模型训练收敛性等。针对这些挑战,PAI团队自研了Whale分布式训练框架,在计算效率、通信效率、显存消耗等多个方面进行了深度优化,从而帮助千亿多模态预训练模型快速迭代训练。
这背后的技术实现是:Whale分布式训练框架基于GraphIR,针对数据并行、模型并行、流水并行、混合并行等多种并行模型进行了统一架构设计,并对用户提供并行策略原语,用户在仅仅添加几行API调用的情况下就可以实现丰富的分布式并行策略。同时,Whale实现了包括自动GradientCheckpointing、Optimizer峰值显存优化、通信分组和线程池技术、混合精度、编译优化等优化技术。算法同学不需要修改模型代码,只需添加简单几行的API调用就可以快速构建高效的分布式训练任务。
在千亿多模态预训练模型这个任务上,PAI团队和算法建模同学进行了紧密的合作。模型结构上,借鉴近期Gshard和switchtransformer等工作,M6模型实现中加入了Gshard的Mixture-of-Experts设计。
借助Whale分布式训练框架,M6首次在2天以内完成1亿样本的预训练,相比于OpenAI整个任务训练成本大幅下降;在语言模型实验上,M6对比同等flops的非MoE模型能够实现语言模型困惑度(PPL)的显著降低;在中文图文描述的下游任务实验上,M6生成的准确率对比baseline取得19.2%的提升,对比百亿M6还能取得约12.1%的提升。
稠密模型的复杂度急剧提升,直观的表现是模参数越来越多,规模越来越大,需要的硬件资源(内存、GPU)越来越多,不利于模型的部署和应用推广,因此需要更小、更精炼的模型。
模型蒸馏是一种优化的思路,能将训练好的复杂模型迁移到结构更为简单的网络中。PAI-EasyTexMiner知识蒸馏具备了将大规模预训练模型蒸馏到小模型上的能力,且在阿里不同的场景业务中取得了不错的效果。例如,大家每天都使用的淘宝客服机器人“阿里小蜜“,在热线意图识别方面,通过知识蒸馏,在效果基本一致的前提下,模型大幅简化,推理效率提升了8.5倍。
和稠密模型蒸馏出小模型不同,超大规模稀疏模型备受