随着国家“新型基础设施建设发展战略(2020年)”、“十四五规划”等系列政策的出台落地,我国数智化转型进程进一步提速,作为其中重要的技术手段,人工智能(AI)应用及AI工程化也逐渐备受关注。
MLOps是AI工程化的重要组成部分,其核心目的是帮助组织在数智化转型过程中,更高效、大规模地利用AI创建业务价值。MLOps主要思想是解决AI生产过程中团队协作困难,管理乱,交付周期长等问题,最终帮助组织实现高质量、高效率、可持续的AI生产过程。在数据成为新生产要素的大背景下,MLOps成为辅助行业和组织更加高效地挖掘数据价值,赋能业务的“利器”。
MLOps 是 AI 领域中一个相对较新的概念,MLOps 这个术语主要从 DevOps 演变而来,可以算是机器学习领域的“DevOps”。MLOps 借鉴了可提高工作流效率的 DevOps 原理和思想,旨在提高自动化程度,系统化、工程化地提高机器学习解决方案的质量,同时兼顾监管需求和业务利益。
虽然MLOps灵感来源于DevOps,但是与DevOps还是有本质的区别,总结起来分为5大方面:
版本管理:传统的软件开发中,一般版本管理只涉及到代码的版本管理。在MLOps中,一个机器学习模型生命全周期主要有三个维度的版本管理构成,分别是数据版本管理、模型版本管理和模型代码版本管理,代码决定了项目中使用的模型的结构,但是模型的参数是通过数据训练出来的。同样的代码,不同的数据,会导致非常不一样的模型。
特征和模型的可解释性:机器学习项目中,对于模型的输入特征和输出结果的可解释性提出了非常高的要求。机器学习模型的输入和输出必须达到业务的“白盒”标准,才可以真正投入生产中应用,这是传统软件开发不涉及的方面。
模型复用:模型复用不同于传统软件复用,因为模型的复用依据判断是来源于数据/场景。如果决定复用一个模型,需要微调/转移对模型的学习,这就意味着需要对机器学习流水线管道进行复用和重新训练。
模型监控:在机器学习项目中,不仅关心系统性能指标,例如预测服务的延时,更应该关心上线服务的质量,例如准确率等指标。除了监控模型的性能,数据的质量也应该监控,并且在出现情况时及时报警。
模型性能衰减:模型会随着时间的流逝而衰减预测能力,数据模型具有潮汐性且变化多端,需要按需重新训练,以确保在生产环境中始终保持“高质量"预测服务。这是机器学习项目面临的新挑战。
总结一下,MLOps需重点解决的问题可分为五个方面:
-
模型可复用性和版本管理
-
模型可审计性与可解释性
-
模型的封装与验证
-
模型部署与监控
-
模型的持续训练(生产环境下对模型进行持续训练操作)
围绕模型全生命周期构建数据、模型、流水线版本管理
对工作空间下的模型训练所需的研发数据集进行版本管理,更好进行模型研发实验的对比和验证。
对工作空间下的流水线任务板块核心以“拖拉拽机器学习流水线模板“进行模型训练,具有模板和运行实验的两层管理机制,模板帮助快速复用。
对工作空间下的模型和对应的模型制品仓库均设置版本管理功能,用以管理未来提供推理服务的版本管理。
领先的可解释技术助力业务决策。魔数智擎交互式机器学习平台(ME),内嵌领先市场的单变量和双变量归因的可解释技术,可以完成4方面的可解释:
多种形式完成对模型的封装与复用
以SDK的方式,在专家建模notebook环境下进行模型组件,算子层的复用-借助WEB-IDE建模工具完成模型从0到1整个定制化过程。
以极速建模为例,内置多种二分类、多分类、回归、集成、聚类等主流算法,设置目标变量和相应参数信息,并配置所需的自动化建模策略,完成对整个模型建模全流程的进行复用,实现自动化建模流程,辅助快速搭建模型。
以工作流引擎支持的机器学习流水线任务,标准化模型组件的方式进行复用,完成对模型应用从1到N的规模化。
核心围绕数据及特征、模型效果指标以及模型系统性能进行监控和可视化
对特征质量的监控是保障AI模型服务质量的关键步骤,核心围绕数据分布和特征分布进行监控。
通过对评估指标的观察与分析就能及时判断模型算法效果,从而对模型算法的升级或迭代进行进一步指导,确保在生产环境下模型提供的服务质量。
对机器学习系统性能的监控主要包括模型接口响应时间,并发用户数,数据吞吐量,吞吐率,资源占用情况等,这是确保模型可以在生产环境下提供高质量服务的必要前提。
确保模型效果质量
在构建持续训练机制中,数据偏移检测机制至关重要;如果在线数据分布与训练数据分布差异较大,往往会导致模型性能衰减。
通过优化算法的方式提升模型的表现性能具有很强的局限性,取而代之的是以数据为中心的模型性能优化思路,在魔数智擎模型管理平台(MM)中,提供对于模型的自迭代的更新机制,通过对生产环境的数据分布实时监控,从而设置重新触发训练的自动机制,实现模型在生产环境可以利用新的数据作为训练样本集来改善模型效果,这也是MLOps最为核心的思想。