随着数字化和计算能力的发展,机器学习(Machine Learning)技术在提高企业生产力方面所涌现的潜力越来越被大家所重视,然而很多机器学习的模型及应用在实际的生产环境并未达到预期,大量的 ML 项目被证明是失败的。从机器学习的发展历程来看,早期 ML 社区广泛关注的是 ML 模型的构建,确保模型能在预定义的测试数据集上取得较好的表现,但对于如何让模型从实验室走向用户的桌面,并未大家所关注。
机器学习的生命周期涉及众多的流程,如数据的获取、数据准备、模型训练、模型的调整、模型的部署、模型监控、模型的可解释性等,不同的流程涉及不同的流程工具和人员,需要跨团队的协作和交接,从数据工程到数据科学再到 ML 工程。在此背景下,如何保障生产中以下诸多目标是我们亟待解决的。譬如实现更快的模型开发、交付更高质量的 ML 模型以及更快的部署和生产;同时监督、控制、管理和监视数千个模型,以实现持续集成、持续交付和持续部署;加强对模型的监管审查,提高模型透明度,确保更好地遵守组织或行业的政策。
尤其是 LLM 模型时代,伴随着 AGI 的到来,机器学习模型的规模和复杂性也在不断增加。这意味着将这些模型部署到生产环境的难度也在上升,需要更加专业化的工具和方法来管理和监控。
MLOps(Machine Learning Operations)是一种将机器学习(ML)模型整合到生产环境中的实践,目的是确保模型在生产过程中的有效性和可靠性。 通过采用 MLOps 方法,数据科学家和机器学习工程师可以协作并加快模型开发和生产的步伐,方法是实施持续集成和部署 (CI/CD) 实践,并对 ML 模型进行适当的监控、验证和治理。使得机器学习模型从实验室走向生产环境,加速了机器学习的落地和商业化。
MLOps 是一组特定于机器学习项目的工程实践,借鉴了软件工程中更广泛采用的 DevOps 原则。DevOps 为交付应用程序带来了一种快速、持续迭代的方法,而 MLOps 则借用了相同的原则将机器学习模型投入生产。在这两种情况下,结果都是更高的软件质量、更快的补丁和发布以及更高的客户满意度。
MLOps 和 DevOps 都是旨在简化和自动化软件应用程序开发和部署的方法。DevOps 专注于一般软件开发流程和 IT 运营,但 MLOps 专门针对机器学习应用程序的独特挑战和复杂性。 但这两种方法都旨在提高软件应用程序开发、部署和管理中的协作、自动化和效率。
图 1 MLOps 实施原则
MLOps 的实施原则是指导如何让我们在 MLOps 中实践。
图 2 MLOps 工作流程
图 3 MLOps 涉及的人员角色
MLOps(机器学习运维)是一种方法,旨在加速机器学习应用程序的开发、部署和维护。 为了实现这一目标,MLOps 使用了许多基础设施和工具。
这些基础设施和工具的目标是帮助数据科学家、机器学习工程师和运维团队更有效地协作,以便更快地开发、部署和维护机器学习应用程序。
模型监控作为 MLOps 中重要的环节,基于模型功能和运行时的一系列指标,可以实时监控模型的表现和运行情况,为模型重新训练及部署调整提供反馈信息。相比于通用的应用程序监控,模型监控一般分为模型功能监控和运维监控。
模型监控包括,一是数据监控,对数据及特征进行监控,识别数据漂移情况,保障数据的及时、准确和完整性等;二是模型性能监控,对模型的性能指标 (准确率、召回率等) 进行评估,保障模型结果的可信;三是模型效果监控,根据模型服务的推理结果,监控业务指标,保障业务目标的达成。
运维监控包括,一是基础设施监控,对主机或容器的健康状况、 资源 (CPU、GPU 等) 使用率、I/O 占用率等进行监控,保障运行环 境的稳定;二是服务监控,对模型服务性能 (服务数量、访问量、时延、并发等)、异常调用等进行监控,保障模型服务的可靠性;三是过程监控,对各任务或流水线的运行情况 (执行结果、SLA 等) 进行 监控,保障模型生产过程的稳定和可靠。
图 4 模型监控指标
云智慧作为国内全栈式智能运维服务解决方案提供商,拥有全面的数据采集、数据清洗、数据存储、数据分析、数据智能挖掘、数据可视化等能力,为模型监控提供解决方案。
图 5 云智慧架构图
服务链路监控可以通过对系统中各种服务之间的关系、性能、稳定性进行实时监控,以确保系统整体性能和稳定性。
通过对服务链路的监控,运维人员可以实时了解系统各个环节的性能状况,从而及时发现并处理潜在问题,提高系统的可靠性和稳定性;可以帮助运维人员快速定位故障发生的环节,从而缩短故障处理时间,降低故障对业务的影响;通过对服务链路的监控,运维人员可以发现系统中资源利用不均衡的情况,从而合理调整资源分配,提高整体资源利用效率等。
主机 CPU、内存、网络监控是系统运行的关键组成部分,分别对应不同的系统资源。它们的作用主要在于确保系统性能稳定、优化资源利用率以及及时发现和解决潜在问题。
GPU(图形处理器)是专门用于处理图像、视频和计算密集型任务的处理器。随着近年来深度学习、大数据处理等领域的发展,GPU 的监控的需求越来越广泛。
模型元信息管理: 如果您想确保部署正确的版本,那么在生产中监控模型版本至关重要。可以通过将再训练管道配置为在训练后自动报告模型版本并将元数据记录到元数据存储来监控模型版本。版本历史应该与模型预测一起记录到评估存储中,这样问题将更容易与模型版本相关联。
数据漂移监控: 数据漂移是指训练数据和生产数据之间的分布发生有意义的变化。输入数据分布的变化会随着时间的推移影响模型性能,尽管它比数据质量问题的过程要慢。
监控生产中的模型输出不仅是模型性能的指标,而且还能告诉我们是否达到了业务 KPI。在模型预测方面,重要的监控是模型性能符合业务指标。使用指标来评估模型性能是在生产中监控模型的重要组成部分。这里可以使用不同的指标,例如分类、回归、聚类、强化学习等。我们通常使用预定义的模型评分指标(准确性、AUC、精度等)来评估模型。
结语
MLOps 将会越来越受到关注和重视。随着人工智能技术的不断发展和应用,MLOps 将成为机器学习应用的必要条件。为了应对 MLOps 的挑战,我们需要采用多种实践,包括数据质量和准备、模型部署和管理、监控和更新、管理不确定性和变化等。同时,我们还需要不断探索和研究新的技术和方法,以实现 MLOps 的自动化和智能化。
在这过程中,智能运维行业将会发挥重要的作用:
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。