使用 Amazon SageMaker 和 mlFlow 管理机器学习实验 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Amazon SageMaker 和 mlFlow 管理机器学习实验

SageMaker Amazon with mlFlow 是亚马逊 SageMaker 的一项功能,可让您创建、管理、分析和比较您的机器学习实验。

机器学习中的实验

机器学习是一个迭代过程,需要对数据、算法和参数的各种组合进行实验,同时观察它们对模型精度的影响。机器学习实验的迭代性质导致了大量的模型训练运行和版本,这使得跟踪性能最佳的模型及其配置变得困难。随着生成式人工智能(生成式人工智能),管理和比较迭代训练的复杂性会增加,在这种人工智能(生成人工智能)中,实验不仅涉及微调模型,还涉及探索创造性和多样化的输出。研究人员必须调整超参数,选择合适的模型架构,并整理不同的数据集,以优化生成内容的质量和创造力。评估生成式人工智能模型需要定量和定性指标,这给实验过程增加了另一层复杂性。

使用 MLFlow with Amazon SageMaker 来跟踪、组织、查看、分析和比较迭代机器学习实验,以获得比较见解,注册和部署性能最佳的模型。

mlFlow 集成

在训练和评估模型时使用 mlFlow,为您的用例找到最佳候选模型。您可以在 mlFlow UI 中比较各实验中的模型性能、参数和指标,在 mlFlow 模型注册表中跟踪您的最佳模型,自动将其注册为 SageMaker 模型,并将注册的模型部署到 SageMaker 端点。

SageMaker 带有 mlFlow 的亚马逊

使用 mlFlow 跟踪和管理机器学习 (ML) 生命周期的实验阶段,并 Amazon 集成模型开发、管理、部署和跟踪。

亚马逊 SageMaker Studio

创建和管理跟踪服务器,运行笔记本来创建实验,访问 mlFlow 用户界面以查看和比较通过 Studio 运行的实验。

SageMaker 模型注册表

通过自动将模型从 mlFlow 模型注册表注册到模型注册表来管理模型版本和生产目录 SageMaker 模型。有关更多信息,请参阅 在 “ SageMaker 模型注册表” 中自动注册 SageMaker 模型

SageMaker 推断

使用准备要在 SageMaker 终端上部署的最佳模型ModelBuilder。有关更多信息,请参阅 使用部署 mlFlow 模型 ModelBuilder

Amazon Identity and Access Management

使用基于角色的访问控制 (RBAC) 和 IAM 配置对 mlFlow 的访问权限。编写 IAM 身份策略以授权 mlFlow 跟踪服务器的客户端可以调用的 mlFlow API。所有 mlFlow REST API 都表示为sagemaker-mlflow服务前缀下的 IAM 操作。有关更多信息,请参阅 为 mlFlow 设置 IAM 权限

Amazon CloudTrail

查看登录信息 Amazon CloudTrail ,帮助您启用 Amazon 账户的运营和风险审计、监管和合规性。有关更多信息,请参阅 Amazon CloudTrail 日志

Amazon EventBridge

使用亚马逊 EventBridge捕获的 mlFlow 事件,自动执行模型审查和部署生命周期。有关更多信息,请参阅 亚马逊 EventBridge 活动

支持的 Amazon Web Services 区域

Amazon SageMaker with mlFlow 通常在所有可用 Amazon SageMaker Studio 的 Amazon 商业区域上市,但中国地区和 Amazon GovCloud (US) 地区除外。

跟踪服务器在其指定区域内的单个可用区中启动。

工作方式

MLFlow 跟踪服务器有三个主要组件:计算、后端元数据存储和构件存储。托管跟踪服务器和后端元数据存储的计算安全地托管在 SageMaker 服务帐户中。项目存储位于您自己 Amazon 账户的 Amazon S3 存储桶中。

该图表显示 mlFlow 跟踪服务器的计算和元数据存储位于 SageMaker 服务账户中,mlFlow 跟踪服务器的项目存储位于客户账户的 Amazon S3 存储桶中。

跟踪服务器具有 ARN。您可以使用此 ARN 将 mlFlow SDK 连接到您的跟踪服务器,然后开始将训练运行记录到 mlFlow。

请继续阅读以获取有关以下关键概念的更多信息:

