摘要:针对企业AI开发应用中面临的痛点和难点,为大家带来从实践出发帮助企业构建成熟高效的AI开发流程解决方案。
在数字化转型浪潮席卷全球的今天,AI技术已经成为行业公认的升级重点,正在越来越多的领域为业务带来创新价值。随着行业AI落地逐步加速,企业在开发AI应用的过程中,经常会遇到准备不足、人才紧缺、开发成本高昂等问题,阻碍着AI的落地实践。
在2020年12月20日QCon全球软件开发大会 2020上海站上,华为云AI首席技术布道师陈亮携手四位华为AI领域博士,带来题为“全栈全场景AI应用开发实践”的专题分享。本场专题针对企业AI开发应用中面临的痛点和难点,从实践出发帮助企业构建成熟高效的AI开发流程。
本文主要总结自王俊博士与白小龙博士的分享内容。
首先,华为高级AI算法工程师王俊博士深度解析华为MindSpore AI计算框架。
在AI领域,AI计算框架扮演着一个非常核心的角色。过去八年多来,AI框架经历了三个阶段的发展:第一阶段主要奠定理论基础,第二阶段则引入了分布式训练、计算图、动态图等理念,TesnorFlow和PyTorch两大框架也是在这一阶段占据了行业主导地位。
如今AI框架的发展已经逐渐进入了第三阶段,但行业还在探索这一阶段的具体演变方向。归结起来,行业对AI框架的需求主要分为用户态、运行态和部署态三大层面。
针对上述需求,华为开发了MindSpore AI计算框架,通过诸多创新解决了传统框架未能解决的一系列难题。
面对用户态中动态图与静态图两种需求的矛盾,MindSpore引入了名为MindIR的图层中间表示形式。
IR(Intermediate Representation)是源代码于目标代码之间的翻译中介,好的IR有利于AI模型的编译优化和执行,是AI框架高效训练和推理的基础。MindIR选择的技术路线是Functional Graph IR,由ParameterNode、ValueNode和CNode组成有向无环图。在MindSpore自动微分时,MindIR会计算ParameterNode和CNode的梯度贡献,并返回最终ParameterNode的梯度,而不计算ValueNode的梯度。
MindIR可以将动态图或静态图编成IR表示,使开发者可以在开发过程结合动态图与静态图两种模式,根据需要随时切换使用。
在运行态,为了帮助开发者从手动切分模型的繁重任务中解脱出来,MindSpore提供了自动并行方案。
这套方案不需要改变用户代码结构,用户启用方案后框架会自动搜索并行策略,之后切分算子,最后切分整图。
框架基于自动规划方式来生成切分策略,过程中会尽量切除一些明显不可行的策略,最后生成整图的切分。整体策略的目标是最大化计算通信比,尽可能将更多的计算时间放在前向计算和反向计算,而非计算卡之间的通讯上面。切分策略也支持用户手动调整,手动自动两种方式可以结合使用。这套方案还支持优化器并行,最终能够显著降低分布式训练的额外内存开销。
出于进一步提升算法性能的目的,MindSpore还引入了二阶优化和图算融合策略。
训练深度学习模型需要大量计算,训练收敛时间较长。二阶优化方法可以有效加速模型收敛,减少迭代次数,但同时会引入大量复杂计算,限制了其在深度模型训练中的广泛应用。因此对于计算框架而言,如何高效求解二阶矩阵是一个技术难点。MindSpore的应对方法是矩阵求逆,只考虑对角线上的元素块和每一层内的影响。同时框架不会做全量二阶,会将一阶与二阶优化交替进行,基于动态结果决定二阶计算量。基于这些优化,MindSpore将端到端的训练时间节省了20%。
算子融合是AI框架常见的优化方法。现代计算机硬件架构采用多级内存体系,数据运算时需要逐级输入输出。算子融合就是将相邻算子的计算逻辑合并,节约逐级输入输出的次数,从而提升时间效率。MindSpore还引入了图算融合。最终获得了15%的端到端性能提升。
在硬件层,MindSpore原生支持高性能的昇腾AI芯片,并针对昇腾的技术特性做了软硬结合优化。在多种优化措施的共同作用下,MindSpore+昇腾芯片的方案比基于V100的方案提升了70%-80%的性能,并在5月份取得了行业AI算力榜第一的成绩。
在部署态,为了将AI模型部署到端侧以实现端云协同,MindSpore提供了轻量化的MindSpore Lite版本。Lite版本与云端完整版使用了统一的MindIR,但在端侧上充分考虑到端侧硬件做了针对性优化。这些优化包括一些算子替换(用一些轻量化的运算代替一些重型运算),还会做一些算子前移后移,避免冗余计算。对于单个算子而言,则会设法希望提升其在端侧CPU上的运行效率。
这些措施结合取得了很好的性能表现。在华为P40手机上,MindSpore Lite的大多数性能指标都超过了TF Lite。
如今,MindSpore开源社区生态快速发展,在国内开发者群体中发挥着越来大的影响力。MindSpore已于今年开源,代码托管在码云平台。目前MindSpore已发布1.0商用版本,月底即将推出1.1版本。新版将支持40多个通用模型,上线270多个应用。MindSpore社区还有很多兴趣小组来交流各类议题,也欢迎新成员持续加入。
有了AI计算框架,下一步就需要一套端到端的AI开发平台来实现AI应用的快速落地。华为云ModelArts架构师白小龙博士就此分享了华为云ModelArts一站式AI开发平台及关键技术,应用案例。
AI开发的核心流程主要包括了前期准备(方案设计)、数据准备、算法选择与开发、模型训练、模型评估与调优、应用生成/评估与发布、应用维护子流程。各个子流程都涉及很多复杂工作,存在成本、门槛、效率和可信等多方面的挑战。
由于目前AI开发者的数量远少于软件开发者的数量,如何让更多人以低门槛的方式上手AI开发、落地AI应用就成为了一个核心问题。在所有子流程中,华为云ModelArts通过提供大量的预置算法和框架,以及WorkFlow编排能力,最大化地降低了AI应用开发的门槛,从而加速了AI应用开发和部署全流程。华为云ModelArts整个平台分为基础平台和上层的预置套件两大部分,对上通过ModelArts Pro使端到端行业应用AI开发更简单。其中,基础平台覆盖AI开发、部署和交易过程需要的各项能力,预置套件则主要针对具体的应用场景提供具备一定泛化能力的沉浸式AI工程与WorkFlow模板,包括面向智能感知的视觉相关的WorkFlow、面向智能认知的NLP相关的WorkFlow、面向决策智能相关的WorkFlow等。以计算机视觉领域的目标检测任务为例,用户无需AI领域知识,只需简单几个步骤(上传数据、标注数据、训练、测试)即可完成一个AI应用开发,以低代码甚至零代码的方式大幅降低AI应用开发门槛。
当开发者需要深入到AI应用开发的各个子流程时,ModelArts提供了多项关键技术来帮助降本增效,并且降低门槛。
整体上华为云ModelArts关键技术总结如下:
华为云ModelArts自发布以来,在园区、工业、城市、交通、家庭、水务、环保等领域获得广泛应用。ModelArts平台可以很好地满足全场景的AI应用需求,包括智能感知、智能认知和智能决策等领域都有成熟的实践。典型案例包括面包店的自动面包识别和结账机器、OCR文字语义识别、游戏AI(智能对战)、药物生成等等。ModelArts端云协同方案也已经在停车自主缴费等场景实践落地。
人工智能的发展正经历从感知到认知,从单模到多模,从云侧到端云协同的演进。华为云人工智能算法专家夏飞博士分享了使用华为HiLens平台开发端云协同多模态AI应用和落地实践。
华为HiLens 端云协同多模态AI开发应用平台,提供简单易用的开发框架、开箱即用的开发环境、丰富的AI技能市场和云上管理平台,对接多种端侧计算设备。打通线上线下开发和部署流程,开发者只需在云上完成一次多模态AI应用开发,既可以部署到云侧,也可以部署到端侧和边缘侧,能够很好地解决企业开发端云协同AI应用的需求。HiLens平台还能方便地接入多模态数据,并支持低代码开发流程,开发者只需简单几步即可完成端云协同AI应用开发和部署。目前,HiLens已经在智慧门店、智慧家庭、智慧教育、智慧交通等端云协同场景发挥作用。
随着行业AI落地逐步加速,在行业多模态AI开发中也面临诸多挑战,如行业业务复杂度高,AI应用开发需要丰富的行业经验支持;定制代码工作量大,耗时长,无法快速业务上线;通用AI具有局限性,不支持行业特定业务流程等。华为云EI智能体技术总监朱声高博士分享了如何利用华为云ModelArts Pro企业级AI应用开发套件加速AI场景化落地。
华为云ModelArts Pro是专为企业级AI应用打造的专业开发平台,平台内以预置工作流和功能套件的形式,沉淀了行业AI应用实践场景的Know-How,使企业实现零基础、零代码快速AI开发。另外,企业也能根据需求灵活编排新的行业工作流,基于AI市场,用户还可以互相分享不同行业场景的行业AI工作流。ModelArts Pro以“授人以渔”的方式助力企业构建AI能力,赋能不同行业的AI应用开发者,让AI变得触手可及。
面向物流、石油、零售、金融、医疗、交通等行业场景,华为云基于领先算法及行业知识,首批推出了ModelArts Pro文字识别、视觉、自然语言处理、知识图谱等开发套件及端云协同多模态AI应用开发套件HiLens,并在自助表单识别、食品种类识别、测井油气层识别等业务场景中落地实践,全面提升行业AI开发效率和行业落地效果,带来全新的行业AI落地方式。
四位华为AI领域博士的深度分享,为开发者们全方位解析了华为全栈全场景AI开发平台的诸多优势与能力,并解决了企业在AI应用落地实践过程中遇到的许多顾虑和难题。在华为AI计算框架、开发平台和开发套件的支持下,企业可以快速针对当前业务需求开发AI应用,方便地嵌入已有的业务流程,并在短期内就能看到实际效果与收益回报。
基于计算机视觉、语音语义和决策优化三大AI领域长期的基础研究和各行业的AI项目实践,华为云在AI技术领域持续创新,不断推出适应市场需求的创新能力,并持续发力AI开发生态建设,与企业和开发者共同迎接普惠AI的全新时代。
原文地址:https://www.cnblogs.com/huaweiyun/p/14187633.html