

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

# 使用 Amazon MLflow 上托管的 AI 加速生成式 A SageMaker I 开发
<a name="mlflow"></a>

Amazon A SageMaker I 上的完全托管 MLflow 3.0 使您能够使用单个工具更轻松地跟踪实验并监控模型和 AI 应用程序的性能，从而加速生成式 AI。

**使用 MLflow 3.0 进行生成式人工智能开发**

随着各行各业的客户加快自己的生成式人工智能开发，他们需要能够跟踪实验、观测行为以及评估模型和人工智能应用程序的性能。数据科学家和开发人员缺乏得力的工具来分析模型和人工智能应用程序从实验到生产的性能，因此很难找出问题的根本原因并解决问题。与改进模型或生成式人工智能应用程序相比，团队将更多的时间花费在集成工具上。

训练或微调生成式人工智能和机器学习是一个迭代过程，需要对数据、算法和参数的各种组合进行试验，同时观察它们对模型准确性的影响。实验的迭代特性会产生无数的模型训练运行和版本，因此跟踪性能最佳的模型及其配置充满挑战。管理和比较迭代训练的复杂性随着生成式人工智能的出现而增加，在生成式人工智能中，实验不仅涉及微调模型，还涉及探索创造性和多样化的输出。研究人员必须调整超参数，选择合适的模型架构，并策划多样化的数据集，以优化生成内容的质量和创造性。评估生成式人工智能模型需要定量和定性指标，这给实验过程增加了另一层复杂性。Amazon A SageMaker I 上的 MLflow 3.0 版实验跟踪功能使您能够跟踪、组织、查看、分析和比较迭代机器学习实验，以获得比较见解，并注册和部署性能最佳的模型。

完全托管 MLflow 3.0 中的跟踪功能使您能够记录生成式 AI 应用程序的每个步骤的输入、输出和元数据，从而帮助您快速识别错误或意外行为的来源。通过维护每个模型和应用程序版本的记录，完全托管 MLflow 3.0 提供了将 AI 响应连接到其源组件的可追溯性，使您可以快速将问题直接追踪到生成问题的特定代码、数据或参数。此举大大缩短了故障排除时间，使团队能够将更多精力集中在创新上。

## MLflow 集成
<a name="mlflow-integrations"></a>

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

**带有 Amazon SageMaker AI MLflow**

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

**亚马逊 SageMaker Studio**

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

**SageMaker 模型注册表**

通过自动将模型从 “模型注册表” 注册到 “模型注册表”，管理用于生产的 MLflow 模型版本和目录 SageMaker 模型。有关更多信息，请参阅 [在模型注册表中自动注册 SageMaker AI SageMaker 模型](mlflow-track-experiments-model-registration.md)。

**SageMaker AI 推理**

使用准备要在 SageMaker AI 终端上部署的最佳模型`ModelBuilder`。有关更多信息，请参阅 [使用部署 MLflow 模型 `ModelBuilder`](mlflow-track-experiments-model-deployment.md)。

**AWS Identity and Access Management**

在 IAM 中 MLflow 使用基于角色的访问控制 (RBAC) 配置访问权限。编写 IAM 身份策略以授权 MLflow跟踪服务器的客户端可以调用。 MLflow APIs 所有 MLflow REST APIs 都以`sagemaker-mlflow`服务前缀下的 IAM 操作表示。有关更多信息，请参阅 [为设置 IAM 权限 MLflow](mlflow-create-tracking-server-iam.md)。

**AWS CloudTrail**