后端元数据存储

创建 mlFlow Tracking Server 时,会在 SageMaker服务帐户中自动配置并完全为您管理一个后端存储,该存储库会保存每次运行的各种元数据,例如运行 ID、开始和结束时间、参数和指标。

Artical 存储空间

要为 MLFlow 提供每次运行的元数据(例如模型权重、图像、模型文件和实验运行的数据文件)的永久存储空间,您必须使用 Amazon S3 创建工件存储。必须在您的 Amazon 账户中设置工件存储,并且必须明确授予 MLFlow 访问 Amazon S3 的权限才能访问您的工件存储。有关更多信息,请参阅 mlFlow 文档中的 A rtifact St ores。

mlFlow 跟踪服务器的大小

您可以选择在 Studio 用户界面中或使用 Amazon CLI 参数指定跟踪服务器的大小--tracking-server-size。您可以在"Small""Medium"、和之间进行选择"Large"。MLFlow 跟踪服务器的默认配置大小为"Small"。您可以根据跟踪服务器的预计使用情况(例如记录的数据量、用户数量和使用频率)来选择大小。

我们建议为最多 25 个用户的团队使用小型跟踪服务器,为最多 50 个用户的团队使用中型跟踪服务器,为最多 100 个用户的团队使用大型跟踪服务器。我们假设所有用户都将同时向您的 mlFlow 跟踪服务器发出请求以提出这些建议。您应根据预期的使用模式和每个跟踪服务器支持的 TPS(每秒事务数)来选择跟踪服务器的大小。

注意

您的工作负载的性质和您向跟踪服务器发出的请求类型决定了您看到的 TPS。

追踪服务器大小 持续 TPS Burst TPS
小型 最多 25 最多 50
最多 50 最多 100
大型 最多 100 最多 200

跟踪服务器版本

以下 mlFlow 版本可用于: SageMaker

mlFlow 版本 Python 版本
mlFlow 2.13.2 Python 3.8 或更高版本

Amazon CloudTrail 日志

Amazon CloudTrail 自动记录与您的 mlFlow 跟踪服务器相关的活动。以下 API 调用已登录 CloudTrail:

  • CreateMlflowTrackingServer

  • DescribeMlflowTrackingServer

  • UpdateMlflowTrackingServer

  • DeleteMlflowTrackingServer

  • ListMlflowTrackingServers

  • CreatePresignedMlflowTracking服务器

  • StartMlflowTrackingServer

  • StopMlflowTrackingServer

有关的更多信息 CloudTrail,请参阅《Amazon CloudTrail 用户指南》

亚马逊 EventBridge 活动

用于 EventBridge 将事件从使用 mlFlow 与一起路由 SageMaker 到整个组织的使用者应用程序。以下事件会被发送到 EventBridge:

  • “正在创建SageMaker 跟踪服务器”

  • “已创建SageMaker 跟踪服务器”

  • “创建SageMaker 跟踪服务器失败”

  • “正在SageMaker 跟踪服务器更新”

  • “SageMaker 追踪服务器已更新”

  • “SageMaker 跟踪服务器更新失败”

  • “正在删除SageMaker 跟踪服务器”

  • “SageMaker 追踪服务器已删除”

  • “删除SageMaker 跟踪服务器失败”

  • “SageMaker 正在启动跟踪服务器”

  • “SageMaker 跟踪服务器已启动”

  • “SageMaker 跟踪服务器启动失败”

  • “正在停止SageMaker 跟踪服务器”

  • “SageMaker 跟踪服务器已停止”

  • “SageMaker 跟踪服务器停止失败”

  • “正在SageMaker 跟踪服务器维护”

  • “SageMaker 跟踪服务器维护已完成”

  • “SageMaker 跟踪服务器维护失败”

  • “SageMaker mlFlow 跟踪服务器正在创建运行”

  • “SageMaker mlFlow 跟踪服务器正在创建 RegisteredModel”

  • “SageMaker mlFlow 跟踪服务器正在创建 ModelVersion”

  • “SageMaker mlFlow 跟踪服务器过渡阶段 ModelVersion ”

  • “SageMaker mlFlow 跟踪服务器设置注册模型别名”

有关的更多信息 EventBridge,请参阅 Amazon EventBridge 用户指南