机器学习运维 (MLOps) 指助力企业组织开发、部署和维护生产级机器学习和 AI 系统的原理、实践、文化和工具。
MLOps 是机器学习运维的简称,是一套旨在简化机器学习 (ML) 模型在生产环境中的开发、部署和维护的实践和原则。它集机器学习、数据工程、软件工程和站点运维等多个领域于一体,为机器学习项目打造更高效、更可靠的工作流。MLOps 强调在整个机器学习生命周期中实现自动化、协作和持续改进——从探索性分析、数据准备和模型开发,到部署、监控和持续优化。
下图展示了一个典型的机器学习发现工作流,呈现了机器学习团队如何将实验成果转化为生产系统。该工作流包含七个阶段,每个阶段都为下一阶段提供信息,并涉及四种典型角色:数据科学家,负责发现并利用数据结构解决业务问题;业务分析师,通过查询和仪表板对结构化数据进行特征化;数据工程师,负责大规模提供可靠、洁净的数据;以及工程团队,专注于构建和维护生产系统。由于软件开发通常是迭代的,因此机器学习团队可以根据在后续流程中获得的知识,重新审视在早期阶段做出的决策。
MLOps 是现有开发运维 ( DevOps) 学科的延伸,DevOps 则是现代高效编写、部署和运行企业应用程序的实践。DevOps 的核心洞见在于,应用程序构建、维护和运营之间的相互关联程度比软件团队以往所理解的更为深入。因此,让开发运维或 IT 团队各自为政是不合理的。DevOps 活动的一些典型进步包括:
理想情况下,这些 DevOps 实践能够带来更高的团队效率、更优的质量和更强的应用程序可靠性。它们还可帮助构建复杂的分布式应用程序的团队减轻变化和缺陷带来的影响。由于机器学习系统本质上是复杂的软件系统,这些方法使得开发机器学习系统成为可能。然而,机器学习系统还有额外考量,例如管理静态和动态数据、在开发和生产中设计和跟踪涉及更多实验的相关数据、以及为生产软件中实现实验洞察提供途径。
机器学习系统带来了巨大的工程挑战。数据集规模庞大且不断增长,并可能实时变化。杂乱或不断变化的数据会显著影响机器学习系统的预测性能。AI 模型需要在实验、调优和再训练的循环中进行仔细跟踪。MLOps 需要一个强大的 AI 基础设施,能够随着公司发展而扩展。为此,许多公司使用 NVIDIA DGX™ 平台和 NVIDIA AI Enterprise,后者包含 TAO 工具套件、NVIDIA Triton Inference Server™、RAPIDS 等 AI 工具和框架。
AI 运维的术语繁杂,很容易让人混淆,但有一点是明确的:整个行业已围绕 MLOps 达成共识。
相比之下,AIOps 是一种使用机器学习实现 IT 功能自动化的狭义实践。AIOps 的一个组成部分是 IT 运维分析 (ITOA),其通过检查 AIOps 生成的数据找出改进 IT 实践的方法。
同样,一些人创造了 DataOps 和 ModelOps 这两个术语,分别指代用于创建和管理数据集以及 AI 模型的人员和流程。这两者是 MLOps 拼图的重要组成部分——在 NVIDIA,我们使用这两个概念来描述 MLOps 工具的类别。
有趣的是,每月都有数千人搜索 DLOps 的含义。虽然有些人可能认为 DLOps 是深度学习的 IT 运维,但业界却改用 MLOps 这一术语,因为深度学习是机器学习这一更广泛的领域的一部分。
MLOps 和 GenAIOps 都是 AI 技术的运维框架,但它们在侧重点和范围上有显著不同。MLOps 是一个总括性概念,涵盖了在生产环境中进行端到端机器学习系统开发和运营的核心工具、流程和最佳实践。GenAIOps 则扩展了 MLOps,将其用于开发和运营生成式 AI 解决方案。GenAIOps 的显著特点是对基础模型的管理和交互。
MLOps 主要处理传统的机器学习模型,专注于模型训练、部署、监控和性能优化,而 GenAIOps 专为生成式 AI 技术量身定制,解决了管理和运维生成式 AI 解决方案所面临的独特挑战。
让我们再次审视机器学习工作流,了解支持该流程各阶段的不同类型的工具:
端到端平台代表了最顶尖的类别,包括集成了控制面板并支持多个生命周期阶段的机器学习平台。值得注意的是,术语“端到端”并非价值评判或完备性声明,仅表明某项产品覆盖了生命周期的广泛部分,并设计为可独立运行。由于机器学习平台代表了集成解决方案,它们是开启 MLOps 之旅的理想起点。
数据整理工具包括数据探索、可视化和高层级联合功能、传统的商业智能和分析解决方案,以及针对非结构化数据(如自然语言文本、语音、图像或视频)的标注技术。您要解决的问题类型将决定这些资源中的哪些与您的工作流最为相关。
交互式开发解决方案提供一个控制面板,使数据科学和机器学习从业者能够按需访问计算资源。这些方案通常提供用于管理开发环境的功能,并与外部版本控制系统、桌面 IDE 和其他独立的开发者工具集成,从而促进团队内部协作。
实验管理产品提供了一种的方法来跟踪各种模型配置的结果以及带版本的代码和数据,以了解模型性能随时间的变化。AutoML 系统建立在实验管理的基础上,自动搜索给定技术可能的技术和超参数空间,以最小的从业者投入生成经过训练的模型。
数据管理框架支持数据仓库、版本控制、溯源、摄取和权限控制。数据版本控制和数据溯源是构建可复现机器学习系统的关键组件。
特征管理和工作流管理工具提供了两种互补的方法来实现数据处理、开发到生产工作流和协作。特征存储库使用户能够跟踪用于开发和生产环境的衍生、聚合或高计算成本的特征及其来源。工作流管理解决方案提供了一种方法来声明用于生成数据和模型的可复现工作流,管理编排,并监控探索和生产工作流中涉及的多个软件组件。
ModelOps 平台可解决将模型发布为可部署服务、管理和扩展这些服务以及监控其输出(特别是用于检测数据漂移)的问题。
基础设施管理提供用于调度底层硬件或云资源上计算作业和服务的接口。特别是对于机器学习,其关键功能包括为训练作业预留多个节点,以及请求具有特定内存容量或 GPU 的资源。
有关这些类别的更多详情,请参阅 NVIDIA 技术博客上的《揭秘企业 MLOps》。
MLOps 为企业组织实施机器学习项目带来了诸多好处,并在多个维度上提供了显著优势:
随着企业努力实施和扩展机器学习运维时,MLOps 面临着几个关键的技术挑战。不同的机器学习问题对机器学习系统提出了不同的要求。涉及非结构化数据的问题 (如理解视频、音频或自然语言),在标注训练样本时所需的工作量 (包括人工标注) 远高于涉及表格化业务数据的问题,后者的标注工作通常可以忽略不计甚至实现自动化。有些问题更适合仅需从单一来源获取即时可用数据的模型,而另一些方法和问题则需要将来自多个来源的历史和聚合数据结合新的观测结果进行预测。机器学习的新型应用可能受益于对实验性和探索性开发的更好支持,而成熟的系统可能更多受益于开发流程的自动化。最后,用于制定关乎人身安全、操控危险设备、管理金融资产等关键决策的智能系统,必须在各类场景下完成仿真测试,涵盖低概率极端场景与对抗性场景,以此验证系统的实用性与安全性。如果您所处理的业务存在特殊业务诉求,请确保您所使用的 MLOps 解决方案能够帮助您满足这些要求。
目前有超过 100 家 MLOps 软件和服务提供商与 NVIDIA 合作。软件提供商包括:
云服务提供商已将 MLOps 集成到 NVIDIA 加速平台中,包括: