人工智能(AI)和机器学习(ML)应用激动人心的发展浪潮也许会让人相信,企业交付ML产品的能力也在迅速提高。但现实情况是,ML内部流程很难跟上行业的整体发展……但若以MLOps的形式则有希望解决此问题! MLOps是机器学习操作的缩写,基于一系列流程和最佳做法,通过数据科学家和操作人员之间的敏捷和实时协作来交付ML产品。其目标是尽可能将ML构建流程自动化,以实现持续交付。随着新一轮自动化操作浪潮的到来,所有工程组件聚集起来,以实现大规模构建AI。 重要说明:您可能听说过AIOps一词,并认为它可与MLOps互换使用。但事实并非如此:AIOps涵盖面较小,它是指将机器学习应用于IT操作的自动化。
为什么要推动MLOps?
由于内部ML流程的孤立性和缓慢性,开发机器学习产品仍然极具挑战。以下将简要说明阻碍企业和组织构建ML的内部问题:
- 内部流程几乎都未实现自动化。
- 尽管数据科学家和运营团队需要合作,但他们仍然各自为营。
- 很少有明确的流程和通路存在。
- 后期再训练模型未达到模型要求的程度,这也导致随着时间的推移模型性能下降。
- 对监管和合规性问题的监督不足。
这些因素可能导致缺乏促进有效AI开发所需的可再生性、可扩展性和敏捷性。但这正是MLOps可以发挥作用的地方。有了适当的基础架构和流程,MLOps就可以克服这些挑战,并带来许多益处,例如:
- 结合专业知识提高效率:MLOps能促进传统上各自孤立的团队之间进行沟通。它将运营团队的商业意识与数据科学家的ML专业知识相结合,促进其循环协作。同时,使各个团队都能专注于自己最擅长的工作。
- 定义监管流程责任制:运营团队可以监督监管和合规问题,及时了解这些领域的变化情况,并确保数据科学团队可立即了解该等信息。
- 减少浪费:按照目前的ML开发方式,在时间、金钱和机会成本方面存在大量浪费。例如,数据科学家把大量时间花在他们本不该做的重复性工作上。MLOps可充分利用每个团队的技能,使之从事各自最擅长的工作,使管道自动化,从而实现快速交付和可再生性。
- 支持快速迭代:通过持续的集成、交付和管道自动化,MLOps可使团队快速迭代。这意味着系统将缩短成功部署的上市时间,并扩大总体部署。
- 生产更丰富的产品:通过在ML生命周期中利用最佳做法,MLOps可以确保团队使用先进的工具和基础架构来支持部署。凭借快速集成的额外能力,团队就有时间进行更多的试验,以提高其产品的准确性。最终,用户将能获得更丰富、更优质的产品体验。
如果在组织中使用MLOps,您将能够交付更大规模的创新性AI解决方案。不仅如此,您还能重复实现。 ?
如何在组织中实施MLOps
显然,在高层次上,MLOps可为ML开发带来有力的积极变化。但您该如何在组织中实际实现MLOps?让我们通过ML生命周期的不同阶段来简化说明:
数据
项目的数据部分涉及几个关键步骤:
- 数据采集:无论您是通过内部、开源还是第三方数据提供商获取数据,都必须设置一个可根据需要持续采集数据的流程。在ML开发生命周期的开始及结束时所需的再训练中都需要大量数据。拥有一致、可靠的新数据来源对项目的成功至关重要。
- 数据清理:这包括删除任何不需要或不相关的数据,或是清理散乱的数据。在某些情况下,可以简单地将数据转换为所需的格式,如CSV文件。其中的一些步骤可以通过自动化实现。
- 数据标注:ML生命周期中最耗时、最具挑战性但也最为关键的阶段可能是标注数据的过程。试图在内部采取这一步骤的公司往往面临资源有限和花费时间太多等问题。其他选择包括雇佣承包商完成工作或众包,将选择范围扩大到更多元化的标注人员。许多公司选择与外部数据提供商合作,后者可以提供大量标注人员、平台和工具,以满足不同的标注需求。部分标注流程还可以自动化,这取决于具体用例和质量需求。
建立连续的数据管道是MLOps实施中的重要步骤。将标注流程视为循环很有帮助,因为您通常会在构建模型流程的后期意识到您需要额外的数据,并且您不会希望从头开始查找并准备这些数据。
模型
在模型构建阶段,需要完成以下工作:
- 模型训练:使用标注数据创建训练集和测试集。在这一步,将使用训练集告诉模型需要学习识别哪些特征。ML中有许多模型训练方法(包括从完全监督到半监督、无监督,以及介于三者之间的各种方法)。您选择的方法将取决于您的用例、可用的资源,以及对您而言重要的指标。某些训练方法可以纳入自动化。
- 模型测试和验证:应根据测试集评估模型的性能,判断模型是否达到所需的KPI。在部署模型之前,必须对整个系统进行验证,以确保其能够按照预期正确地工作。
- 模型部署:模型被部署到生产中;系统上线。
请记住,虽然模型构建属于数据科学家的职责范围,但运营团队应始终了解ML开发的每个阶段。为您的模型开发一个存储库,其中包括完整的历史记录,将有助于实现其中所需的透明度。
后期处理
部署模型之后,您将需要安排一个持续的测试流程。包括:
- 监控:根据KPI持续监控模型。如果模型未能满足任何KPI要求,则应设置警报并制定应对计划。
- 再训练:再训练是ML开发中关键但却往往被忽略的步骤。当外部环境发生变化时,必须根据新数据对模型进行不断地再训练。
确定谁将接管生产后期的监控和再训练。这是利用自动化数据管道来处理所需的再训练的关键所在。 虽然这只是对ML生命周期的简要概述,但关键在于,有很多机会可以自动化这个过程,并使用反馈循环和管道来提高部署速度和可再现性。MLOps的目标应该是避免冗余、充分利用协作,并最终实现创新AI的规模化和交付。 ?