查看登录信息 AWS CloudTrail ，帮助您启用 AWS 账户的运营和风险审计、监管和合规性。有关更多信息，请参阅 [AWS CloudTrail 日志](#mlflow-create-tracking-server-cloudtrail)。

**Amazon EventBridge**

使用 Amazon 捕获 MLflow 的事件自动执行模型审查和部署生命周期 EventBridge。有关更多信息，请参阅 [亚马逊 EventBridge 活动](#mlflow-create-tracking-server-eventbridge)。

## 支持的 AWS 区域
<a name="mlflow-regions"></a>

Amazon SageMaker AI MLflow with 通常适用于所有可用 Amazon SageMaker Studio 的 AWS 商业[区域](https://docs.aws.amazon.com/sagemaker/latest/dg/regions-quotas.html)，但中国地区除外。 SageMaker 仅 AWS CLI 在欧洲（苏黎世）区域、亚太地区（海得拉巴）区域、亚太地区（墨尔本）地区和加拿大西部（卡尔加里）地区使用 AI with。 MLflow 

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

## 工作原理
<a name="mlflow-create-tracking-server-how-it-works"></a>

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

![\[显示 MLflow 跟踪服务器的计算和元数据存储的示意图。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/mlflow/mlflow-diagram.png)


跟踪服务器有一个 ARN。您可以使用此 ARN 将 MLflow SDK 连接到您的跟踪服务器，然后开始将训练运行记录到该服务器。 MLflow

请继续阅读，了解有关以下关键概念的更多信息：
+ [后端元数据存储](#mlflow-create-tracking-server-backend-store) 
+ [构件存储](#mlflow-create-tracking-server-artifact-store) 
+ [MLflow 追踪服务器大小](#mlflow-create-tracking-server-sizes) 
+ [跟踪服务器版本](#mlflow-create-tracking-server-versions) 
+ [AWS CloudTrail 日志](#mlflow-create-tracking-server-cloudtrail) 
+ [亚马逊 EventBridge 活动](#mlflow-create-tracking-server-eventbridge) 

### 后端元数据存储
<a name="mlflow-create-tracking-server-backend-store"></a>

创建 Trac MLflow king Server 时，系统会在 SageMaker AI 服务帐户中自动配置并完全为您管理一个[后端存储](https://mlflow.org/docs/latest/tracking/backend-stores.html)，该存储库会保存每次[运行](https://mlflow.org/docs/latest/tracking.html#runs)的各种元数据，例如运行 ID、开始和结束时间、参数和指标。

### 构件存储
<a name="mlflow-create-tracking-server-artifact-store"></a>

要为每次运行的元数据（例如模型权重、图像、模型文件和实验运行的数据文件）提供 MLflow 永久存储空间，您必须使用 Amazon S3 创建工件存储。必须在您的 AWS 账户中设置工件存储，并且必须明确授予 MLflow 对 Amazon S3 的访问权限才能访问您的工件存储。有关更多信息，请参阅 MLflow 文档中的 A [rtifact St](https://mlflow.org/docs/latest/tracking.html#artifact-stores) ores。

**注意**  
SageMaker AI MLflow 的下载大小限制为 200 MB。

### MLflow 应用程序版本
<a name="mlflow-create-mlflow-app-versions"></a>

以下 MLflow 版本可用于 A SageMaker I MLflow 应用程序：


| MLflow 版本 | Python 版本 | 
| --- | --- | 
| [MLflow 3.4](https://mlflow.org/releases/3.4.0)（最新版本） | [Python 3.9](https://www.python.org/downloads/release/python-390/) 或更高版本 | 

该 MLflow 应用程序的最新版本包含最新功能、安全补丁和错误修复。当您创建新 MLflow 应用程序时，它会自动更新到支持的最新版本。有关创建 MLflow 应用程序的更多信息，请参阅[MLflow 应用程序设置](mlflow-app-setup.md)。

MLflow 应用程序使用语义版本控制。版本采用以下格式：`major-version.minor-version.patch-version`。

### MLflow 追踪服务器大小
<a name="mlflow-create-tracking-server-sizes"></a>

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

我们建议用户不超过 25 人的团队使用小型跟踪服务器，用户不超过 50 人的团队使用中型跟踪服务器，用户不超过 100 人的团队使用大型跟踪服务器。我们假设所有用户都将同时向您的 MLflow 跟踪服务器发出请求以提出这些建议。您应根据预期使用规律和每个跟踪服务器支持的 TPS（每秒交易量）来选择跟踪服务器的大小。

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


| 跟踪服务器大小 | Sustained TPS | Burst TPS | 
| --- | --- | --- | 
| Small | 最多 25 | 最多 50 | 
| 中 | 最多 50 | 最多 100 | 
| 大型 | 最多 100 | 最多 200 | 

### 跟踪服务器版本
<a name="mlflow-create-tracking-server-versions"></a>

以下 MLflow 版本可用于 A SageMaker I：


| MLflow 版本 | Python 版本 | 
| --- | --- | 
| [MLflow 3.0](https://mlflow.org/releases/3)（最新版本） | [Python 3.9](https://www.python.org/downloads/release/python-390/) 或更高版本 | 
| [MLflow 2.16](https://mlflow.org/releases/2.16.0) | [Python 3.8](https://www.python.org/downloads/release/python-380/) 或更高版本 | 
| [MLflow 2.13](https://mlflow.org/releases/2.13.0) | [Python 3.8](https://www.python.org/downloads/release/python-380/) 或更高版本 | 

最新版本的跟踪服务器具有最新特征、安全补丁和错误修复。创建新的跟踪服务器时，我们建议使用最新版本。有关创建新的跟踪服务器的更多信息，请参阅 [MLflow 追踪服务器](mlflow-create-tracking-server.md)。

MLflow 跟踪服务器使用语义版本控制。版本采用以下格式：`major-version.minor-version.patch-version`。

新的用户界面元素和 API 功能等最新特征均在次要版本中。

### AWS CloudTrail 日志
<a name="mlflow-create-tracking-server-cloudtrail"></a>

AWS CloudTrail 自动记录与您的 MLflow 跟踪服务器相关的活动。以下控制平面 API 调用已登录 CloudTrail：
+ CreateMlflowTrackingServer
+ DescribeMlflowTrackingServer
+ UpdateMlflowTrackingServer
+ DeleteMlflowTrackingServer
+ ListMlflowTrackingServers
+ CreatePresignedMlflowTrackingServer
+ StartMlflowTrackingServer
+ StopMlflowTrackingServer

AWS CloudTrail 还会自动记录与您的 MLflow 数据平面相关的活动。以下数据平面 API 调用已登录 CloudTrail。对于事件名称，请添加前缀 `Mlflow`（例如，`MlflowCreateExperiment`）。
+ CreateExperiment
+ CreateModelVersion
+ CreateRegisteredModel
+ CreateRun
+ DeleteExperiment
+ DeleteModelVersion
+ DeleteModelVersionTag
+ DeleteRegisteredModel
+ DeleteRegisteredModelAlias
+ DeleteRegisteredModelTag
+ DeleteRun
+ DeleteTag
+ GetDownloadURIForModelVersionArtifacts
+ GetExperiment
+ GetExperimentByName
+ GetLatestModelVersions
+ GetMetricHistory
+ GetModelVersion
+ GetModelVersionByAlias
+ GetRegisteredModel
+ GetRun
+ ListArtifacts
+ LogBatch
+ LogInputs
+ LogMetric
+ LogModel
+ LogParam
+ RenameRegisteredModel
+ RestoreExperiment
+ RestoreRun
+ SearchExperiments
+ SearchModelVersions
+ SearchRegisteredModels
+ SearchRuns
+ SetExperimentTag
+ SetModelVersionTag
+ SetRegisteredModelAlias
+ SetRegisteredModelTag
+ SetTag
+ TransitionModelVersionStage
+ UpdateExperiment
+ UpdateModelVersion
+ UpdateRegisteredModel
+ UpdateRun
+ FinalizeLoggedModel
+ GetLoggedModel
+ DeleteLoggedModel
+ SearchLoggedModels
+ SetLoggedModelTags
+ DeleteLoggedModelTag
+ ListLoggedModelArtifacts
+ LogLoggedModelParams
+ LogOutputs

有关的更多信息 CloudTrail，请参阅《*[AWS CloudTrail 用户指南》](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)*。

### 亚马逊 EventBridge 活动
<a name="mlflow-create-tracking-server-eventbridge"></a>

用于 EventBridge 将事件从 MLflow 与 SageMaker AI 配合使用到整个组织的消费者应用程序进行路由。以下事件会被发送到 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 用户指南](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html)*。

**Topics**
+ [MLflow 集成](#mlflow-integrations)
+ [支持的 AWS 区域](#mlflow-regions)
+ [工作原理](#mlflow-create-tracking-server-how-it-works)
+ [MLflow 应用程序设置](mlflow-app-setup.md)
+ [MLflow 追踪服务器](mlflow-create-tracking-server.md)
+ [使用预先指定的 URL 启动 MLflow 用户界面](mlflow-launch-ui.md)
+ [MLflow 与您的环境集成](mlflow-track-experiments.md)
+ [使用 Jupyter Notebook 示例的 MLflow 教程](mlflow-tutorials.md)
+ [排除常见设置问题](mlflow-troubleshooting.md)
+ [清理 MLflow 资源](mlflow-cleanup.md)
+ [Studio 经典版中的亚马逊 SageMaker 实验](experiments.md)