AI行业| MLOps:从“以模型为中心”向“以数据为中心”迈进
在日常生活中,我们所接触到的AI,更多体现在应用层面,比如人脸识别、自动绘画软件、智能语音......但一切AI技术的应用都离不开AI基础层,AI基础层包括:算法(AI模型)+数据+算力,这些要素在AI开发中扮演着重要的角色。
2022年,吴恩达在接受IEEE Spectrum的采访中表示:“以模型为中心”无法有效助力AI落地,我们应该将重点转向“以数据为中心”来开发机器学习系统,如果更多地强调以数据为中心而不是以模型为中心,机器学习会发展的更快。
“人工智能系统必须在代码中实现一些算法,比如说神经网络,然后在数据集上训练它。过去十年的主流范式是下载数据集,并专注于改进代码。得益于这种范式,在过去十年中,深度学习网络有了显著的改善,以至于对于很多应用程序来说,代码——神经网络架构——基本上是一个已解决的问题。因此,对于许多实际应用来说,将神经网络架构固定下来,转而寻找改善数据的方法,会更有成效。”
过去十年左右的时间里,深度学习的巨大进步是以越来越大的模型处理越来越多的数据为基础。虽然这个扩展深度学习算法的引擎仍然具有活力,但面对市场一系列新需求、一系列新问题,显然需要小数据解决方案。
未来,“以数据为中心的AI”将会成为主流。MLOps(人工智能研发运营体系),便是以数据为中心的技术成为人工智能生产落地的重要推动力。
近年来,随着AI工程化的研究热度持续提升,MLOps作为AI工程化重要组成部分,其发展呈现出逐渐成熟的态势,近几年国内外MLOps落地应用正持续快速推进,特别是在IT、银行、电信等行业取得明显效果。
AI生产过程管理问题凸显
所有的技术革新都是“一浪更比一浪强”,后浪的出现即是为了解决前浪所存在的问题。因此在谈及MLOps这一概念前,我们先来谈一谈在AI大规模生产过程中凸显的管理问题。
Gartner调查发现,AI生产过程管理问题凸显,只有53%的项目能够从AI原型转化为生产。AI生产转化率低的主要原因在于模型全链路生命周期管理存在问题:
第一,跨团队协作难度大。机器学习项目生命周期中涉及业务、数据、算法、研发、运维等多团队,团队间缺乏相同的技术和业务背景知识作为协作基础,从而带来沟通屏障。同时每个团队的协作工具不尽相同,从数据和算法转化为推理服务的整个过程漫长而复杂,从而增大协作难度。
第二,过程和资产管理欠缺。模型生产过程无标准化管理,导致AI资产的价值无法有效发挥。原因在于以下几方面:一是生产过程冗长难管理,AI模型生产过程涉及的环境、流程复杂,各部门习惯于小作坊的生产模式,重复造轮子现象普遍;二是AI资产无集中共享机制,组织内数据、特征、模型等碎片化AI资产无法共享使用,优秀实践经验难以沉淀。
第三,生产和交付周期长。机器学习模型生产和交付是一个漫长、复杂又易出错的过程,且耗费的时间成本较高。据Algorithmia报告显示,38%的企业花费超过50%的时间在模型部署上。这一现象的主要原因有三:一是模型文件的生产需要经过不断重复的实验和评估;二是模型服务需要通过编写服务代码和配置参数,并达到业务需求后,方可部署上线;三是业务效果的保证需通过在线模型开展服务验证和结果对比。
什么是MLOps?
MLOps是Machine Learning Operations的缩写,它是一种将机器学习模型应用到生产环境中的方法和实践。换言之,MLOps是通过构建和运行机器学习流水线统一机器学习(ML)项目研发(Dev)和运营(Ops)过程的一种方法。旨在自动化和管理机器学习模型的生命周期,包括数据处理、模型训练、模型部署、模型监控和模型更新等阶段,从而提高机器学习系统的可靠性、可重复性、可扩展性和安全性,更好地满足业务需求。将AI 产业从“能用”变为“好用”。
MLOps是数据科学家、工程师、运营人员和其他团队成员之间合作的关键,旨在实现高效、协作的机器学习开发和部署流程。
MLOps理念源于面向软件工程的管理方法论DevOps,起初希望可以参考传统软件生产过程的管理方法,以应对提质增效的挑战。然而DevOps并不完全适用,因为机器学习项目是以数据、算法、代码、模型为核心的动态模式,整个过程充满探索性、实验性和不确定性。
若要迎合动态模式的需求,需要一种融合了机器学习特性的 DevOps方法或体系,MLOps 应运而生。
MLOps意义和价值主要体现在以下几方面:
第一,建立团队协作机制。通过在组织级明确各流程中各角色(例如业务人员、数据工程师、数据科学家、运维工程师等)和职责,并以流水线的方式连接各团队成员的工作,使团队协作机制得以建立,打破沟通屏障,让不同角色各司其职(例如,使数据科学家不用再沦陷于处理繁琐的模型更新和维护等工作),降低团队间整体合作成本。
第二,实现敏捷交付过程。通过自动化流水线等方式实现敏捷交付,从而提高模型交付效率,加快模型迭代速度,提高模型效果,提供更丰富、更优质的产品体验。
第三,构建全链路反馈闭环。通过贯通需求、开发、交付、部署、运营多环节的全链路,嵌入合规、监管、道德、安全等要求,形成完整的全链路流水线。同时,持续改进和简化原有运营和治理流程,高效率、低风险地实现持续集成、部署、训练和监控,形成有效的反馈闭环。
第四,统一管理AI资产。机器学习项目中数据、算法、特征和模型等资产是一个有机整体,通过对AI资产的高效统一管理,并加以风险防控和安全管理等手段,实现有效治理。
MLOps发展“三大阶段”
2015年至今,从业界意识到机器学习项目技术债给AI生产上线带来的潜在巨大影响伊始,MLOps前后经历了斟酌发酵、概念明确、落地应用三大阶段。
斟酌发酵阶段(2015年至2017年前后)
2015年Google在Conference and Workshop on Neural Information Processing Systems(NIPS)上发布的论文《Hidden Technical Debt in Machine Learning Systems》首次提出机器学习项目技术债问题,一方面,机器学习项目具有传统软件工程的代码运维问题,这部分问题占比较小;另一方面,机器学习项目本身存在数据依赖关系不稳定、配置易出错、实验不可重现等问题,为模型的持续运维和迭代带来大量隐患。这篇论文标志着机器学习高效落地问题被明确提出和正视,也催生了产业界形成系统化的方法论和规范化的管理流程,解决技术债问题的强烈需求。
概念明确阶段(2018年至2019年前后)
2018年业内人士逐渐开始密集讨论大规模生产中机器学习生命周期集成化管理的重要性,MLOps这一概念被提出并逐步接受。2019年《Continuous Delivery for Machine Learning》提出的CD4ML理念,阐述了机器学习项目如何开展持续交付(CD),并提出端到端的交付流程CD4ML将传统软件工程中的持续交付方法论扩展到机器学习中,使跨团队成员可基于数据、代码和模型,实现机器学习项目小步快跑、安全持续的增量式迭代。
落地应用阶段(2020年至今)
2020年以来,产业焦点集中于AI大规模快速落地,布局MLOps平台或工具的需求日益迫切,推动组织数智化转型成为产业界追逐的目标。2021年,Gartner将包括MLOps在内的XOps列为2021年十大数据和分析技术趋势之一。此外,2019年到2022年,Gartner连续4年将 MLOps纳入数据科学与机器学习技术成熟度曲线。2021年,中国信息通信研究院牵头开展MLOps系列标准编制,以引导产业有序发展,形成行业自律规范。
模型和数据,谁更重要?
我们不禁产生一个疑问,机器学习的进步是模型带来的还是数据带来的?模型和数据,谁更重要?这目前尚且没有一个明确的答案。
Android开发者和机器学习爱好者Harshil Patel认为:以模型为中心的方法意味着需要通过实验来提高机器学习模型性能,这涉及模型架构的选择、训练过程。而在以模型为中心的方法中,你需要保持数据相同,通过改进代码和模型架构来提高性能。此外,对代码的改进是以模型为中心的根本目标。
目前,大多数AI应用都是以模型为中心的,其中一个可能的原因是学术研究非常重视AI领域。根据吴恩达的说法,AI领域90%以上的研究论文都是以模型为中心的,因为我们很难创建大型数据集,使其成为公认的标准。因此,AI社区认为以模型为中心的机器学习更有前景。研究者在专注于模型的同时,往往会忽略数据的重要性。
对于研究者而言,数据是每个决策过程的核心,以数据为中心的公司通过使用其运营产生的信息,可以获得更准确、更有条理、更透明的结果,从而可以帮助公司组织更顺利地运行。以数据为中心的方法涉及系统地改进、改进数据集,以提高ML应用程序的准确性,对数据进行处理是以数据为中心的中心目标。
目前国内唯一位在系统、芯片、算法三个方向获得吴文俊人工智能科技进步奖的AI学者王孝宇博士认为:模型和数据之间的关系可以这样类比,模型和数据分别类比为一个人的IQ和知识储备。假设一个人IQ很高,如果从小就把他养在家里,永远不跟社会打交道,也不让他学习新的知识,那么他还是会成长为一个很笨的人。而即使一个人资质平平,但如果他见过全世界各地的事物,去过欧美留学,在中国做过实际的工业化生产,看过很多设计的案例,那么他可能比那个IQ高的人更厉害。所以如果这样理解,模型就有点类似于IQ,数据就有点类似于知识。二者同等重要,但到后面你会发现知识越来越重要,因为只有亲历过你才能知道,“知道”比“不知道”更重要。在工业化大规模发展中,大家正在慢慢地从模型为中心的生产转化为以数据为中心。下图显示的是吴恩达所做的一些实验对比:
我们可以看到,当我们有了一个基础算法之后,我们可从两个维度来提高它的性能,一是以模型为中心的方法,即想尽各种办法提高模型设计的复杂度、技术含量等;二是以数据为中心的方法,比如加数据(加数据也是有一些科学方法的,并不是加了数据后性能一定会提高)、检查数据有没有问题等等。王博士发现,以数据为中心的方法比以模型为中心的方法能更多地提高性能。我们自己做模型生产时也得到这样一个结论:越到后面,数据的迭代越来越重要。因为所有模型的服务实际上是针对某一个特定场景,使用的是特定的数据。
在我们过去八年的实践中,我们发现,算法的迭代事实上变成了数据的迭代。另外一个维度看,到现在为止,我们已经研发了大量算法模型,但从来没有一个模型是搜集了一次数据、调整一次参数就不用再调整了,很多模型都迭代了5-6年,迭代的主要内容就是数据。因为我们解决不同的需求时,会遇到不同场景下的泛化性问题,我们碰到的问题越来越不一样。这并不是算法不一样的问题,而是场景不一样,要处理的数据也不一样,所以我们要不停地更新迭代数据,才能够满足不同场景应用的需求。
既然算法迭代已经变成了数据迭代,那么有没有办法把数据的迭代也自动化呢?如果算法设计可以自动化,那数据迭代也可以自动化,所以端到端地完成自动化的AI模型生产平台就逐渐成为可能。
而数据迭代的自动化需要技术的支持,同时还需要系统层级的支持。
数据驱动与以数据为中心的区别?
许多人经常混淆「以数据为中心」和「数据驱动」这两个概念。数据驱动是一种从数据中收集、分析和提取见解的方法,它有时被称为「分析」。另一方面,以数据为中心的方法侧重于使用数据来定义应该首先创建的内容;而以数据为中心的架构指的是一个系统,其中数据是主要和永久的资产。数据驱动架构意味着通过利用大量数据来创建技术、技能和环境。
对于数据科学家和机器学习工程师来说,以模型为中心的方法似乎更受欢迎。这是因为从业者可以利用自身知识储备来解决特定问题。另一方面,没有人愿意花大量时间去标注数据。
然而,在当今的机器学习中,数据至关重要,但在AI发展中却经常被忽视和处理不当。由于数据错误,研究者可能花费大量时间进行查错。模型精度较低的根本原因可能不是来自模型本身,而是来自错误的数据集。
除了关注数据外,模型和代码也很重要。但研究者往往倾向于在关注模型的同时忽略数据的重要性。最好的方法是同时关注数据和模型的混合方法。根据应用程序的不同,研究者应该兼顾数据和模型。
MLOps的应用
MLOps对各行各业都具有很大的影响,尤其是在金融、医疗、零售、制造等领域,可以帮助企业更好地理解用户需求、提高产品质量、优化流程效率等。
1. 金融行业:金融行业对于机器学习和人工智能的应用需求很高,特别是在风控、反欺诈、推荐系统、投资决策等方面。MLOps算法工程师可以帮助金融机构构建高效、可靠的机器学习系统,提高业务效率和风险控制能力。
2. 医疗行业:机器学习可以在医疗影像分析、疾病预测、诊断、治疗等方面发挥重要作用。MLOps算法工程师可以帮助医疗机构构建高效、安全的机器学习系统,保证医疗数据的隐私和安全。
3. 零售和电商行业:MLOps算法工程师可以帮助企业构建精准的推荐系统、销售预测模型、价格优化模型等,提高企业的销售业绩和用户满意度。
4. 制造业:机器学习可以在生产质量控制、设备故障预测、供应链优化等方面发挥作用。MLOps算法工程师可以帮助制造企业构建高效、可靠的机器学习系统,提高生产效率和质量。
资本市场持续火爆,MLOps工具不断创新
根据情报和市场研究平台 MarketsandMarkets2022年研究报告显示,MLOps市场规模将从2022年的11亿美元增长到2027年的59亿美元。
近年来,MLOps相关工具链已成为 AI 投融资领域的明星赛道,涌现了诸多以MLOps工具为主打产品的初创公司。
例如,聚焦于深度学习可视化工具的Weights & Biases获得2亿美元融资,且平台估值达10亿美元;聚焦于提供机器学习平台的Tecton获得1.6亿美元融资;聚焦于机器学习模型多硬件适配部署的OctoML获得1.33 亿美元融资,且平台估值达8.5亿美元。
在资本市场的驱动下,MLOps工具持续创新。据不完全统计,目前全球约有300多款工具,大致可分为两类:
一类是MLOps端到端工具平台,为机器学习项目全生命周期提供支持。端到端工具平台包括国外的Amazon SageMaker、Microsoft Azure、Google Cloud Platform、DataRobot、Algorithmia、Kubeflow、MLflow等,国内的百度智能云企业AI开发平台、阿里云机器学习平台PAI、华为终端云MLOps平台、腾讯太极机器学习平台、九章云极DataCanvas APS机器学习平台等;
另一类是MLOps专项工具,对特定步骤提供更为集中的支持,主要包括数据处理、模型构建、运营监控三大类。专项工具包括国外Cloudera提供的数据共享工具,DVC和DAGsHub提供的数据和模型版本管理工具,Neptune.ai 提供的元数据管理工具等,国内的星环科技提供的运营监控工具,第四范式提供的特征实时处理工具,云测数据提供的标注工具等。
总而言之,高成熟度的应用并不是一蹴而就的,实际生产的MLOps体系还处于较低的成熟度。我们需要重视这一阶段爆发的待解决问题,如离线在线特征相互隔离、AI资产缺少沉淀、自动化水平受制约等。因此,资产管理、过程管理、运营模式、特征平台、工具平台、大模型及可信AI等各项能力的持续发展跃迁,正成为MLOps发展的新趋势。
文章内容来源:中国信息通信研究院、人工智能关键技术和应用评测工业和信息化部重点实验室、neptune、IEEE Spectrum
微信扫码关注该文公众号作者