AI 全流程开发难题破解之钥
本文分享自华为云社区《【大厂内参】第16期:华为云AI开发生产线,破解AI全流程开发难题》,作者:华为云社区精选 。
近日,华为云对 AI 开发生产线进行服务升级,帮助各行各业的软件开发更简单快速地完成 SaaS 化,在云上创造更大价值。
AI 开发生产线,通过 ModelArts 和 AI Gallery , 支持 AI 开发运维的 DevOps 全流程。通过预集成盘古大模型和丰富的 AI 资产,让开发者实现从数据标注、数据处理、模型训练、到部署上线、模型调优等环节全流水线自动衔接,大幅提升效率。
1.基于行业算法套件的 ModelArts 云原生 AI 开发最佳实践
在 AI 开发的探索阶段,选择合适的环境、便利的工具、按需的算力、一键可运行的算法资源是我们最重要的因素。
在环境和算力方面,使用 ModelArts 提供云化 Notebook,配合弹性按需算力资源能力,可以快速地让我们拿到一个带 AI 计算资源的环境。
在算法方面,面向特定领域问题的算法解法集合、AI 算法套件,可以让我们快速的在算法间切换,找到合适的并且具备实际应用的自研及开源算法,通过订阅和选择的方式,可以在 ModelArts 上一键式的运行。
在工具方面,我们基于云化的 Notebook 提供了参数化的开发模式,让你的探索变得更便捷高效。
1.1 选择合适的 AI 开发套件,让你的开发事半功倍
1.1.1 云原生 Notebook
华为云会选择 Notebook 作为线上 AI 开发与探索的首选工具,其优势在于可贯穿整个 AI 开发探索生命周期,从数据的处理到模型的开发以及验证和调测,都是能够全部覆盖的。
Notebook 可提供交互式的编程体验,探索过程中的可视化要求,可以快速地进行结果的分享与重现。如上图“Kaggle 在 2021 年机器学习开发者调研数据”所示,可以看到在 IDE 的流行度里面,Notebook 占据很重要的位置。
纵观整体业界趋势,各个云化 AI 开发厂商还是以 JupyterLab 底座+插件的方式演进,主打资源免费、协作、社交化。ModelArts 云化 Notebook 也是基于此趋势进行演进,并且提供丰富的差异化场景能力。资源切换、CodeLab、云上云下插件等,贴近用户使用习惯,提升 AI 开发效率。
1.1.2 算法开发套件
我们知道,在 AI 的算法方面,需要去寻找匹配我们业务场景的合适算法,并且需要进行环境和算法之间的适配开发,以及算法相关参数的调优。
ModelArts 提供的算法套件是面向一类算法问题解的集合,是针对特定的行业、领域预训练模型、算法实现及数据集。以简单易用为基础正对云边端场景的不同需求,提供相应的内容支持。
目前,华为云 AI 算法套件是通过自研+社区两个方面,确保算法的丰富度。
自研方面,结合丰富的真实 AI 开发经验,提供领域预训练模型、算法实现及数据集。目前已经在图像分类、目标检测、视觉分类、姿态预估等多个领域提供相关的内容,并且后续会持续丰富。用户可以在 AI Gallery 上一键订阅,在 ModelArts 上一键运行,提升用户的 AI 开发和探索效率。
社区方面,对于社区的主流算法套件完成了非侵入式的适配,例如 MMDetection、MMOCR、MMSegmentation 等算法套件,可以像加载自研算法套件一样,在 ModelArts 中快速加载一键运行。
1.1.3 算法调优
有了工具和算法,接下来就是算法开发的探索和调优。华为云基于 ModelArts 提供的基于 Notebook 的参数化、图形化、交互式的能力加速开发过程,帮助开发者在数据处理、模型调优以及模型预测方面进行可视化的操作,低门槛完成多种场景的 AI 算法开发与应用,配套提供的算法套件可以更加高效进行 AI 开发。
上图是 Notebook 的 Excel,用户可以进行参数化的定义数据处理过程和训练过程,可以图形化查看训练结果,有表格,而不是之前的大篇幅的日志,还可以进行交互式的进行结果调测。不仅如此,Notebook 还提供了丰富的基础组件和组件定义能力,用户可以根据自己的使用需求和习惯定义个性化的插件。
在开发的资源和算力方面,ModelArts 云原生 AI 开发资源与算力构建在开放的华为云云原生平台之上,基于底层应用、开放自主的相关基础云原生能力,方便开发者按需,低成本,灵活获取到可用的资源和算力。
1.2 标准化的开发工具,云上云下协同
从前面的介绍大家可以了解到,对于华为云 AI 开发工程师,在 AI 开发的实验原型和探索阶段是基于 ModelArts 提供的 serverless 化的 Notebook 的交互式参数化能力,配合弹性按需算力、资源和环境,以及丰富的算法套件,帮助我们加速实验原型的探索及开发。
面对具体 AI 团队开发及应用落地时,需要涉及多人和多阶段配合完成从数据处理、算法开发和调优,到模型训练、推理开发及测试,并且在后续运行中涉及反复的迭代,怎么样可以高效地完成这项工作。
借鉴传统软件开发经验和实践,华为云通过工程化的 AI 开发模式,从工具到开发标准,再到代码化工程管理能力,助力开发团队协同完成 AI 开发及应用落地。
在工具方面,为了更加匹配通用的 IDE 工具使用习惯,使用 ModelArts 提供 VSCode\PyCharm 插件,就可以在自己的本地 VSCode\PyCharm 上进行代码开发,使用插件远程连接云上资源进行远程开发调测,并且可以调用模型训练、模型部署等能力。
通过定义 AI 工程框架,来让 AI 开发标准化,这个标准化的工程框架是实践的总结和积累。使用 ModelArts 提供的标准化 AI 开发工程模板在模板中对于数据、算法、推理等各个环节的结构进行定义,并且还提供了 CLI 工程脚手架,通过代码与命令的方式与平台功能相结合,全流程完成工程化的 AI 开发。用户可以基于我们提供的工程结构定义,分工协同,完成不同内容的开发。
上图为 ModelArts 提供的标准化工程结构,可以通过代码化方式完成 AI 过程、步骤、行为、资源等定义,并且通过代码仓统一管理。例如:用户可以定义 workflow、镜像、训练、作业、应用部署等,并且配合统一的资产管理进行工程化的 AI 开发。
前面介绍了云上开发工具的能力,云上的 IDE 与传统的 IDE 在能力上还是存在差距的,所以为了更加匹配开发者通用 IDE 工具的使用习惯,ModelArts 使用了基于 VSCode\PyCharm+ModelArts 插件,满足本地化开发及调测诉求。面对稀缺的 GPU 资源的诉求,通过远程连接云上资源的能力,打造本地开发远程资源按需使用的能力,插件提供一键式的安装配置等能力,方便我们开发者的使用。
后续 ModelArts 也会提供更加沉浸式的 AI 开发能力,包含 AI 计算资源、云上存储预置 AI 镜像,让用户体验到云上资源便利的同时,也带来本地开发的顺畅感。在远程插件上,可以调用云上的开发、数据、训练、推理等能力,以及提供的工程相关的所有 AI 开发能力,真正满足一个团队不同用户的诉求。
1.3AI Gallery 构建丰富活跃的 AI 生态
在正式的 AI 开发项目中,我们会面临更多的困难和问题。AI Gallery 是在 ModelArts 的基础上构建了开发者生态社区,丰富及活跃的生态是 AI 开发的基础和推动力。
在 AI Gallery 中,不仅提供了 Notebook 代码样例、数据集、算法套件、模型等 AI 数字资产;而且还有学习、实践、交流等板块,方便不同诉求的用户交流。并且在资产方面提供分享和订阅能力,方便 AI 资产持续更新和迭代。我们希望开发者沉淀更多的资产,帮助更多的 AI 开发者,提升大家的开发效率,加速 AI 产业的发展。
传统软件开发完成后就是交付运维,AI 的软件开发交付后不仅仅是交付运维,还有面临持续的数据更新、模型迭代、难例挖掘,这些流程应该是标准化可信的,并且与开发流程解偶,所以 ModelArts 提供了工作流的能力。
工作流是基于实际业务场景开发的,用于部署 AI 应用流水线工具,把已经完成好的 AI 开发业务场景,通过 ModelArts Python SDK 进行编排和开发,将数据处理、模型训练、模型部署等能力进行编码,然后把流水线发布给业务应用人员。对于应用者来说不一定需要了解整个开发实现细节,他们只需要了解流水线的机制,以及需要存在变化的内容即可。例如:数据的增强、更新或者模型的参数变化,就可以方便地进行模型迭代、上线,这样让开发和运行分离,提高后续业务迭代的效率。
综上我们可以看出,ModelArts 致力打造一站式的 AI 开发平台,让 AI 开发变得简单、高效。华为云从 AI 开发全流程出发,在分析设计算法模型探索和实验模型集成与开发以及 AI 应用运维上提供高效、便捷的能力,并且结合华为云丰富的实践经验,沉淀更多的标准化 AI 开发流水线,为 AI 开发者提供更多更好的服务。
2.华为云盘古大模型,开启 AI 工业化开发
2025 年,企业对 AI 的采用率将达到 86%。所以,AI 走进企业的生产核心系统创造更大价值是大势所趋。但与之相对的是,封闭的作坊式 AI 开发已经无法满足行业高效、高质量的数字化转型需求。
因为当企业有了 AI 需求以后,就需要独立的创建一个场景。在这个场景中,企业要投入专家和开发人员,来针对这个场景去进行专门的研发。这会导致 AI 应用的开发效率低下,并且它的开发经验,包括产生的一些资产也是无法得到有效积累。针对这样的情况,华为提出了 盘古大模型 。
2.1 什么是华为盘古大模型
华为云盘古大模型,是把海量的数据知识存储在超大型的神经网络中,针对定制化的需求,只需要将这些需求固化成一些流水线。在这个过程中,由于不同的流水线之间大部分的流程都是一样的,仅仅只有小部分的操作或者场景专有的知识是有所不同的,所以就可以把这些知识或者操作像搭积木一样,放在在这个流水线上面进行开发。这样的开发模式比起作坊式的开发模式,就会更加的节省时间和人力。
在实际测试当中,盘古大模型进入企业生产系统以后,效率提升是非常明显的。原来需要十个人所做的事情,现在只要一个人就可以把它做完,效率的提升达到十倍以上。
2.2 五大盘古大模型应用在千行百业
为了更好地针对不同领域方面,在盘古大模型中,有视觉、NLP(自然语言处理)、多模态、Graph 和科学计算等五个领域的大模型。在不同的行业。场景下,如金融风控、工业质检、时尚设计、案件审核和智慧育种等场景下,设置场景化模型。这些场景化模型都可以适配盘古大模型,最后应用在不同的行业案例中,如违规风险识别、布料质检、流行元素标注等等应用。
盘古大模型是通过把算力、研发成本前置到华为云侧,如华为云每年会消耗英伟达 V100GPU 超过 4000 张、使用相当于 4TB 清洗后纯文本数据和 10 亿张图片去进行训练,配备大量的工程师,经过多年的积累研发了大模型系统,这个大模型系统及可以帮助业界把成本大大减少和降低,不用在耗时耗力重复性的开发算法及模型,应用大模型从而快速的进行 AI 开发为了让大家更好的认识和熟悉大模型,接下来将为大家展示大模型在不同行业中的应用。
2.2.1CV 大模型
在铁路 TFDS 进行未知的故障预测的场景中:一辆列车行驶路途中,有个摄像头架设在一个固定地点,通过拍摄列车上各种不同视角不同位置的图像后,快速的去判断列车是否有故障。
由于这些故障出现次数较少,故障类型多、拍摄图片质量差等原因,因此很多情况下小模型无法取得很好的应用。很多情况下,工程师要针对每个故障去适配一个小模型,成本就非常高,更不要说未知故障的预测了。
通过盘古大模型,可以用一个或者少数几个大模型去适配铁路 TFDS 中的 100 多种不同的故障场景。最终保证故障的召回率达到 90%,未知故障预测发现率提升 1 倍以上,同时还能保证单张图片的识别时间小于 4ms。
2.2.2NLP 大模型
关于 NLP 大模型,为大家介绍的是最高检应用项目。在这个项目当中,从最高检获取文本,对法律文书文本进行分析,去理解其中所代表的内容。比如,某一项法律为什么应用在这个判决的这个地方,这中间包含了哪些原因等等。
如果是传统小模型,需要适配数据再去适配不同的案例,这就导致时间较长。盘古大模型已经在预训练过程中积累了大量 NLP 方面的知识,所以基于盘古大模型就可以在很短的时间内,把测试结果不断地从开始的 73%提升到最后的测试结果 92%,也是高效地完成了项目。
除了在最高检的项目应用以外,盘古 NLP 大模型还在反电炸等场景上得到应用。NLP 大模型的迁移性强,对人工的依赖程度小,少量样本、简单调参即可。
2.2.3 科学计算大模型
所谓科学计算就是把 AI 的能力辐射到其他领域。在科学计算领域,比如气象、医药、航天航空、海洋、工业、地质等不同场景,在这些场景当中所面临的共同问题就是解偏微分方程。在偏微分方程解的过程当中,盘古大模型可以发挥出它自己得天独厚的优势。比如说神经网络体量很大,所以在解方程的时候,科学计算大模型可以捕捉到小模型无法捕捉到的特征,从而得到更精确的解答。
相比于传统方法,用数值模拟的方法求解偏微分方程,求解效率会比较高。在一些极端的场景下,求解效率能够从 2 天缩短到 0.1 秒,提升 4~5 个数量级的程度。在这种情况下,就可以用实时预测能力为科学计算应用提供实时预警,比如在海量预测问题上,可使用实时预警能力提供实时预警,从而提升在各个方面应对突发海事情况的能力。
接下来位大家展示盘古科学计算大模型的演示 demo。该 demo 主要是进行全球海浪的实时预测,模拟一个地球的形状,包含全球的陆地和海洋数据。通过模拟给定风速后,全球海洋的海浪高度是可以实时地显示在屏幕上,这也是得益于推理速度的加快。因为盘古大模型使用 0.1 秒就完成预测,因此可以实时把结果显示出来。同时还可以模拟海洋上的突发情况,比如海洋上可能出现的风暴和台风。
在 demo 当中给大家展示实时生成台风的路径,并且调整这台风的强度、风速、生命周期等参数,就能发现台风对海浪的高度等造成的影响。因此就可以去模拟台风对海洋的海浪造成的影响。所以该模型就可以有效的帮助我们去指导海洋上的生产生活,比如指导渔船去避险,发挥它自己所特有的价值。
对于大部分海上作业来说,精确的海浪预报具有重要的价值。与基于超级计算机的传统预报模式相比,Al 全球海浪预报模型可以以较低的计算成本,灵活的结合短期气象预报更新结果,快速提供相关海域未来数小时的海况。该预报系统可以为航运公司提供服务,通过海浪数据结合航速航向来优化航行路径,减少航行过程中的碳排放,同时避免遭遇极端海况造成人员和财产损失。
2.2.4 多模态大模型
多模态,是指把图像和文本两种不同的模态结合在一起,它们之间可以进行交互,从而可以帮助我们完成各种各样的应用。比如像趋势预测、辅助设计等,这些在时装行业比较重要的应用。都是得益于多模态大模型,把人类所希望做的事情以文本形式表示出来,然后把它体现成图像的形式,让设计师能够以图像生成设计图的方法,交付到生产线,加速最后的生产过程。在这个过程当中,利用大模型这样的思路,使得图像和文本之间能够高效地进行交互,从而最后完成这样的过程。
2.2.5Graph 大模型
盘古 Graph 大模型,主要是用来处理结构化数据。以企业报表数据为例,华为与广发证券合作中发现,有些广发证券客户会存在这个财务造假的情况。广发证券通过使用盘古大模型,利用数据可以帮助他们高效分析出哪些企业可能存在造假的情况,从而帮助广发证券更好的去完成业务情况。2019 年有 496 家企业被监管处罚、问询或被 ST 处理和利用。
得益于大模型当中所具备的特征抽取及预测的能力,盘古多模态大模型能构建定制化、高效的产业链条,并在企业的生产、生活当中是可以发挥出更加重大的作用。如果大家对盘古大模型感兴趣,包括对前面所展示的这个 demo 比较感兴趣的话,请与华为商务部门联系。
3.ModelBox 加速跨平台高性能 AI 应用开发和落地
随着新基建的推进,以及 5G 通信、云计算、大数据和物联网的快速发展,人工智能应用的场景越来越多,AI 正从极具想象力的概念成为具有超大发展前景的商业赛道,并逐渐渗透到各行各业,催生了技术产业新的发展。在深耕行业 AI 落地的过程中,我们发现 AI 的大规模应用落地并非一帆风顺,面临着比传统软件更复杂的难题:
部署场景、复杂系统架构涉及端边云多种组合。
易购计算平台多样,给应用性能优化带来了更高的技能要求。
AI 基础推理框架的 API 不统一,带来繁琐的适配工作。
为解决这些难题,在今年的这次大会上,我们对 AI 开发生产线 ModelArts 进行了重磅升级,发布了 ModelBox 端边云统一 AI 应用开发框架。
ModelBox 是让模型以统一的格式和接口更高效地运行。通过 ModelBox 开发者无需过多关注底层技术也能开发出跨平台高性能的 AI 应用,提升开发效率。开发者在华为云 AI 开发生产线 ModelArtes 上完成模型的训练和优化之后,均可以将模型通过 ModelBox 完成应用的开发和集成,并一键部署到端边云场景的不同设备中运行,打通行业 AI 应用落地最后一公里。
为了帮助开发者快速完成 AI 应用的开发和部署,ModelBox 集成了三大核心技术:
高性能并发调度引擎。可实现数据计算和资源管理的精细化智能调度,集成了特别优化过的硬件加速单元。
译制的应用编排异构计算组件。丰富的组件覆盖了主流芯片、多数操作系统和主流的推理框架,可屏蔽这三个层次的平台差异。
框架中提供了端边云 AI 系统单元,让开发者快速写出格式一致的 AI 应用,并结合场景需求,一键部署到端边云不同的设备上运行。
基于高性能并发调度引擎,开发者无需掌握底层调度机制,也能保证高性能应用优化效果。ModelBox 中将所有的任务都以功能单元的形式封装,一个完整的应用就是由多个功能单元构成。华为云自研一套灵活调度策略,在执行过程中,功能单元的计算将统一由线程池并发调度,确保计算单元被分配到对应的一个硬件中执行。同时计算中数据和执行单元绑定,保证数据处理的合理分配和高吞吐量。
根据引擎在实际应用案例中,让典型的图片检测场景的数据吞吐量从 54QPS 提升到了 442QPS,处理时延从 0.5 亿毫秒降到了 0.2 毫秒。
为了带给开发者更好的开发体验,提供了图编排的开发模式,所有 API 以功能单元的方式提供,应用开发可以做到像搭积木一样方便。同时针对常用的 AI 推理场景提供了丰富的译制功能单元,做到低代码/零代码就能完成应用开发。一次开发无需改动代码就能实现端边云不同设备的一致部署运行。
三大核心技术带来的收益也是明显的,在节约 80%左右的开发成本的情况下,还带来 2-10 倍的推理性能提升。
3.1 应用编排异构计算组件,缩短跨平台开发和部署成本
ModelBox 作为 AI 应用开发框架,华为云始终关注开发者体验。依据 ModelBox 的技术内核,华为云提供了完整的开发工具链,可以让开发者能够以自己喜欢的 IDE 上手 ModelBox。
ModelBox 的丰富工程模板可降低开发门槛,对应用的 AI 开发部分包含功能单元开发和图编排,可以实现对 Python、C++等多种语言的灵活支持和可视化编排的低门槛开发模式。同时还提供完整的调试机制以应对开发中的问题。
开发完成以后,ModelBox 以 RPN 或者容器镜像的打包方式,一键发布应用。并且,ModelBox 格式的应用支持多种部署方式,可以一键发布成 ModelArts 云上在线推理服务,也可以通过 HiLens 端云协同服务,远程部署到端边侧运行。为了实际场景需要,ModelBox 还提供灵活的插件,帮助开发者实现模型的权限管理和配置等。
3.2ModelBox 助力智慧出行应用实现高性能提升和快速落地
从去年开始,已经陆续有伙伴开始将 AI 应用牵引到 ModelBox 框架上来。以智慧出行场景为例,我们与伙伴全面重构了安全出行方案中的 AI 推理业务。在重构前,其中的疲劳和分神驾驶检测任务是根据传统的方式,进行 AI 应用开发和部署。由于业务量的增加,AI 运算的性能已经满足不了要求,并且基础平台将带来扩容成本的增加。同时,切换品牌代码需要重新开发,难度就随之增加。
在双方团队配合中选择了 ModelBox 重构现有业务,数据吞吐量提升了 2-10 倍。以抽烟识别为例,从 15QPS 提升到了 150QPS,在不扩容的情况下,业务能力大幅提高,节约了非常高的硬件成本。由于性能提升,我们也可以大胆尝试更强大的算法,使得识别准确率也有超过 10%的提升,同时耗时降低 78%。
3.3 华为云助力 ModelBox 开发者实现商业成功
华为云开源 ModelBox,是希望通过开源能够与广大伙伴共同构建端边云协同的 AI 应用生态。
2021 年,华为云依托旗帜社区平台完成了源码发布,这也是社区中第一个应用框架类项目。经过半年的开源社区化开发,我们的项目更加完善和强大。今年晚些时候,我们将在下一个版本推出更多的用户体验,优化工具。未来,我们计划提供越来越多的 ModelBox 开源解决方案,让大家可以结合更多的参考样例和项目做到开箱即用。
华为云诚挚邀请广大开发者朋友参与到 ModelBox 的开源项目中来。希望北向的 AI 算法应用开发者可以贡献自己的能力,来丰富 ModelBox 的功能单元和应用场景,同时让自己的应用可以被更多硬件高效运行。也希望南向设备厂商把自己的硬件通过开源项目对接到 ModelBox 项目中来,这样具有丰富的 AI 应用,可以补充和扩展硬件的 AI 使用场景。
为降低开发者上手门槛,华为云与国办合作推出了 ModelBox 生态入门级开发板。开发者可以从开发板套件开始体验 ModelBox 结合硬件和端游协同带来的便利,将自己的 IDEA 快速变成现实。
同时还为开发者准备了丰富的上手课程,包含入门、进阶和高阶课。通过系列课程掌握 ModelBox 的基础开发概念,上手体验功能单元和图形化编排的开发模式。
正是由于 ModelBox 天生对平台操作系统和推理框架的适配开放能力,结合统一的应用打包格式,让应用不管是云上还是端边侧,可复制性都大大提高,这就给开发者的商业变现提供了更多可能。
为了更好的帮助开发者实现商业成功,华为云 AI 开发生产线 ModelArts 和华为云应用商店,帮助开发者打通从开发到落地的变现通路。ModelBox 开发的 AI 应用,可以通过云上平台和销售网络以及集成商伙伴,触达更多的行业客户,带来更多的商业机会。
最后
华为云 AI 开发生产线已通过中国信通院评测,是中国信通院认证的首批全能力域领先级 AI 开发平台。通过不断创新,在国内率先支持 MLOps,让更多企业上好云、用好云,进而推动 AI 进入更多核心生产环节,产生更高价值。
版权声明: 本文为 InfoQ 作者【华为云开发者联盟】的原创文章。
原文链接:【http://xie.infoq.cn/article/97ba2eb206fce297b9581040a】。文章转载请联系作者。
评论