宣布 Amazon SageMaker 上全托管 MLflow 的全面可用性 新闻博客
宣布 Amazon SageMaker 上全托管 MLflow 的全面可用性 新闻博客
2026-01-27 13:59:49

全面支持的 Amazon SageMaker 上的 MLflow 正式发布

关键要点

Amazon SageMaker 现已正式推出完全托管的 MLflow 功能,简化机器学习生命周期管理。数据科学家可以通过 MLflow 跟踪实验、比较模型、注册最佳模型。使用 SageMaker,用户可以轻松管理 MLflow 环境,而无需担心基础设施。

今天,我们非常高兴地宣布 Amazon SageMaker 上的 完全托管 MLflow 能力 正式推出。MLflow 是一个广泛使用的开源工具,对于帮助机器学习ML团队管理整个 ML 生命周期起着至关重要的作用。通过这一新发布,客户可以轻松设置和管理 MLflow 跟踪服务器,只需几步,简化流程,提高工作效率。

数据科学家和 ML 开发者可以利用 MLflow 跟踪训练模型的多个尝试,将其作为实验中的运行进行比较、评估模型,并将最佳模型注册到模型注册表中。Amazon SageMaker 消除了设置和管理 MLflow 所需的繁重工作,为 ML 管理员提供了一种快速高效的方式,在 AWS 上建立安全且可扩展的 MLflow 环境。

托管 MLflow 的核心组件

在 SageMaker 上实现的完全托管的 MLflow 能力包含三个核心组件:

组件名称描述MLflow 跟踪服务器只需几步,您可以通过 SageMaker Studio 用户界面创建一个 MLflow 跟踪服务器。这个独立的 HTTP 服务器提供多个用于跟踪运行和实验的 REST API 端点,使您能够高效地监控 ML 实验。您还可以使用 AWS 命令行界面CLI 进行更细致的安全自定义。MLflow 后端元数据存储元数据存储是 MLflow 跟踪服务器的重要组成部分,所有与实验、运行和工件相关的元数据都会保留在此,包括实验名称、运行 ID、参数值、指标、标签和工件位置,确保全面跟踪和管理 ML 实验。MLflow 工件存储该组件为在 ML 实验过程中生成的所有工件如训练模型、数据集、日志和图表提供存储位置。利用 Amazon 简单存储服务S3 桶,它为安全高效地存储这些工件提供了客户管理的 AWS 账户。

使用 MLflow 的 Amazon SageMaker 的好处

结合 Amazon SageMaker 与 MLflow,可以简化和增强机器学习工作流程:

全面实验跟踪:在本地集成开发环境IDE、SageMaker Studio 的托管 IDE、SageMaker 训练任务、SageMaker 处理任务和 SageMaker 管道中跟踪 MLflow 实验。完整的 MLflow 能力:全部 MLflow 实验功能如 MLflow 跟踪、MLflow 评估和 MLflow 模型注册表可用,以便轻松比较和评估训练迭代的结果。统一的模型治理:在 MLflow 中注册的模型会自动出现在 SageMaker 模型注册表中,提供统一的模型治理体验,使您能够将 MLflow 模型部署到 SageMaker 推理中,而无需构建自定义容器。高效的服务器管理:使用 SageMaker API 或 SageMaker Studio UI 按需配置、删除和升级 MLflow 跟踪服务器。SageMaker 管理跟踪服务器的扩展、补丁和持续维护,使客户无需管理基础设施。增强的安全性:使用 AWS 身份和访问管理IAM 确保对 MLflow 跟踪服务器的安全访问。编写 IAM 策略以授予或拒绝对特定 MLflow API 的访问,确保 ML 环境的安全性。有效的监控和治理:使用 Amazon EventBridge 和 AWS CloudTrail 监控 MLflow 跟踪服务器的活动,以支持有效的治理。

MLflow 跟踪服务器的前提条件

创建 SageMaker Studio 域 您可以使用 新 SageMaker Studio 体验 创建一个 SageMaker Studio 域。

配置 IAM 执行角色 MLflow 跟踪服务器需要一个 IAM 执行角色,以便将工件读写到 Amazon S3 并在 SageMaker 中注册模型。您可以将 Studio 域执行角色用作跟踪服务器执行角色,也可以为跟踪服务器创建单独的角色。如选择单独创建角色,请参阅 SageMaker 开发者指南 了解 IAM 角色的详细信息。

创建 MLflow 跟踪服务器 在此演练中,我将使用 MLflow 跟踪服务器的默认设置进行创建,包括跟踪服务器 版本2132、跟踪服务器 大小小型和跟踪服务器 执行角色Studio 域执行角色。跟踪服务器的大小决定了其支持的使用量,建议小型跟踪服务器适合最多 25 位用户。如需了解更多跟踪服务器配置,请参考 SageMaker 开发者指南。

