人工智能已进入工程化应用爆发窗口期,作为全新生产要素,正加速助力我国产业转型升级。而深度学习是本轮人工智能技术发展的主导路线,深度学习框架加速助力行业智能化转型升级。

随着商业化人工智能开发平台等工具产品在企业的大范围落地应用,面向人工智能系统的运维管理(MLOps)得到了产业界的广泛关注。

 然而作为人工智能工程化的重要内容,MLOps仍处在发展早期,为凝聚行业共识,推进MLOps产业化进程,827日,中国人工智能产业发展联盟,联合中国信息通信研究院围绕人工智能工程化,以及MLOps的实践与探索召开了线上会议。

01

人工智能工程化模型的开发需要MLOps的助力

20201020日,Gartner发布2021年重要战略科技趋势,根据Gartner的研究,只有53%的项目能够从人工智能(AI)原型转化为生产。由于缺乏创建和管理生产级人工智能管道的工具,人工智能项目的扩展难度很大。为了将人工智能转化为生产力,就必须转向人工智能工程化这门专注于各种人工智能操作化和决策模型(例如机器学习或知识图)治理与生命周期管理的学科。

基于此次会议,我们可以总结人工智能工程化有四大技术特点:

一是基于流水线的协同

机器学习模型的开发涉及到不同模块,例如预处理、特征工程模型训练、模型推理。人工智能工程化对这些模块进行协调,加速机器学习模型开发,保证模型的自动更新。

二是管理机器学习模型的全生命周期

机器学习模型的生命周期由不同的部分组成,每个部分都有自己的管理和维护需求。机器学习工程化将人员、流程和技术相结合,致力于快速安全地优化和部署机器学习模型。

三是规模化

伴随着人工智能的广泛应用,模型的规模化管理变得非常繁琐和困难。机器学习工程化可以批量的管理机器学习流水线和服务。机器学习工程化的目标,就是要建立规模化的应用。

四是模型治理

通过对模型的运行进行监控,获得模型的性能数据,从而持续保证模型处于健康状态;对模型的日志进行审计追踪,保证模型和数据的合规。

人工智能工程化拥有这些技术特点,解决了哪些问题呢?

第一个是数据依赖问题;

第二个是训练流程的复用问题;

第三个是复杂的配置问题。

然而,在人工智能工程化过程中,人工智能模型的开发中存在着的数据管控、人员协同、快捷交付、AI产品测试、AI运营等等问题。总体而言,业界对开发工具以及开发相关的开发工具链条有大量的需求,而且这些工具的使用能解决实践中的问题,并提升企业相关的开发效益。

但同时仅仅有工具还是不够的,很多中大型企业在使用或者是购买人工智能相关的平台或者服务之后,它意识到这个模型或者是相关的人工智能的应用,是需要贯穿于企业的智能化全生命流程,所以这也就引出了MLOps概念。

02

解决模型开发问题的方案:MLOps

说到MLOps,就要提一下DevOps了,DevOps要求开发与运维两边的工程师都能相互接触对方的流程:开发人员参与运维初期的系统部署、提供优化意见;运维人员了解系统架构和技术路线,制定合适的运维方案。而MLOps,继承了DevOps的思想,但机器学习项目又有自己的特点。

数据、模型的版本化不等于代码的版本化,MLOps不仅有代码管理,还对数据、流水线、模型进行版本管理,并且模型能根据场景与需求进行调整。机器学习项目新模型发布时,需要关注的是整个训练过程的维护,在这过程中需要频繁的更新模型,而通过实施MLOps,可以构建有效的机器学习的生命周期,减少了时间浪费,保证整个研发的工作流和模型的可重复性。基于MLOps,可以敏捷的部署,使得整个开发包括运营过程变得轻松。

这也就是MLOps追求的持续集成、持续交付、持续部署。

CI(CONTINUOUS INTEGRATION)就是持续集成,把开发人员还有项目管理人员,包括运营人员三种角色串联起来,然后构建流水线,把所有开发人员将他们的代码更改上传并合并到一个中央存储库,使得IT开发过程中包括一些构建测试发布能够更加的快捷可靠。

CD(CONTINUOUS INTEGRATION)即持续交付,就是在持续集成的基础上,把代码能够快速部署到测试环境下进行测试,这样能够快速的标准化的提高交付的效率。在持续交付之后,做一些自动化测试,CD 吸收了另一个步骤CD(CONTINUOUS DELIVERY)即持续部署。持续部署就是把已经持续交付的打包的编码,快速地补到生产上,然后才能快速的面向客户的真实反馈。

总而言之,MLOps将开发过程工具化、开发流程标准化、全链路贯通、线上协作端到端整合一体。完成无缝的跨团队、跨系统协作。把开发、运维、测试联结起来,促进软件交付质量和效率

03

MLOps的核心是构建一条能通用、可复用的流水线

会议上农业银行研发中心合松分享了农行在人工智能服务平台建设中的经验。

合松表示,一开始的时候是没有MLOps的概念,后来在平台的建设过程中注意到,不同条线的模型有不同的特点,包括营销线,风控线,运营线。农业银行最初没有刻意去遵循MLOps的组织架构,但是在建设的过程中,根据实际客户的需求,逐渐形成了市面上所赞同的MLOps的目标。

MLOps最核心的就是构建一条能够通用的和复用的流水线。而农行的人工智能平台在实践中基本上已经做到能支持快速的模型实验,实现了数据验证、数据准备、模型训练、模型评估、模型验证等步骤的自动执行,从而可以进行快速的迭代。

平台提供了特征模型的存储管理,通过对特征模型的定义存储的标准化处理,然后方便模型的训练和模型的复用。同时,可编排之后还提供了一个自动化部署的服务,让用户只需关注他的模型训练,无需关注其他,这样能缩短模型的研发周期,提高企业开发效益。

同样,华为云产品管理丁晓晗对公司实际案例做了分享。

图片源自华为

华为给一家公司做在线离线端测三大AI应用场景,就是基于华为平台去给用户构建的 MLOps中心。从数据的终端去获取数据,然后统一放到华为云的数据库里,进行所有的数据的管理,数据分析后,再放到华为MLOps中心进行流程化的操作。相当于构建基于用户不同的业务去构建不同的工作流,帮助构建不同的AI应用。

并且还可以根据用户自身设定的规则去进行自动化的迭代,用户当前设计的规则是针对某一周期进行的训练,而当数据积累到某一个量的时候平台会进行一个重复训练。

而这个方案的实际交付,也证明了华为云的MLOps理念是行得通的。

总的来说,MLOps是机器学习时代的DevOps。既含有DevOps沟通开发运维的功能,也具有利用机器学习的能力来提升企业开发效益,促进企业业务增长的功能。

目前国内MLOps的概念提出时间比较短,业界对于MLOps的工具体系的构成等并没有统一的认识。大家更多的是根据各自的理解,或者各自的应用来做相关的事情。不过这些先行者的经验值得大家学习,借鉴。

MLOps讲究的是如何更好地衔接整个模型开发应用运维全流程,未来它会是一个协调联通互相赋能的角色。而推动MLOps产业化进程需要业界一起探讨,共同发力。