MLOps 实践与 Amazon SageMaker

在机器学习领域,MLOps是一个越来越受到重视的概念,它结合了机器学习和软件开发中的DevOps实践。本文将简要介绍 MLOps 的含义,并探讨Amazon SageMaker这一工具如何简化 MLOps 的实施和管理,从而提高机器学习项目的部署效率并节约时间和成本。对于那些对 MLOps 概念尚不清楚的人来说,了解相关工具将有助于他们更好地理解这一领域。

什么是MLOps

MLOps 一词来源于“机器学习”和软件开发中的“DevOps”实践。这是一个新兴领域,正在迅速获得数据科学家、机器学习工程师和人工智能爱好者的关注。MLOps 是一系列机器学习(ML)从业者遵循的流程,旨在加快 ML 模型在实际项目中的部署,并提高各种项目流程的整合效率。它的目标是在生产环境中以可靠和高效的方式部署可维护的机器学习模型。

MLOps 的优势在于:

  • 统一机器学习和软件应用程序的发布周期。
  • 自动化测试机器学习工件(例如数据验证、ML 模型测试和 ML 模型集成测试)。
  • 将敏捷原则应用于机器学习项目。
  • 支持机器学习模型和构建这些模型的数据集作为 CI/CD 系统中的一等公民。
  • 减少机器学习模型的技术债务。
  • MLOps 必须是一种与语言、框架、平台和基础设施无关的实践。

MLOps 系统需要具备上述特性才能被认为是健壮的。模型工件需要构建得包含所有数据预处理所需的信息。模型工件是训练作业产生的文件集合,这些文件是模型部署所必需的。在 AWS SageMaker API 中,它们是训练模型的结果输出,通常包括训练参数、描述如何计算推断的模型定义以及其他元数据。

构建模型工件后,必须能够跟踪构建它们的代码、它们被训练和测试的数据,以及它们之间的关系。有了这种能力,就可以通过自动化应用程序开发阶段,频繁地将应用程序交付给客户。ML 应用程序可以通过 CI/CD 过程高效地持续部署、集成和交付。

MLOps 工具

使用的工具类型取决于项目的性质。将看到一些工具及其特性,以便理解它们如何最好地适应。这里提到的“工具”一词并没有太多花哨的含义,它只是实现 MLOps 的一种手段。将这些工具视为专业平台管理的一部分。了解工具的特性将解释它们如何在 ML 生命周期的任何部分中使用。以下是该领域中一些最常见的工具。

Amazon SageMaker 是一个基于云的机器学习平台,自 2017 年 11 月推出以来已有五年历史。它在云端创建、训练和部署机器学习模型。Amazon SageMaker 是一个完全托管的机器学习平台,使数据科学家和开发者能够快速构建和训练机器学习模型,然后将其部署到生产环境中。它通过提供诸如 Amazon SageMaker JumpStart 之类的功能,使 ML 工作流程的启动变得更加容易,JumpStart 包含内置算法和预构建的机器学习(ML)解决方案,只需点击几下即可部署。

它包含数百个内置算法和来自模型中心的预训练模型,包括 TensorFlow Hub、PyTorch Hub、HuggingFace 和 MxNet GluonCV。执行常见的机器学习任务变得非常容易。所有这些特性使得实施 MLOps 变得非常容易和快速。Amazon SageMaker 提供 MLOps 帮助开发者自动化和标准化 ML 生命周期中的流程。这通过训练、测试、故障排除、部署和管理 ML 模型提高了生产力。

除了 Amazon SageMaker JumpStart 之外,还有一些其他功能可用于促进MLOps,包括:

  • SageMaker Studio:它提供了一个集成的机器学习环境,用于构建、训练、部署和分析模型。SageMaker Studio 提供了从数据准备到实验再到生产的所有工具,使实施 MLOps 变得方便。
  • SageMaker Ground Truth Plus:这是一个提供数据标注服务的功能,使其可以作为完成的产品在任何项目中使用。它使用专家劳动力提供质量保证,节省时间和降低成本。所有这些都没有建立标注应用程序和管理劳动力的需要。
  • SageMaker Model Building Pipelines:这是一个构建机器学习管道的工具,受益于直接的 SageMaker 集成。这种集成有助于创建管道并设置 SageMaker 项目以进行编排。这有助于改进开发过程中的 MLOps 活动。
  • SageMaker Debugger:这是一个强大的工具,用于确保对错误的控制。它不仅可以检测错误,还可以通过从训练作业中分析它们来发送详细信息,使 ML 模型非常健壮。这些调试器在发现错误或异常时发送警报。它可以识别根本原因,并使用指标和张量对问题采取行动。在训练过程中检查训练参数变得非常容易。
  • SageMaker Model Monitor:监控是列表上的另一个重要特性。监控和分析生产中的模型以检测不期望的情况,例如数据漂移和生产中模型质量的偏差,变得更加容易。它提供了设置实时监控、批量监控或计划监控异步批处理转换作业的能力。可以设置警报,以在模型质量出现偏差时通知。它的功能类似于调试器,只是它不发送模型和数据的错误警报。

这也节省了时间,减少了生产过程中异常或漂移造成的损害。重新训练得到了管理和减少。监控可以设置为监控数据、模型、生产中的模型偏差漂移以及监控生产中的模型特征归因漂移。

  • 了解 MLOps 的工具可以使概念更加实用和容易掌握。
  • MLOps 是一系列机器学习(ML)从业者遵循的流程,以加快 ML 模型在实际项目中的部署,并提高各种项目流程的整合效率。
  • 要使用的 MLOps 工具类型取决于项目的性质。看到它们中的一些和它们的一些特性可以使它们如何最好地适应变得容易理解。
  • Amazon SageMaker 是一个完全托管的机器学习平台,使数据科学家和开发者能够快速构建和训练机器学习模型,然后将其部署到生产环境中。
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485