飞机加速器免费

要开始,请在您之前创建的 SageMaker Studio 域中选择应用程序下的 MLflow,然后选择 创建。

接下来,提供一个 名称 和 工件存储位置S3 URI 用于跟踪服务器。

创建 MLflow 跟踪服务器的过程可能需要长达 25 分钟。

跟踪和比较训练运行

要开始记录指标、参数和工件到 MLflow,您需要一个 Jupyter Notebook 和在创建步骤中分配的跟踪服务器 ARN。您可以使用 MLflow SDK 跟踪训练运行并利用 MLflow UI 进行比较。

要将 MLflow 模型注册表中的模型注册到 SageMaker 模型注册表中,您需要 sagemakermlflow 插件来通过 AWS Signature V4 进行身份验证。

安装 MLflow SDK 和 sagemakermlflow 插件 在您的 Notebook 中,首先安装 MLflow SDK 和 sagemakermlflow Python 插件。pip install mlflow==2132 sagemakermlflow==010

跟踪实验中的一次运行 复制以下代码到您的 Jupyter Notebook 中。

宣布 Amazon SageMaker 上全托管 MLflow 的全面可用性 新闻博客

python import mlflow import mlflowsklearn from sklearnensemble import RandomForestClassifier from sklearndatasets import loadiris from sklearnmodelselection import traintestsplit from sklearnmetrics import accuracyscore precisionscore recallscore f1score

# 将此替换为您刚创建的跟踪服务器的 ARN arn = YOURTRACKINGSERVERARN

mlflowsettrackinguri(arn)

# 加载 Iris 数据集 iris = loadiris() X y = irisdata iristarget

# 将数据拆分为训练集和测试集 Xtrain Xtest ytrain ytest = traintestsplit(X y testsize=02 randomstate=42)

# 训练随机森林分类器 rfmodel = RandomForestClassifier(nestimators=100 randomstate=42) rfmodelfit(Xtrain ytrain)

# 在测试集上进行预测 ypred = rfmodelpredict(Xtest)

# 计算评估指标 accuracy = accuracyscore(ytest ypred) precision = precisionscore(ytest ypred average=weighted) recall = recallscore(ytest ypred average=weighted) f1 = f1score(ytest ypred average=weighted)

# 启动 MLflow 运行 with mlflowstartrun() # 日志记录模型 mlflowsklearnlogmodel(rfmodel randomforestmodel)

   # 日志记录评估指标   mlflowlogmetric(accuracy accuracy)   mlflowlogmetric(precision precision)   mlflowlogmetric(recall recall)   mlflowlogmetric(f1score f1)

在 MLflow UI 中查看您的运行 一旦您运行了第 2 步中的 Notebook,您将在 MLflow UI 中看到一个新的运行。

比较运行 您可以通过更改 randomstate 多次运行此 Notebook,以生成不同的指标值。

注册候选模型

在比较了多个运行后,您可以在 MLflow 模型注册表中注册指标最符合您要求的模型。注册模型表明该模型在生产部署中有潜力,并将进行进一步测试以验证其适合性。一旦模型在 MLflow 中注册,它会自动出现在 SageMaker 模型注册表中,从而提供统一的模型治理体验,使您能够将 MLflow 模型部署到 SageMaker 推理中。这使得主要使用 MLflow 进行实验的数据科学家能将其模型交给负责和管理生产部署的 ML 工程师使用 SageMaker 模型注册表。

以下是在 MLflow 模型注册表中注册的模型。

这里是注册到 SageMaker 模型注册表中的模型。

清理

一旦创建,MLflow 跟踪服务器将产生费用,直到您删除或停止它。对于跟踪服务器的计费基于服务器的运行时、选择的大小和记录到跟踪服务器的数据量。您可以在不使用时停止跟踪服务器以节省费用,或者使用 API 或 SageMaker Studio UI 删除它们。有关定价的更多细节,请参见 Amazon SageMaker 定价。

现在可用

带有 MLflow 的 SageMaker 在所有 AWS 区域 正式发布中国和美国政府云区域除外。我们邀请您探索这一新功能,体验它为您的机器学习项目带来的效率和控制提升。要了解更多信息,请访问 SageMaker 与 MLflow 的 产品详细页面。

有关更多信息,请访问 SageMaker 开发者指南,并通过 AWS rePost for SageMaker 或您通常的 AWS 支持联系提交反馈。

Veliswa

Veliswa Boya

Veliswa Boya 是一名高级开发者倡导者,驻扎在南非,并与撒哈拉以南非洲的构建者社区紧密合作。她在技术行业经历了多种角色,从开发者到分析师,从架构师到云工程师,现在成为开发者倡导者。Veliswa 特别喜欢与初涉技术的人士合作,以及那些刚开始使用 AWS 的用户。