与 DVC 和 Amazon SageMaker AI MLflow 应用程序的端到端沿袭

在这篇文章中,我们将展示如何结合 DVC(数据版本控制)、Amazon SageMaker AI 和 Amazon SageMaker AI MLflow 应用程序来构建端到端 ML 模型谱系。我们将介绍两种可部署模式——数据集级沿袭和记录级沿袭——您可以使用配套笔记本在自己的 AWS 账户中运行这两种模式。

来源:亚马逊云科技 _机器学习

生产机器学习 (ML) 团队很难通过数据和训练模型的代码、它使用的确切数据集版本以及证明其部署合理性的实验指标来追踪模型的完整谱系。如果没有这种可追溯性,就会出现诸如“哪些数据训练了当前生产中的模型?”之类的问题。或者“我们可以重现六个月前部署的模型吗?”通过分散的日志、笔记本和 Amazon Simple Storage Service (Amazon S3) 存储桶进行多天的调查。这种差距在受监管的行业中尤其严重。例如,医疗保健、金融服务、自动驾驶汽车等领域的审计要求要求您将部署的模型与其精确的训练数据相关联,并且可能需要根据要求从未来的培训中排除个别记录。

在这篇文章中,我们展示了如何结合使用三种工具来缩小这一差距:

我们将介绍两种可部署模式:数据集级沿袭和记录级沿袭,您可以使用配套笔记本在您自己的 AWS 账户中端到端运行这两种模式。

解决方案概述

该架构将 DVC、SageMaker AI 和 SageMaker AI MLflow 应用程序集成到单个工作流程中,其中每个模型都可以追溯到其确切的训练数据。

每个工具都扮演着不同的角色:

数据流经四个阶段:

  • SageMaker AI 处理作业预处理原始数据并使用 DVC 对处理后的数据集进行版本控制,将数据推送到 S3,将元数据推送到 Git 存储库。
  • SageMaker AI 训练作业会在特定的 Git 标签处克隆 DVC 存储库,运行 dvc pull 以检索确切的版本数据集,训练模型,并将所有内容记录到 MLflow。
  • 每次 MLflow 训练运行都会记录 data_git_commit_id,它是指向 Amazon S3 中确切数据集的 DVC 提交哈希。
  • 经过训练的模型在 MLflow 模型注册表中注册,并且可以部署到 SageMaker AI 端点。
  • 这将创建一个完整的可追溯链:生产模型 → MLflow 运行 → DVC 提交 → Amazon S3 中的精确数据集。

    先决条件