本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon SageMaker 进行机器学习实验 MLflow
SageMaker Amazon with MLflow SageMaker 是 Amazon 的一项功能,可让您创建、管理、分析和比较您的机器学习实验。
机器学习中的实验
机器学习是一个迭代过程,需要对数据、算法和参数的各种组合进行实验,同时观察它们对模型精度的影响。机器学习实验的迭代性质导致了大量的模型训练运行和版本,这使得跟踪性能最佳的模型及其配置变得困难。随着生成式人工智能(生成式人工智能),管理和比较迭代训练的复杂性会增加,在这种人工智能(生成人工智能)中,实验不仅涉及微调模型,还涉及探索创造性和多样化的输出。研究人员必须调整超参数,选择合适的模型架构,并整理不同的数据集,以优化生成内容的质量和创造力。评估生成式人工智能模型需要定量和定性指标,这给实验过程增加了另一层复杂性。
MLflow与 Amazon SageMaker 配合使用,跟踪、组织、查看、分析和比较迭代机器学习实验,以获得比较见解,注册和部署性能最佳的模型。
MLflow集成
MLflow在训练和评估模型时使用,以找到最适合您的用例的候选模型。您可以在MLflow用户界面中比较不同实验中的模型性能、参数和指标,在模型注册表中跟踪您的最佳MLflow模型,自动将其注册为 SageMaker 模型,并将注册的模型部署到 SageMaker 端点。
Amazon w SageMaker ith MLflow
MLflow用于跟踪和管理机器学习 (ML) 生命周期的实验阶段,并 AWS 集成模型开发、管理、部署和跟踪。
亚马逊 SageMaker Studio
创建和管理跟踪服务器,运行笔记本来创建实验,访问MLflow用户界面以查看和比较通过 Studio 运行的实验。
SageMaker 模型注册表
通过自动将模型从 “模型注册表” 注册到 “模型注册表”,管理用于生产的MLflow模型版本和目录 SageMaker 模型。有关更多信息,请参阅 在 “ SageMaker 模型注册表” 中自动注册 SageMaker 模型。
SageMaker 推断
使用准备要在 SageMaker 终端上部署的最佳模型ModelBuilder
。有关更多信息,请参阅 使用部署MLflow模型 ModelBuilder。
AWS Identity and Access Management
MLflow使用基于角色的访问控制 (RBAC) 配置对的访问权限。IAM编写IAM身份策略MLflowAPIs以授权MLflow跟踪服务器的客户端可以调用。所有操作MLflowRESTAPIs都表示为sagemaker-mlflow
服务前缀下的IAM操作。有关更多信息,请参阅 为设置IAM权限 MLflow。
AWS CloudTrail
查看登录信息 AWS CloudTrail ,帮助您启用 AWS 账户的运营和风险审计、监管和合规性。有关更多信息,请参阅 AWS CloudTrail 日志。
亚马逊 EventBridge
使用 Amazon 捕获MLflow的事件自动执行模型审查和部署生命周期 EventBridge。有关更多信息,请参阅 亚马逊 EventBridge 活动。
支持 AWS 区域
SageMaker Amazon MLflow with 通常在所有提供 Amazon SageMaker Studio 的 AWS 商业区域推出,但中国地区和 AWS GovCloud (US) 地区除外。 SageMakerwith MLflow 仅适用于欧洲(苏黎世)、亚太地区(海得拉巴)、亚太地区(墨尔本)和加拿大西部(卡尔加里) AWS 区域。 AWS CLI
跟踪服务器在其指定区域内的单个可用区中启动。
工作方式
MLflow跟踪服务器有三个主要组件:计算、后端元数据存储和构件存储。托管跟踪服务器和后端元数据存储的计算安全地托管在 SageMaker 服务帐户中。项目存储位于您自己 AWS 账户的 Amazon S3 存储桶中。
跟踪服务器有一个ARN。你可以用它ARN来连接你的跟踪服务器,然后开始将你的训练记录到MLflow。MLflow SDK
请继续阅读以获取有关以下关键概念的更多信息:
后端元数据存储
创建 Trac MLflow king Server 时,会在 SageMaker服务帐号中自动配置并完全为您管理后端存储
Artical 存储空间
要为每次运行的元数据(例如模型权重、图像、模型文件和实验运行的数据文件)提供MLflow永久存储空间,您必须使用 Amazon S3 创建工件存储。必须在您的 AWS 账户中设置工件存储,并且必须明确授予MLflow对 Amazon S3 的访问权限才能访问您的工件存储。有关更多信息,请参阅MLflow文档中的 A rtifact St
MLflow跟踪服务器大小
您可以选择在 Studio 用户界面中或使用 AWS CLI 参数指定跟踪服务器的大小--tracking-server-size
。您可以在"Small"
"Medium"
、和之间进行选择"Large"
。默认的MLflow跟踪服务器配置大小为"Small"
。您可以根据跟踪服务器的预计使用情况(例如记录的数据量、用户数量和使用频率)来选择大小。
我们建议为最多 25 个用户的团队使用小型跟踪服务器,为最多 50 个用户的团队使用中型跟踪服务器,为最多 100 个用户的团队使用大型跟踪服务器。我们假设所有用户都将同时向您的MLflow跟踪服务器发出请求以提出这些建议。您应根据预期的使用模式和每个跟踪服务器支持的TPS(每秒事务数)来选择跟踪服务器的大小。
注意
您的工作负载的性质和您向跟踪服务器发出的请求类型决定了TPS您所看到的。
跟踪服务器大小 | 持续 TPS | 爆发 TPS |
---|---|---|
小型 | 最多 25 | 最多 50 |
中 | 最多 50 | 最多 100 |
大型 | 最多 100 | 最多 200 |
跟踪服务器版本
以下MLflow版本可供使用 SageMaker:
MLflow版本 | Python 版本 |
---|---|
MLflow2.13.2 |
Python 3.8 |
AWS CloudTrail 日志
AWS CloudTrail 自动记录与您的MLflow跟踪服务器相关的活动。以下API呼叫已登录 CloudTrail:
-
CreateMlflowTrackingServer
-
DescribeMlflowTrackingServer
-
UpdateMlflowTrackingServer
-
DeleteMlflowTrackingServer
-
ListMlflowTrackingServers
-
CreatePresignedMlflowTrackingServer
-
StartMlflowTrackingServer
-
StopMlflowTrackingServer
有关的更多信息 CloudTrail,请参阅《AWS 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 用户指南。