

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

# 自动机器学习、无代码或低代码
<a name="use-auto-ml"></a>

Amazon SageMaker AI 提供以下功能来自动执行关键机器学习任务，并使用无代码或低代码解决方案。
+ **Amazon SageMaker Canvas**：要获得基于用户界面、无代码的 AutoML 体验，新用户应使用 [Amazon SageMaker Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas.html) 中的 [Amazon SageMaker Canvas](studio-updated.md) 应用程序。

  Amazon SageMaker Canvas 可为分析师和公民数据科学家提供无代码功能，以完成数据准备、特征工程、算法选择、训练和调整、推理等任务。用户可以利用内置的可视化和假设分析功能来探索数据和不同场景，并通过自动预测功能轻松生成模型。SageMaker Canvas 支持各种使用场景，包括计算机视觉、需求预测、智能搜索和生成式人工智能。
+ **Amazon SageMaker Autopilot**：[Amazon SageMaker Autopilot](autopilot-automate-model-development.md) 是一款自动化机器学习（AutoML）功能集，可自动完成机器学习模型的构建、训练、调整和部署等端到端流程。Amazon SageMaker Autopilot 会分析您的数据，选择适合您的问题类型的算法，预处理数据以准备训练，处理自动模型训练，并执行超参数优化以找到适合您的数据集的最佳性能模型。
  + 截至 2023 年 11 月 30 日，Autopilot 的用户界面 (UI) 已集成到 Studio 中的 [Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas.html) 应用程序中。
  + [Amazon SageMaker Studio Classic](studio.md)（Studio 的旧版本）的用户可以在 Studio Classic 中继续使用 Autopilot 用户界面。具有编码经验的用户可以继续使用任何支持的 SDK 中的 [AutoML API 参考](autopilot-automate-model-development.md)进行技术实现。
**注意**  
如果您之前一直在 Studio Classic 中使用 Autopilot，并想要迁移到 SageMaker Canvas，则可能需要为用户配置文件或 IAM 角色授予额外权限，以便创建和使用 SageMaker Canvas 应用程序。有关更多信息，请参阅 [（可选）从 Studio 经典版中的自动驾驶仪迁移到 SageMaker Canvas](studio-updated-migrate-ui.md#studio-updated-migrate-autopilot)。
+ **Amazon SageMaker JumpStart**：SageMaker JumpStart 针对广泛的问题类型提供预训练的开源模型，以帮助您开始使用机器学习。在部署之前，您可以逐步训练和调整这些模型。JumpStart 还提供解决方案模板，用于为常见使用案例设置基础设施，以及用于 SageMaker AI 上的机器学习的可执行示例笔记本。

**Topics**
+ [SageMaker 自动驾驶](autopilot-automate-model-development.md)
+ [SageMaker JumpStart 预训练模型](studio-jumpstart.md)

# SageMaker 自动驾驶
<a name="autopilot-automate-model-development"></a>

**重要**  
自 2023 年 11 月 30 日起，作为更新后的亚马逊 [ SageMaker Studio 体验的一部分，Autopilot 的用户界面将迁移到亚马逊 SageMaker ](studio-updated.md) [Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas.html)。 SageMaker Canvas 为分析师和公民数据科学家提供了无需代码的功能，可以完成数据准备、特征工程、算法选择、训练和调整、推理等任务。用户可以利用内置的可视化和假设分析功能来探索数据和不同场景，并通过自动预测功能轻松生成模型。Canvas 支持各种使用场景，包括计算机视觉、需求预测、智能搜索和生成式人工智能。  
 [Amazon SageMaker Studio Classic](studio.md)（之前的 [Studio](studio-updated.md) 使用体验）的用户可以继续使用 Studio Classic 中的自动驾驶用户界面。有编码经验的用户可以继续使用任何支持的 SDK 中的所有 [API 参考](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html)进行技术实施。  
如果您之前一直在 Studio Classic 中使用 Autopilot 并想迁移到 SageMaker Canvas，则可能需要向您的用户个人资料或 IAM 角色授予额外权限，这样您才能创建和使用 SageMaker Canvas 应用程序。有关更多信息，请参阅 [（可选）从 Studio 经典版中的自动驾驶仪迁移到 SageMaker Canvas](studio-updated-migrate-ui.md#studio-updated-migrate-autopilot)。  
[在迁移到 Amazon Canvas 之前，本指南中所有与 UI 相关的说明都与 Autopilot 的独立功能有关。 SageMaker ](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas.html)按照这些说明操作的用户应使用 [Studio Classic](studio.md)。

Amazon A SageMaker utopilot 是一款功能集，它通过自动化构建和部署机器学习模型 (AutoML) 的过程，来简化和加速机器学习工作流程的各个阶段。以下页面解释了有关 Amazon A SageMaker utopilot 的关键信息。

Autopilot 执行以下关键任务，您可以像自动驾驶那样使用它，也可以在不同程度的人工指导下使用这些任务：
+ **数据分析和预处理：**Autopilot 可识别您的特定问题类型，处理缺失值，对数据进行标准化，选择特征，全面准备数据用于模型训练。
+ **模型选择：**Autopilot 探索了各种算法，并使用交叉验证重采样技术生成指标，以根据预定义的目标指标来评估算法的预测质量。
+ **超参数优化：**Autopilot 可自动搜索最佳超参数配置。
+ **模型训练和评估：**Autopilot 可自动执行对各种候选模型的训练和评估过程。它将数据拆分为训练集和验证集，使用训练数据对选定的候选模型进行训练，并根据验证集中未用于训练的数据来评估其性能。最后，它根据模型的性能对优化候选模型进行排名，并确定性能最佳的模型。
+ **模型部署：**Autopilot 确定了性能最佳的模型之后，它就会提供选项，通过生成模型构件和公开 API 的端点来自动部署模型。外部应用程序可以将数据发送到端点并接收相应的预测或推理。

Autopilot 支持在多达数百个的大型数据集上构建机器学习模型。 GBs

下图概述了由 Autopilot 管理的 AutoML 流程的任务。

![\[Amazon A SageMaker utopilot AutoML 流程概述。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/Autopilot-process-graphic-1.png)


根据您对机器学习过程和编码体验的接受程度，您可以通过不同的方式使用 Autopilot：
+ **使用 Studio Classic 用户界面**，用户可以选择无代码体验或一定程度的人工输入。
**注意**  
只有根据表格数据创建的回归或分类等问题类型的实验才能通过 Studio Classic 用户界面使用。
+ **使用 AutoML API**，具有编码经验的用户可以使用可用 SDKs 来创建 AutoML 作业。这种方法提供了更大的灵活性和自定义选项，适用于所有问题类型。

Autopilot 目前支持以下问题类型：

**注意**  
对于涉及表格数据的回归或分类问题，用户可以在两个选项之间进行选择：使用 Studio Classic 用户界面或 [API 参考](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html)。  
文本和映像分类、时间序列预测和大型语言模型微调等任务都可以通过 [AutoML REST API](autopilot-reference.md) 的第 2 版独家实现。如果您选择的语言是 Python，则可以直接引用 Amazon SageMaker Python 软件开发工具包的 A [uto MLV2 对象](https://sagemaker.readthedocs.io/en/stable/api/training/automlv2.html#sagemaker.automl.automlv2.AutoMLV2)。[适用于 Python (Boto3) 的 AWS SDK](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_auto_ml_job_v2.html)  
喜欢用户界面便利性的用户可以使用 [Amazon SageMaker Canv](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html) as 访问预训练模型和生成式 AI 基础模型，或者创建针对特定文本、图像分类、预测需求或生成式 AI 量身定制的自定义模型。
+ **回归、二元分类和多元分类**，使用 CSV 或 Parquet 文件格式的表格数据，其中每列包含具有特定数据类型的特征，每行包含一个观察数据。接受的列数据类型包括由数字、分类、文本和由逗号分隔数字字符串组成时间序列。
  + 要使用 SageMaker API 参考创建自动驾驶任务作为试点实验，请参阅[使用 AutoML API 为表格数据创建回归或分类作业](autopilot-automate-model-development-create-experiment.md)。
  + 要使用 Studio Classic 用户界面创建 Autopilot 作业作为试点实验，请参阅 [使用 Studio Classic 用户界面为表格数据创建回归或分类 Autopilot 实验](autopilot-automate-model-development-create-experiment-ui.md)。
  + 如果您是管理员，希望在 Studio Classic 用户界面中预先配置 Autopilot 实验的默认基础设施、联网或安全参数，请参阅[配置 Autopilot 实验的默认参数（面向管理员）](autopilot-set-default-parameters-create-experiment.md)。
+ **文本分类**，使用 CSV 或 Parquet 文件格式的数据，其中一列提供要分类的句子，而另一列应提供相应的类标签。请参阅[使用 API 创建文本分类 AutoML 作业](autopilot-create-experiment-text-classification.md)。
+ **映像分类**，映像格式包括 PNG、JPEG 或两者的组合。请参阅 [使用 AutoML API 创建映像分类作业](autopilot-create-experiment-image-classification.md)。
+ **时间序列预测**，使用 CSV 或 Parquet 文件格式的时间序列数据。请参阅 [使用 API 创建用于时间序列预测的 AutoML 作业](autopilot-create-experiment-timeseries-forecasting.md)。
+ 微调大型语言模型 (LLMs)，以便使用格式为 CSV 或 Parquet 文件[创建 AutoML 作业，使用 API 微调文本生成模型](autopilot-create-experiment-finetune-llms.md)格式的数据**生成文本**。请参阅。

此外，Autopilot 可自动生成显示每个特征重要性的报告，帮助用户了解模型如何进行预测。这有助于透明地了解影响预测的因素，可供风险与合规团队和外部监管机构使用。Autopilot 还提供模型性能报告，其中包括评估指标摘要、混淆矩阵、各种可视化内容，例如接收者操作特征曲线和查准率-查全率曲线等。每份报告的具体内容因 Autopilot 实验的问题类型而异。

Autopilot 实验中最佳候选模型的可解释性和性能报告可用于文本、映像和表格数据分类问题类型。

对于回归或分类之类的表格数据使用场景，Autopilot 生成笔记本，其中包含用于探索数据和寻找性能最佳模型的代码，以帮助进一步了解数据的处理方式以及如何选择、训练和调整候选模型。这些笔记本提供了一个交互式的探索性环境，可帮助您了解实验中各种输入的影响或权衡取舍。通过对 Autopilot 提供的数据探索和候选项定义笔记本进行自己的修改，您可以进一步实验更高性能的候选模型。

使用 Amazon SageMaker AI，您只需为实际用量付费。您需要根据自己的使用情况为 SageMaker AI 或其他 AWS 服务中的底层计算和存储资源付费。有关使用 SageMaker AI 的费用的更多信息，请参阅 A [mazon SageMaker 定价](https://aws.amazon.com/sagemaker/pricing)。

**Topics**
+ [使用 AutoML API 为表格数据创建回归或分类作业](autopilot-automate-model-development-create-experiment.md)
+ [使用 AutoML API 创建映像分类作业](autopilot-create-experiment-image-classification.md)
+ [使用 API 创建文本分类 AutoML 作业](autopilot-create-experiment-text-classification.md)
+ [使用 API 创建用于时间序列预测的 AutoML 作业](autopilot-create-experiment-timeseries-forecasting.md)
+ [创建 AutoML 作业，使用 API 微调文本生成模型](autopilot-create-experiment-finetune-llms.md)
+ [使用 Studio Classic 用户界面为表格数据创建回归或分类 Autopilot 实验](autopilot-automate-model-development-create-experiment-ui.md)
+ [Amazon SageMaker Autopilot 示例笔记本](autopilot-example-notebooks.md)
+ [视频：使用 Autopilot 自动执行和探索机器学习流程](autopilot-videos.md)
+ [Autopilot 配额](autopilot-quotas.md)
+ [Autopilot API 参考指南](autopilot-reference.md)

# 使用 AutoML API 为表格数据创建回归或分类作业
<a name="autopilot-automate-model-development-create-experiment"></a>

您可以通过调用 Autopilot 或 AWS CLI支持的任何语言的 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html) API 操作，以编程方式为表格数据创建 Autopilot 回归或分类作业。以下参数集合介绍了 `CreateAutoMLJobV2` API 操作的必需和可选输入请求参数。您可以找到此操作先前版本 `CreateAutoMLJob` 的备用信息。但是，我们建议使用 `CreateAutoMLJobV2`。

有关此 API 操作如何转换为所选语言中函数的信息，请参阅 `CreateAutoMLJobV2` 中的[另请参阅](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_SeeAlso)部分并选择 SDK。例如，对于 Python 用户，请参阅 适用于 Python (Boto3) 的 AWS SDK中 `[create\$1auto\$1ml\$1job\$1v2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_auto_ml_job_v2)` 的完整请求语法。

**注意**  
[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html) 和 [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) 是的新版本，[DescribeAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html)它们提供了向后兼容性[CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html)。  
我们建议使用 `CreateAutoMLJobV2`。`CreateAutoMLJobV2` 可以管理与其先前版本 `CreateAutoMLJob` 相同的表格问题类型，以及非表格问题类型，例如图像或文本分类或者时间序列预测。

至少，所有表格数据实验都需要指定实验名称，提供输入和输出数据的位置，并指定要预测的目标数据。您还可以选择指定要解决的问题类型（回归、分类、多分类器）、选择建模策略（*堆叠集合*或*超参数优化*）、选择 Autopilot 任务用于训练数据的算法列表等。

 实验运行后，您可以比较试验，并深入研究每个模型的预处理步骤、算法和超参数范围的详细信息。您还可以选择下载他们的[解释功能](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-explainability.html)和[性能](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-insights.html)报告。使用提供的[笔记本](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-notebook-output.html )查看自动数据探索的结果或候选模型定义。

在[将 a 迁移 CreateAutoMLJob 到 CreateAuto MLJob V2](#autopilot-create-experiment-api-migrate-v1-v2) 中查找有关如何将 `CreateAutoMLJob` 迁移到 `CreateAutoMLJobV2` 的指南。

## 必填参数
<a name="autopilot-create-experiment-api-required-params"></a>

------
#### [ CreateAutoMLJobV2 ]

在调用 `[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)` 为表格数据创建 Autopilot 实验时，您必须提供以下值：
+ `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)`，用于指定您作业的名称。
+ `[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)` 中至少有一个 `[AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)` 来指定您的数据来源。
+ 同时提供 `[AutoMLJobObjective](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobObjective)` 指标和您在 `AutoMLProblemTypeConfig` 中选择的有监督问题类型（二元分类、多元分类、回归），或者均不提供。对于表格数据，您必须选择 `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` 作为 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` 的类型。您可以在 `TabularJobConfig` 的 `ProblemType` 属性中设置有监督学习问题。
+ `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)`，指定用于存储 AutoML 作业构件的 Amazon S3 输出路径。
+ `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)`，指定用于访问您的数据的角色的 ARN。

------
#### [ CreateAutoMLJob ]

在调用 `[CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html)` 创建 AutoML 实验时，您必须提供以下四个值：
+ `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-AutoMLJobName)`，用于指定您作业的名称。
+ `[InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-InputDataConfig)` 中至少有一个 `[AutoMLChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html)` 来指定您的数据来源。
+ `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)`，指定用于存储 AutoML 作业构件的 Amazon S3 输出路径。
+ `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)`，指定用于访问您的数据的角色的 ARN。

------

所有其他参数都是可选的。

## 可选参数
<a name="autopilot-create-experiment-api-optional-params"></a>

以下部分提供了一些可选参数的详细信息，在使用表格数据时，您可以将这些参数传递给 `CreateAutoMLJobV2` API 操作。您可以找到此操作先前版本 `CreateAutoMLJob` 的备用信息。但是，我们建议使用 `CreateAutoMLJobV2`。

### 如何设置 AutoML 作业的训练模式
<a name="autopilot-set-training-mode"></a>

对于表格数据，在您的数据上运行用于训练候选模型的算法集取决于您的建模策略（`ENSEMBLING` 或 `HYPERPARAMETER_TUNING`）。以下将详细介绍如何设置此训练模式。

如果保留空白（或为 `null`），则 `Mode` 根据数据集的大小进行推理。

有关 Autopilot 的*堆叠组合*和*超参数优化*训练方法的信息，请参阅[训练模式和算法支持](autopilot-model-support-validation.md)

------
#### [ CreateAutoMLJobV2 ]

对于表格数据，您必须选择 `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` 作为 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` 的类型。

您可以使用 `[TabularJobConfig.Mode](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` 参数设置 AutoML 作业 V2 的[训练方法](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html)。

------
#### [ CreateAutoMLJob ]

您可以使用 `[AutoMLJobConfig.Mode](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-Mode)` 参数设置 AutoML 作业的[训练方法](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html)。

------

### 如何选择用于训练 AutoML 作业的特征和算法
<a name="autopilot-feature-selection"></a>

#### 特征选择
<a name="autopilot-automl-job-feature-selection-api"></a>

Autopilot 提供自动数据预处理步骤，包括特征选择和特征提取。但是，您可以使用 `FeatureSpecificatioS3Uri` 属性手动提供要在训练中使用的特征。

所选特征应包含在 JSON 文件中，采用以下格式：

```
{ "FeatureAttributeNames":["col1", "col2", ...] }
```

`["col1", "col2", ...]` 中列出的值区分大小写。它们应该是包含唯一值的字符串列表，这些值是输入数据中列名的子集。

**注意**  
提供作为特征的列的列表不能包括目标列。

------
#### [ CreateAutoMLJobV2 ]

对于表格数据，您必须选择 `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` 作为 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` 的类型。

您可以使用 `[TabularJobConfig.FeatureSpecificationS3Uri](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` 参数设置所选特征的 URL。

------
#### [ CreateAutoMLJob ]

您可以在 [CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html)API 中使用以下格式设置 “[自动 MLCandidate GenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html)” 的`FeatureSpecificatioS3Uri`属性：

```
{
    "[AutoMLJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-AutoMLJobConfig)": {
        "[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-CandidateGenerationConfig)": {
            "[FeatureSpecificationS3Uri](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html#sagemaker-Type-AutoMLCandidateGenerationConfig-FeatureSpecificationS3Uri)":"string"
            },
       }
  }
```

------

#### 算法选择
<a name="autopilot-automl-job-algorithms-selection-api"></a>

默认情况下，您的 Autopilot 作业会在数据集上运行预定义的算法列表，以训练候选模型。算法列表取决于作业使用的训练模式（`ENSEMBLING` 或 `HYPERPARAMETER_TUNING`）。

您可以提供默认算法选择的子集。

------
#### [ CreateAutoMLJobV2 ]

对于表格数据，您必须选择 `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` 作为 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` 的类型。

可以在的`AlgorithmsConfig`属性`AutoMLAlgorithms`中指定选定的数组[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html)。

以下是一个 `AlgorithmsConfig` 属性示例，在 `AutoMLAlgorithms` 字段中列出了用于组合模式的三种算法（“xgboost”、“fastai”、“catboost”）。

```
{
   "[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)": {
        "[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)": {
          "[Mode](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)": "ENSEMBLING",
          "[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html)": {
            "[AlgorithmsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html#sagemaker-Type-CandidateGenerationConfig-AlgorithmsConfig)":[
               {"[AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html)":["xgboost", "fastai", "catboost"]}
            ]
         },
       },
     },
  }
```

------
#### [ CreateAutoMLJob ]

您可以在 “[自动 `AlgorithmsConfig`](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html)” 属性`AutoMLAlgorithms`中指定选定的数组MLCandidateGenerationConfig。

以下是一个 `AlgorithmsConfig` 属性示例，在 `AutoMLAlgorithms` 字段中列出了用于组合模式的三种算法（“xgboost”、“fastai”、“catboost”）。

```
{
   "[AutoMLJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-AutoMLJobConfig)": {
        "[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-CandidateGenerationConfig)": {
            "[AlgorithmsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html#sagemaker-Type-AutoMLCandidateGenerationConfig-AlgorithmsConfig)":[
               {"[AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms)":["xgboost", "fastai", "catboost"]}
            ]
         },
     "Mode": "ENSEMBLING" 
  }
```

------

有关各种训练 `Mode` 可用算法的列表，请参阅 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms)。有关每种算法的详细信息，请参阅[训练模式和算法支持](autopilot-model-support-validation.md)。

### 如何指定 AutoML 作业的训练和验证数据集
<a name="autopilot-data-sources-training-or-validation"></a>

您可以提供自己的验证数据集和自定义的数据拆分比率，也可以让 Autopilot 自动拆分数据集。

------
#### [ CreateAutoMLJobV2 ]

每个[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)对象（参见必填参数 [Auto MLJob InputDataConfig](https://docs.aws.amazon.com/sagemaker-api/src/AWSSageMakerAPIDoc/build/server-root/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)）都有`ChannelType`，可以将其设置为`training`或指定在构建机器学习模型时如何使用数据的`validation`值。数据来源至少需要一个，最多可以有两个：一个用于训练数据，一个用于验证数据。

如何将数据拆分为训练和验证数据集，取决于您有一个还是两个数据来源。
+ 如果您只有**一个数据来源**，则默认情况下 `ChannelType` 设置为 `training`，并且必须具有此值。
  + 如果未设置 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html) 中的 `ValidationFraction` 值，则默认情况下，将使用来自此来源中数据的 0.2 (20%) 进行验证。
  + 如果 `ValidationFraction` 设置为介于 0 和 1 之间的值，则根据指定的值拆分数据集，该值指定用于验证的数据集的比例。
+ 如果您有**两个数据来源**，则其中一个 `AutoMLJobChannel` 对象的 `ChannelType` 必须设置为默认值 `training`。另一个数据来源的 `ChannelType` 必须设置为 `validation`。这两个数据来源必须具有相同的格式（CSV 或 Parquet）和相同的架构。在这种情况下，您不可为 `ValidationFraction` 设置值，因为每个来源的所有数据都用于训练或验证。设置此值会导致错误。

------
#### [ CreateAutoMLJob ]

每个[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html)对象（参见必填参数 [InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-InputDataConfig)）都有`ChannelType`，可以将其设置为`training`或指定在构建机器学习模型时如何使用数据的`validation`值。数据来源至少需要一个，最多可以有两个：一个用于训练数据，一个用于验证数据。

如何将数据拆分为训练和验证数据集，取决于您有一个还是两个数据来源。
+ 如果您只有**一个数据来源**，则默认情况下 `ChannelType` 设置为 `training`，并且必须具有此值。
  + 如果未设置 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html) 中的 `ValidationFraction` 值，则默认情况下，将使用来自此来源中数据的 0.2 (20%) 进行验证。
  + 如果 `ValidationFraction` 设置为介于 0 和 1 之间的值，则根据指定的值拆分数据集，该值指定用于验证的数据集的比例。
+ 如果您有**两个数据来源**，则其中一个 `AutoMLChannel` 对象的 `ChannelType` 必须设置为默认值 `training`。另一个数据来源的 `ChannelType` 必须设置为 `validation`。这两个数据来源必须具有相同的格式（CSV 或 Parquet）和相同的架构。在这种情况下，您不可为 `ValidationFraction` 设置值，因为每个来源的所有数据都用于训练或验证。设置此值会导致错误。

------

有关 Autopilot 中的拆分和交叉验证的信息，请参阅 [Autopilot 中的交叉验证](autopilot-metrics-validation.md#autopilot-cross-validation)。

### 如何设置 AutoML 作业的问题类型
<a name="autopilot-set-problem-type-api"></a>

------
#### [ CreateAutoMLJobV2 ]

对于表格数据，您必须选择 `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` 作为 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` 的类型。

您可以使用 `[TabularJobConfig.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` 参数，进一步指定可用于 AutoML 作业 V2 的候选模型的有监督学习问题类型（二元分类、多元分类、回归）。

------
#### [ CreateAutoMLJob ]

您可以使用 `[CreateAutoPilot.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-ProblemType)` 参数在 AutoML 作业上设置[问题的类型](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-datasets-problem-types.html#autopilot-problem-types)。这限制了 Autopilot 尝试的预处理和算法类型。在完成作业后，如果您设置了 `[CreateAutoPilot.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-ProblemType)`，则 `[ResolvedAttribute.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ResolvedAttributes.html)` 将匹配您设置的 `ProblemType`。如果您将其留空（或为 `null`），则 `ProblemType` 代表您进行推理。

------

**注意**  
在某些情况下，Autopilot 无法以足够高的置信度推理 `ProblemType`，在这种情况下，您必须提供值以使作业成功。

### 如何向 AutoML 作业添加样本权重
<a name="autopilot-add-sample-weights-api"></a>

您可以向表格数据集添加样本权重列，然后将其传递给 AutoML 作业，以请求在训练和评估期间对数据集行进行加权。

只有[组合模式](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html#autopilot-training-mode)支持样本加权。您的权重应为非负数字。没有权重值或权重值无效的数据点被排除。有关可用目标指标的更多信息，请参阅 [Autopilot 加权指标](autopilot-metrics-validation.md#autopilot-weighted-metrics)。

------
#### [ CreateAutoMLJobV2 ]

对于表格数据，您必须选择 `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` 作为 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` 的类型。

要在创建实验时设置样本权重（参见 [CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)），可以在`TabularJobConfig`对象的`SampleWeightAttributeName`属性中传递样本权重列的名称。这样可以确保您的目标指标使用这些权重来训练、评估和选择候选模型。

------
#### [ CreateAutoMLJob ]

要在创建实验时设置样本权重（参见 [CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html)），可以在 A [uto MLChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html) 对象的`SampleWeightAttributeName`属性中传递样本权重列的名称。这样可以确保您的目标指标使用这些权重来训练、评估和选择候选模型。

------

### 如何配置 AutoML 以在 EMR Serverless 上为大型数据集启动远程作业
<a name="autopilot-set-emr-serverless-api-tabular"></a>

您可以配置 AutoML 作业 V2，以便在处理大型数据集需要额外计算资源时，自动启动 Amazon EMR Serverless 上的远程作业。通过在需要时无缝过渡到 EMR Serverless，AutoML 作业可以处理超出初始资源配置的数据集，而无需您进行任何人工干预。EMR Serverless 可用于表格和时间序列问题类型。我们建议为大于 5 GB 的表格数据集设置此选项。

要让 AutoML 作业 V2 自动过渡到针对大型数据集的 EMR Serverless，您需要向 AutoML 作业 V2 输入请求的 `AutoMLComputeConfig` 提供一个 `EmrServerlessComputeConfig` 对象，其中包括一个 `ExecutionRoleARN` 字段。

`ExecutionRoleARN` 是 IAM 角色的 ARN，授予 AutoML 作业 V2 运行 EMR Serverless 作业所需的权限。

该角色应具有以下信任关系：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "emr-serverless.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

并授予权限进行：
+ 创建、列出和更新 EMR Serverless 应用程序。
+ 在 EMR Serverless 应用程序上启动、列出、获取或取消作业运行。
+ 标记 EMR Serverless 资源。
+ 将 IAM 角色传递给 EMR Serverless 服务以执行。

  通过授予 `iam:PassRole` 权限，AutoML 作业 V2 可以临时承担 `EMRServerlessRuntimeRole-*` 角色，并将其传递给 EMR Serverless 服务。EMR Serverless 任务执行环境使用这些 IAM 角色来访问运行时所需的其他 AWS 服务和资源，例如 Amazon S3，用于访问数据、记录、访问 AWS Glue 数据目录或其他基于您的工作负载 CloudWatch 要求的服务。

  有关此角色权限的详细信息，请参阅 [Amazon EMR Serverless 的作业运行时角色](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/security-iam-runtime-role.html)。

所提供 JSON 文档中定义的 IAM 策略会授予这些权限：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Sid": "EMRServerlessCreateApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:CreateApplication",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListApplications",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessApplicationOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:UpdateApplication",
                "emr-serverless:GetApplication"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessStartJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:StartJobRun",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListJobRuns",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessJobRunOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:GetJobRun",
                "emr-serverless:CancelJobRun"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*/jobruns/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessTagResourceOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:TagResource",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "IAMPassOperationForEMRServerless",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/EMRServerlessRuntimeRole-*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "emr-serverless.amazonaws.com",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
         }
    ]
}
```

------

## 将 a 迁移 CreateAutoMLJob 到 CreateAuto MLJob V2
<a name="autopilot-create-experiment-api-migrate-v1-v2"></a>

我们建议 `CreateAutoMLJob` 的用户迁移到 `CreateAutoMLJobV2`。

本节通过突出显示两个版本之间输入请求的对象[CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker-api/src/AWSSageMakerAPIDoc/build/server-root/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#API_CreateAutoMLJob_RequestSyntax)和属性的位置、名称或结构的变化来说明和 [CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax) 之间输入参数的差异。
+ **在两个版本之间没有变化的请求属性。**

  ```
  {
     "AutoMLJobName": "string",
     "AutoMLJobObjective": { 
        "MetricName": "string"
     },
     "ModelDeployConfig": { 
        "AutoGenerateEndpointName": boolean,
        "EndpointName": "string"
     },
     "OutputDataConfig": { 
        "KmsKeyId": "string",
        "S3OutputPath": "string"
     },
     "RoleArn": "string",
     "Tags": [ 
        { 
           "Key": "string",
           "Value": "string"
        }
     ]
  }
  ```
+ **在两个版本之间位置和结构发生变化的请求属性。**

  以下属性改变了位置：`DataSplitConfig`、`Security Config`、`CompletionCriteria`、`Mode`、`FeatureSpecificationS3Uri`、`SampleWeightAttributeName`、`TargetAttributeName`。

------
#### [ CreateAutoMLJob ]

  ```
  { 
      "AutoMLJobConfig": { 
          "Mode": "string",
          "CompletionCriteria": { 
              "MaxAutoMLJobRuntimeInSeconds": number,
              "MaxCandidates": number,
              "MaxRuntimePerTrainingJobInSeconds": number
          },
          "DataSplitConfig": { 
              "ValidationFraction": number
          },
          "SecurityConfig": { 
              "EnableInterContainerTrafficEncryption": boolean,
              "VolumeKmsKeyId": "string",
              "VpcConfig": { 
              "SecurityGroupIds": [ "string" ],
              "Subnets": [ "string" ]
              }
          },
          "CandidateGenerationConfig": { 
              "FeatureSpecificationS3Uri": "string"
          }
      },
      "GenerateCandidateDefinitionsOnly": boolean,
      "ProblemType": "string"
  }
  ```

------
#### [ CreateAutoMLJobV2 ]

  ```
  {       
      "AutoMLProblemTypeConfig": {
          "TabularJobConfig": {
              "Mode": "string",
              "ProblemType": "string",
              "GenerateCandidateDefinitionsOnly": boolean,
              "CompletionCriteria": { 
                  "MaxAutoMLJobRuntimeInSeconds": number,
                  "MaxCandidates": number,
                  "MaxRuntimePerTrainingJobInSeconds": number
              },
              "FeatureSpecificationS3Uri": "string",
              "SampleWeightAttributeName": "string",
              "TargetAttributeName": "string"
          }
      },
      "DataSplitConfig": { 
          "ValidationFraction": number
      },
      "SecurityConfig": { 
          "EnableInterContainerTrafficEncryption": boolean,
          "VolumeKmsKeyId": "string",
          "VpcConfig": { 
              "SecurityGroupIds": [ "string" ],
              "Subnets": [ "string" ]
          }
      }
  }
  ```

------
+ **在两个版本之间，以下属性的位置和结构发生了变化。**

  以下 JSON 说明了如何[自动MLJob配置。 CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-CandidateGenerationConfig)类型为 “[自](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html)动” MLCandidate GenerationConfig 已移至 “[自动 MLProblemTypeConfig”。 TabularJobConfig。 ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)CandidateGenerationConfig[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html)在 V2 中属于类型。

------
#### [ CreateAutoMLJob ]

  ```
  {
     "AutoMLJobConfig": { 
        "CandidateGenerationConfig": { 
           "AlgorithmsConfig": [ 
              { 
                 "AutoMLAlgorithms": [ "string" ]
              }
           ],
           "FeatureSpecificationS3Uri": "string"
        }
  }
  ```

------
#### [ CreateAutoMLJobV2 ]

  ```
  {
      "AutoMLProblemTypeConfig": {
          "TabularJobConfig": {
              "CandidateGenerationConfig": { 
                  "AlgorithmsConfig": [ 
                      { 
                      "AutoMLAlgorithms": [ "string" ]
                      }
                  ],
              },
          }
      },
  }
  ```

------
+ **名称和结构发生了变化的请求属性。**

  以下 JSON 说明了 [InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-InputDataConfig)（[自动](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html)数组MLChannel）是如何在 V2 中更改为自动 MLJobInputDataConfig（[自动MLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)[频道](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)数组）的。请注意，属性 `SampleWeightAttributeName` 和 `TargetAttributeName` 从 `InputDataConfig` 中移出并移入到 `AutoMLProblemTypeConfig` 中。

------
#### [ CreateAutoMLJob ]

  ```
  {    
      "InputDataConfig": [ 
          { 
              "ChannelType": "string",
              "CompressionType": "string",
              "ContentType": "string",
              "DataSource": { 
                  "S3DataSource": { 
                      "S3DataType": "string",
                      "S3Uri": "string"
                  }
              },
              "SampleWeightAttributeName": "string",
              "TargetAttributeName": "string"
          }
      ]
  }
  ```

------
#### [ CreateAutoMLJobV2 ]

  ```
  {    
      "AutoMLJobInputDataConfig": [ 
          { 
              "ChannelType": "string",
              "CompressionType": "string",
              "ContentType": "string",
              "DataSource": { 
                  "S3DataSource": { 
                      "S3DataType": "string",
                      "S3Uri": "string"
                  }
              }
          }
      ]
  }
  ```

------

# Autopilot 数据集和问题类型
<a name="autopilot-datasets-problem-types"></a>

对于表格数据（即数据的每列包含具有特定数据类型的特征，每行包含一个观察数据），Autopilot 让您可以选择选项，以指定用于 AutoML 作业的候选模型的有监督学习问题类型，例如二元分类或回归，或者根据您提供的数据代表您进行检测。Autopilot 还支持多种数据格式和数据类型。

**Topics**
+ [Autopilot 数据集、数据类型和格式](#autopilot-datasets)
+ [Autopilot 问题类型](#autopilot-problem-types)

## Autopilot 数据集、数据类型和格式
<a name="autopilot-datasets"></a>

Autopilot 支持格式化为 CSV 或 Parquet 文件的表格数据：其中每列都包含具有特定数据类型的特征，而每行都包含观察数据。这两种文件格式的属性差异很大。
+ **CSV** (comma-separated-values) 是一种基于行的文件格式，它以人类可读的纯文本存储数据，这是数据交换的热门选择，因为它们受到各种应用程序的支持。
+ **Parquet** 是一种基于列的文件格式，相比基于行的文件格式，数据的存储和处理更高效。这使它们成为解决大数据问题的更好选择。

列接受的**数据类型**包括数值、分类、文本和时间序列，由逗号分隔数字字符串组成。如果 Autopilot 检测到所处理的是**时间序列**，则它会通过 [tsfresh](https://tsfresh.readthedocs.io/en/latest/text/list_of_features.html) 库提供的专用特征转换器对其进行处理。该库将时间序列作为输入，并输出特征，例如时间序列的最高绝对值或自相关性的描述性统计数据。然后，这些输出特征将用作三种问题类型之一的输入。

Autopilot 支持在多达数百个的大型数据集上构建机器学习模型。 GBs有关输入数据集的默认资源限制以及如何增加这些限制的详细信息，请参阅 [Autopilot 限额](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-quotas.html)。

## Autopilot 问题类型
<a name="autopilot-problem-types"></a>

对于表格数据，您可以进一步指定可供候选模型使用的有监督学习问题类型，如下所示：

### 回归
<a name="autopilot-automate-model-development-problem-types-regression"></a>

回归根据一个或多个与其相关的其他变量或属性来估计因果目标变量的值。一个例子是预测房屋价格所使用的特征，如浴室和卧室的数量、房屋和花园的平方英尺数。回归分析可以创建一个模型，该模型将其中一个或多个特征作为输入并预测房屋价格。

### 二元分类
<a name="autopilot-automate-model-development-problem-types-binary-classification"></a>

二元分类是一种受监督的学习类型，可根据个体的属性将个体分配给两个预定义且互斥的类别之一。它受到监督，因为模型是使用样本进行训练的，其中为属性提供了正确标注的对象。基于诊断测试的结果对个人是否患有疾病的医学诊断是二元分类的一个示例。

### 多元分类
<a name="autopilot-automate-model-development-problem-types-multiclass-classification"></a>

多元分类是一种受监督的学习类型，可根据个体的属性将个体分配给多个类别之一。它受到监督，因为模型是使用示例进行训练的，其中为属性提供了正确标记的对象。一个例子是预测与文本文档最相关的主题。文档可以分类为如宗教、政治或金融，或者是其他若干个预定义的主题类别之一。

# 训练模式和算法支持
<a name="autopilot-model-support-validation"></a>

Autopilot 支持不同的训练模式和算法来解决机器学习问题，报告质量和客观指标，并在需要时自动使用交叉验证。

## 模型训练
<a name="autopilot-training-mode"></a>

SageMaker Autopilot 可以根据数据集大小自动选择训练方法，也可以手动选择。选项如下所示：
+ E@@ **nsembling** — Autopilot 使用[AutoGluon](https://auto.gluon.ai/scoredebugweight/tutorials/tabular_prediction/index.html)库来训练多个基础模型。为了找到最适合您的数据集的组合，组合模式使用不同的模型和元参数设置运行 10 次试验。然后，Autopilot 使用堆叠组合方法，将这些模型组合在一起，以创建最优预测模型。有关 Autopilot 在组合模式下对表格数据支持的算法列表，请参阅下文的**算法支持**部分。
+ **超参数优化 (HPO)** – Autopilot 在数据集上运行训练作业时，使用贝叶斯优化或多保真优化来调整超参数，从而找到模型的最佳版本。HPO 模式选择与您的数据集最相关的算法，并选择最佳的超参数范围来调整您的模型。为了调整模型，HPO 模式最多可运行 100 次试验（默认），以找到选定范围内的最佳超参数设置。如果您的数据集大小小于 100 MB，Autopilot 将使用贝叶斯优化。如果您的数据集大于 100 MB，Autopilot 会选择多保真优化。

  在多保真优化中，训练容器会连续发出指标。在选定的目标指标上表现不佳的试验会提前停止。系统向表现良好的试验分配更多资源。

  有关 Autopilot 在 HPO 模式下支持的算法列表，请参阅下文的**算法支持**部分。
+ **自动** – Autopilot 会根据您的数据集大小自动选择组合模式或 HPO 模式。如果您的数据集大于 100 MB，Autopilot 会选择 HPO。否则，它会选择组合模式。在以下情况下，Autopilot 可能无法读取数据集的大小。
  + 您为 AutoML 作业启用虚拟私有云 (VPC) 模式，但包含数据集的 S3 存储桶仅允许从 VPC 进行访问。
  + 数据集DataType的输入 [S3](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLS3DataSource.html#sagemaker-Type-AutoMLS3DataSource-S3DataType) 是`ManifestFile`。
  + 输入 [S3Uri](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLS3DataSource.html#sagemaker-Type-AutoMLS3DataSource-S3Uri) 包含超过 1000 个项目。

  如果 Autopilot 无法读取您的数据集大小，则默认为选择 HPO 模式。

**注意**  
要获得最佳运行时间和性能，请对小于 100 MB 的数据集使用组合训练模式。

## 算法支持
<a name="autopilot-algorithm-support"></a>

在 **HPO 模式下**，Autopilot 支持以下类型的机器学习算法：
+  [线性学习器](https://docs.aws.amazon.com/sagemaker/latest/dg/linear-learner.html) – 一种有监督学习算法，可以解决分类或回归问题。
+ [XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html)— 一种监督学习算法，它试图通过组合来自一组更简单和更弱的模型的估计值来准确预测目标变量。
+ 深度学习算法 – 多层感知器 (MLP) 和前馈人工神经网络。此算法可以处理线性不可分的数据。

**注意**  
您无需指定一个算法来解决机器学习问题。Autopilot 会自动选择合适的算法进行训练。

在**组合模式下**，Autopilot 支持以下类型的机器学习算法：
+ [LightGBM](https://docs.aws.amazon.com/sagemaker/latest/dg/lightgbm.html) – 一种经过优化的框架，使用基于树的算法和梯度提升。此算法使用在广度而不是深度上增长的树，并且针对速度进行了高度优化。
+ [CatBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/catboost.html)— 使用基于树的算法和梯度提升的框架。针对处理分类变量进行了优化。
+ [XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html)— 一种使用基于树的算法的框架，其梯度提升是深度而不是广度增加的。
+ [随机森林](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html) – 一种基于树的算法，在数据的随机子样本上使用多个决策树并进行替换。树在每个级别上拆分到最佳节点。对每个树的决策一起求平均值，以防止过度拟合并改善预测。
+ [额外的树](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.ExtraTreesClassifier.html#sklearn.ensemble.ExtraTreesClassifier) – 基于树的算法，在整个数据集上使用多个决策树。树在每个级别上随机拆分。对每个树的决策进行求平均值，以防止过度拟合并改善预测。与随机森林算法相比，额外的树会增加一定程度的随机化。
+ [线性模型](https://scikit-learn.org/stable/modules/classes.html#module-sklearn.linear_model) – 一种使用线性方程对所观测数据中两个变量之间的关系进行建模的框架。
+ 神经网络 torch – 使用 [Pytorch](https://pytorch.org/) 实施的神经网络模型。
+ 神经网络 fast.ai – 使用 [fast.ai](https://www.fast.ai/) 实施的神经网络模型。

# 指标和验证
<a name="autopilot-metrics-validation"></a>

本指南介绍了可用于衡量机器学习模型性能的指标和验证技术。Amazon SageMaker Autopilot 会生成衡量候选机器学习模型预测质量的指标。为候选人计算的指标是使用一系列[MetricDatum](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_MetricDatum.html)类型指定的。

## Autopilot 指标
<a name="autopilot-metrics"></a>

以下列表包含当前可用于衡量 Autopilot 中模型性能的指标名称。

**注意**  
Autopilot 支持样本权重。要了解有关样本权重和可用目标指标的更多信息，请参阅 [Autopilot 加权指标](#autopilot-weighted-metrics)。

可用指标如下所示。

**`Accuracy`**  
 正确分类的项目数，相比所分类项目总数（正确和错误）的比率。它用于二元分类和多元分类。准确性衡量预测类值与实际值的接近程度。准确性指标的值在零 (0) 和壹 (1) 之间变化。值为 1 表示完全准确，0 表示完全不准确。

**`AUC`**  
 曲线下面积 (AUC) 指标通过返回概率（例如逻辑回归）的算法，比较和评估二元分类。为了将概率映射到分类中，需要将这些概率与阈值进行比较。  
相关的曲线是接收者操作特征曲线。该曲线将预测（或查全率）的真阳性率 (TPR) 与假阳性率 (FPR) 作为阈值的函数绘制，在曲线之上的预测视为阳性。提高阈值会减少假阳性，但会增加假阴性。  
AUC 是接收者操作特征曲线下方的面积。因此，AUC 提供了在所有可能的分类阈值中，模型性能的综合度量。AUC 分数介于 0 和 1 之间。分数为 1 表示完美的准确性，分数为一半 (0.5) 表示预测结果并不比随机分类器更好。

**`BalancedAccuracy`**  
`BalancedAccuracy` 是用于衡量准确预测占所有预测比例的指标。该比率是在根据阳性 (P) 和阴性 (N) 值总数，对真阳性 (TP) 和真阴性 (TN) 进行标准化后计算得出的。它用于二进制分类和多类分类，定义如下：0.5\$1 ((TP/P)\$1(TN/N))，值范围为 0 到 1。 `BalancedAccuracy`在不平衡的数据集中，如果正面或负面的数量相差很大，例如只有 1% 的电子邮件是垃圾邮件，则可以更好地衡量准确性。

**`F1`**  
`F1` 分数是查准率和查全率的调和平均值，定义如下：F1 = 2 \$1（查准率 \$1 查全率）/（查准率 \$1 查全率）。它用于二元分类，分为传统上称为阳性和阴性的类。预测在与实际（正确）类匹配时为 true，不匹配时为 false。  
查准率是指真阳性预测与所有阳性预测的比率，它包括数据集中的假阳性。在预测阳性类时，查准率衡量预测的质量。  
查全率（或灵敏度）是真阳性预测与所有实际阳性实例的比率。查全率衡量模型预测数据集中实际类成员的全面程度。  
F1 分数介于 0 和 1 之间。分数为 1 表示具有最佳性能，0 表示性能最差。

**`F1macro`**  
`F1macro` 分数将 F1 评分应用于多元分类问题。为此，它计算查准率和查全率，然后用它们的调和平均值来计算每个类的 F1 分数。最后，`F1macro` 对各个分数取平均值以获得 `F1macro` 分数。`F1macro` 分数介于 0 和 1 之间。分数为 1 表示具有最佳性能，0 表示性能最差。

**`InferenceLatency`**  
推理延迟是指从发出模型预测请求，到从部署模型的实时端点收到模型预测请求之间的大致时间长度。该指标以秒为单位进行测量，仅在组合模式下可用。

**`LogLoss`**  
对数损失，也称为交叉熵损失，是用于评估概率输出质量的指标，而不是输出本身。它可用于二元分类和多元分类，也用于神经网络。它也是逻辑回归的成本函数。对数损失是一个重要指标，指示模型何时有很高的概率做出了错误预测。值范围为 0 到无穷大。值为 0 表示可以完美预测数据的模型。

**`MAE`**  
平均绝对误差 (MAE) 用于衡量在所有值上，将预测值与实际值的差值取平均数时有多大的差异。MAE 通常用于回归分析以了解模型预测误差。如果使用线性回归，则 MAE 表示从预测线到实际值的平均距离。MAE 定义为绝对误差之和除以观察数据的数量。值的范围从 0 到无穷大，数字越小表示模型对数据的拟合效果越好。

**`MSE`**  
均方误差 (MSE) 是预测值和实际值之间的平方差的平均值。它用于回归。MSE 值始终为正值。模型在预测实际值方面的表现越好，MSE 值就越小。

**`Precision`**  
查准率衡量算法预测的真阳性 (TP) 占所识别的全部阳性的比例。它的定义如下：查准率 = TP/(TP\$1FP)，值范围从零 (0) 到壹 (1)，用于二元分类。当假阳性的成本很高时，查准率是一个重要指标。例如，如果飞机安全系统错误地认为可以安全飞行，则假阳性的成本非常高。假阳性 (FP) 反映的是预测为阳性，而在数据中实际为阴性的情况。

**`PrecisionMacro`**  
查准率宏计算多元分类问题的查准率。它通过计算每个类的查准率并对分数取平均值来获得多个类的查准率。`PrecisionMacro` 分数范围从零 (0) 到壹 (1)。该分数在多个类中取平均值，分数越高反映了模型越能从其识别的所有阳性中预测真阳性 (TP)。

**`R2`**  
R2，也称为决定系数，在回归中用于量化模型在多大程度上可以解释因变量的方差。值范围从壹 (1) 到负壹 (-1)。数字越大，说明变异率的解释比例越高。接近零 (0) 的 `R2` 值表示模型几乎无法解释因变量。负值表示拟合不佳，常量函数的性能优于模型。对于线性回归，这是一条水平线。

**`Recall`**  
查全率可以衡量算法正确预测数据集中所有真阳性 (TP) 的能力如何。真阳性是指预测为阳性，而实际也是数据中阳性值的情况。查全率定义如下：查全率 = TP/(TP\$1FN)，值范围从 0 到 1。分数越高，反映模型预测数据中真阳性 (TP) 的能力越强。它用于二元分类。  
在癌症检测时，查全率很重要，因为它被用来找出所有真阳性。假阴性（FN）反映的是预测阴性，而在数据中实际为阳性的情况。仅衡量查全率通常是不够的，因为只要将每个输出都预测为真阳性，就可以得到完美的查全率分数。

**`RecallMacro`**  
`RecallMacro` 计算每个类的查全率并取平均值，以获取多个类的查全率，以此来计算多元分类问题的查全率。`RecallMacro` 分数介于 0 和 1 之间。分数越高反映模型预测数据集中真阳性 (TP) 的能力就越好，而真阳性反映的是预测为阳性，而实际也是数据中阳性值的情况。仅衡量查全率通常是不够的，因为只要将每个输出都预测为真阳性，就可以得到完美的查全率分数。

**`RMSE`**  
均方根误差 (RMSE) 衡量预测值与实际值之间平方差的平方根，并对所有值取平均值。它用于回归分析以了解模型预测误差。这是一个重要的指标，用于指示是否存在较大的模型误差和异常值。值的范围从零 (0) 到无穷大，数字越小表示模型对数据的拟合效果越好。RMSE 依赖于规模，不应用于比较不同大小的数据集。

为候选模型自动计算的指标取决于要解决的问题的类型。

有关 Autopilot 支持的可用指标列表，请参阅 A [mazon SageMaker API 参考文档](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobObjective.html)。

## Autopilot 加权指标
<a name="autopilot-weighted-metrics"></a>

**注意**  
Autopilot 仅在组合模式下支持所有[可用指标](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-metrics-validation.html#autopilot-metrics)的样本权重，但 `Balanced Accuracy` 和 `InferenceLatency` 除外。对于不需要样本权重的不平衡数据集，`BalanceAccuracy` 有自己的加权架构。`InferenceLatency` 不支持样本权重。在训练和评估模型时，目标 `Balanced Accuracy` 和 `InferenceLatency` 指标都会忽略任何现有的样本权重。

用户可以向其数据添加样本权重列，以确保向用于训练机器学习模型的每个观察数据赋予权重，该权重对应于每个观察数据对模型的感知重要性。在数据集中的观察数据重要性程度各不相同，或者数据集中一个类别的样本数量与其他类别的样本数量相比不成比例的场景中，权重特别有用。根据每个观察结果的重要性向其分配权重，或者向少数类赋予更高的权重，有助于提升模型的整体性能，或者确保模型不会偏向多数类。

有关在 Studio Classic 用户界面中创建实验时如何传递样本权重的信息，请参阅[使用 Studio Classic 创建 Autopilot 实验](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-create-experiment.html)中的*步骤 7*。

有关在使用 API 创建 Autopilot 实验时如何以编程方式传递样本权重的信息，请参阅[以编程方式创建 Autopilot 实验](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-create-experiment.html)中的*如何向 AutoML 作业添加样本权重*。

## Autopilot 中的交叉验证
<a name="autopilot-cross-validation"></a>

交叉验证用于减少模型选择中的过度拟合和偏差。如果验证数据集抽取自同一个数据集，交叉验证还有助于评测模型预测验证数据集中未用于训练的能力。在对训练实例数量有限的数据集进行训练时，此方法尤其重要。

Autopilot 使用交叉验证在超参数优化 (HPO) 和组合训练模式下构建模型。Autopilot 交叉验证过程的第一步是将数据拆分为 k 个子集。

### K 折拆分
<a name="autopilot-cross-validation-kfold"></a>

K 折拆分是一种将输入训练数据集拆分成多个训练和验证数据集的方法。数据集被拆分为 `k` 个大小相等的子样本，称为子集。然后在 `k-1` 个子集上对模型进行训练，并根据剩余的第 k 个子集进行测试，该子集作为验证数据集。此过程使用不同的数据集重复 `k` 次以进行验证。

下图描绘了 k = 4 个子集时的 k 折拆分。每个子集都表示为一行。深色调的方框代表训练中使用的数据部分。其余的浅色方框表示验证数据集。

![\[K 折拆分，4 个子集以方框表示：深色表示使用的数据；浅色表示验证数据集。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-metrics-kfold-splits.png)


Autopilot 为超参数优化 (HPO) 模式和组合模式使用 k 折交叉验证。

你可以像使用任何其他自动驾驶或 SageMaker 人工智能模型一样部署使用交叉验证构建的自动驾驶模型。

### HPO 模式
<a name="autopilot-cross-validation-hpo"></a>

K 折交叉验证使用 k 折拆分方法进行交叉验证。在 HPO 模式下，Autopilot 会自动为不超过 50000 个训练实例的小型数据集实施 k 折交叉验证。在小型数据集上训练时，执行交叉验证尤其重要，因为它可以防止过度拟合和选择偏差。

HPO 模式对用于数据集建模的每个候选算法使用 *k* 值 5。在不同的拆分上训练多个模型，模型分开存储。训练完成后，将对每个模型的验证指标取平均值，以生成单个估计指标。最后，Autopilot 将试验中具有最佳验证指标的模型合并成一个组合模型。Autopilot 使用此组合模型进行预测。

Autopilot 训练的模型的验证指标提供作为模型排行榜中的目标指标。除非您另有指定，否则 Autopilot 会对处理的每种问题类型使用默认验证指标。有关 Autopilot 使用的所有指标的列表，请参阅 [Autopilot 指标](#autopilot-metrics)。

例如，[波士顿房屋数据集](http://lib.stat.cmu.edu/datasets/boston)只包含 861 个样本。如果您尝试使用此数据集构建模型来预测房屋销售价格但没有进行交叉验证，那么就会面临在无法代表波士顿住房存量的数据集上进行训练的风险。如果您只将数据拆分为训练和验证子集一次，则训练子集可能只包含主要来自郊区的数据。因此，您将使用无法代表城市其他地区的数据进行训练。在此示例中，您的模型可能会在此存有偏差的选择上过度拟合。K 折交叉验证可随机地使用可用数据进行充分地训练和验证，降低了出现此类错误的风险。

交叉验证平均会将训练时间增加 20%。在使用复杂的数据集时，训练时间也可能显著增加。

**注意**  
在 HPO 模式下，你可以在`/aws/sagemaker/TrainingJobs` CloudWatch 日志中看到各个方面的训练和验证指标。有关 CloudWatch 日志的更多信息，请参阅[CloudWatch 亚马逊 A SageMaker I 的日志](logging-cloudwatch.md)。

### 组合模式
<a name="autopilot-cross-validation-ensemble"></a>

**注意**  
Autopilot 支持组合模式下的样本权重。有关支持样本权重的可用指标列表，请参阅 [Autopilot 指标](#autopilot-metrics)。

在组合模式下，无论数据集大小如何，都会执行交叉验证。客户可以提供自己的验证数据集并自定义数据拆分比率，也可以让 Autopilot 自动按照 80%-20% 的拆分比率来拆分数据集。然后，将训练数据拆分为 `k`-folds 以进行交叉验证，其中的`k`值由引擎确定。 AutoGluon 一个组合由多个机器学习模型组成，其中每个模型被称为基础模型。单基础模型在 (`k`-1) 个折叠上进行训练，并对剩余的折叠进行 out-of-fold预测。对所有`k`折叠重复此过程，并将 out-of-fold (OOF) 预测串联起来形成一组预测。组合中的所有基础模型都遵循相同的流程来生成 OOF 预测。

下图描绘了 `k` = 4 个子集时的 k 折验证。每个子集都表示为一行。深色调的方框代表训练中使用的数据部分。其余的浅色方框表示验证数据集。

在图像的上半部的每个子集中，第一个基础模型在训练数据集上训练后，对验证数据集进行预测。在随后的每个子集中，数据集更换角色。之前用于训练的数据集现在用于验证，以此类推。在`k`折叠结束时，将所有预测连接起来，形成一组名为 out-of-fold（OOF）预测的预测。对每个 `n` 基础模型重复此过程。

![\[k 折验证：四行方框描绘了生成一行 OOF 预测的 4 折验证。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-metrics-kfold.PNG)


然后，将每个基础模型的 OOF 预测用作特征来训练堆叠模型。堆叠模型学习每个基础模型的重要性权重。这些权重用于合并 OOF 预测以形成最终预测。验证数据集的性能决定了哪个基础模型或堆叠模型最合适，然后返回此模型作为最终模型。

在组合模式下，您可以提供自己的验证数据集，也可以让 Autopilot 自动拆分输入数据集，其中 80% 为训练数据集，20% 为验证数据集。然后，将训练数据拆分为 `k` 个子集以进行交叉验证，并为每个子集生成 OOF 预测和基础模型。

这些 OOF 预测用作特征来训练堆叠模型，堆叠模型同时会学习每个基础模型的权重。这些权重用于合并 OOF 预测以形成最终预测。每个子集的验证数据集用于所有基础模型和堆叠模型的超参数调整。验证数据集的性能决定了哪个基础模型或堆叠模型是最合适的模型，然后返回此模型作为最终模型。

# Autopilot 模型部署和预测
<a name="autopilot-deploy-models"></a>

本 Amazon A SageMaker utopilot 指南包括模型部署、设置实时推理以及使用批处理作业运行推理的步骤。

在训练了 Autopilot 模型之后，您可以部署这些模型并通过两种方式之一来获取预测：

1. 使用 [为实时推理部署模型](autopilot-deploy-models-realtime.md) 设置端点并以交互方式获取预测。实时推理非常适合有实时、交互式、低延迟要求的推理工作负载。

1. 使用 [运行批量推理作业](autopilot-deploy-models-batch.md) 对整个数据集上的观察数据批次并行进行预测。对于大型数据集或者在您不需要立即响应模型预测请求时，批量推理是很好的选择。

**注意**  
避免产生不必要的费用：当您不再需要模型部署时创建的端点和资源时，可以删除这些资源。有关按地区划分的实例定价的信息，请参阅 [Amazon SageMaker 定价](https://aws.amazon.com/sagemaker/pricing/)。

# 为实时推理部署模型
<a name="autopilot-deploy-models-realtime"></a>

实时推理非常适合有实时、交互式、低延迟要求的推理工作负载。此部分演示如何使用实时推理，以交互方式从模型获取预测。

要部署在 Autopilot 实验中生成最佳验证指标的模型，您有多种选择。例如，在 SageMaker Studio Classic 中使用自动驾驶仪时，您可以自动或手动部署模型。您也可以 SageMaker APIs 使用手动部署自动驾驶模型。

以下选项卡显示了用于部署模型的三个选项。这些说明假定您已在 Autopilot 中创建了模型。如果您还没有模型，请参阅 [使用 AutoML API 为表格数据创建回归或分类作业](autopilot-automate-model-development-create-experiment.md)。要查看每个选项的示例，请打开各个选项卡。

## 使用 Autopilot 用户界面 (UI) 进行部署
<a name="autopilot-deploy-models-realtime-ui"></a>

Autopilot UI 包含有用的下拉菜单、切换开关、工具提示等，可帮助您浏览模型部署。您可以使用以下过程之一进行部署：自动或手动。
+ **自动部署**：自动将 Autopilot 实验中的最佳模型部署到端点

  1. 在 SageMaker Studio 经典版中@@ [创建实验](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-create-experiment.html)。

  1. 将**自动部署**值切换为**是**。
**注意**  
**如果区域中端点实例的默认资源配额或您的客户配额过于有限，则自动部署会失败。**在超参数优化 (HPO) 模式下，您需要至少两个 ml.m5.2xlarge 实例。在组合模式下，您需要至少一个 ml.m5.12xlarge 实例。如果您遇到与配额相关的故障，可以[请求提高 SageMaker AI 终端节点实例的服务限制](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)。
+ **手动部署**：手动将 Autopilot 实验得到的最佳模型部署到端点

  1. 在 SageMaker Studio 经典版中@@ [创建实验](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-create-experiment.html)。

  1. 将**自动部署**值切换为**否**。

  1. 在**模型名称**下选择要部署的模型。

  1. 选择排行榜右侧的橙色**部署和高级设置**按钮。这将打开一个新选项卡。

  1. 配置端点名称、实例类型和其他可选信息。

  1.  选择橙色的**部署模型**以部署到端点。

  1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)通过导航到终端节点部分，查看终端节点创建过程的进度。该部分位于导航面板的**推理**下拉菜单中。

  1. 在终端节点状态从 “**创建**中” 更改为（如下所示）后 **InService**，返回 Studio Classic 并调用该终端节点。  
![\[SageMaker AI 控制台：终端节点页面，用于创建终端节点或检查终端节点状态。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-check-progress.PNG)

## 使用部署 SageMaker APIs
<a name="autopilot-deploy-models-api"></a>

您还可以使用 **API 调用**部署模型来获得实时推理。本节使用 AWS Command Line Interface (AWS CLI) 代码片段展示了此过程的五个步骤。

有关 AWS CLI 命令和 AWS 适用于 Python 的 SDK (boto3) 的完整代码示例，请直接按照以下步骤打开选项卡。

1. **获取候选项定义**

   从中获取候选容器定义[InferenceContainers](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers)。这些候选定义用于创建 A SageMaker I 模型。

   以下示例使用 [DescribeAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html)API 获取最佳候选模型的候选定义。以以下 AWS CLI 命令为例。

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

1. **列出候选项**

   以下示例使用 [ListCandidatesForAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidatesForAutoMLJob.html)API 列出所有候选对象。请参阅以下 AWS CLI 命令示例。

   ```
   aws sagemaker list-candidates-for-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

1. **创建 A SageMaker I 模型**

   使用前面步骤中的容器定义通过 [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)AP SageMaker I 创建 AI 模型。以以下 AWS CLI 命令为例。

   ```
   aws sagemaker create-model --model-name '<your-custom-model-name>' \
                       --containers ['<container-definition1>, <container-definition2>, <container-definition3>]' \
                       --execution-role-arn '<execution-role-arn>' --region '<region>
   ```

1. **创建端点配置** 

   以下示例使用 [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html)API 创建终端节点配置。以以下 AWS CLI 命令为例。

   ```
   aws sagemaker create-endpoint-config --endpoint-config-name '<your-custom-endpoint-config-name>' \
                       --production-variants '<list-of-production-variants>' \
                       --region '<region>'
   ```

1. **创建端点** 

   以下 AWS CLI 示例使用 [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html)API 创建终端节点。

   ```
   aws sagemaker create-endpoint --endpoint-name '<your-custom-endpoint-name>' \
                       --endpoint-config-name '<endpoint-config-name-you-just-created>' \
                       --region '<region>'
   ```

   使用 [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html)API 检查您的终端节点部署进度。以以下 AWS CLI 命令为例。

   ```
   aws sagemaker describe-endpoint —endpoint-name '<endpoint-name>' —region <region>
   ```

   将 `EndpointStatus` 更改为 `InService` 后，端点即可用于实时推理。

1. **调用端点** 

   以下命令结构调用端点以进行实时推理。

   ```
   aws sagemaker invoke-endpoint --endpoint-name '<endpoint-name>' \ 
                     --region '<region>' --body '<your-data>' [--content-type] '<content-type>' <outfile>
   ```

以下选项卡包含使用 AWS SDK for Python (boto3) 或 AWS CLI部署模型的完整代码示例。

------
#### [ AWS SDK for Python (boto3) ]

1. 使用以下代码示例可**获取候选项定义**。

   ```
   import sagemaker 
   import boto3
   
   session = sagemaker.session.Session()
   
   sagemaker_client = boto3.client('sagemaker', region_name='us-west-2')
   job_name = 'test-auto-ml-job'
   
   describe_response = sm_client.describe_auto_ml_job(AutoMLJobName=job_name)
   # extract the best candidate definition from DescribeAutoMLJob response
   best_candidate = describe_response['BestCandidate']
   # extract the InferenceContainers definition from the caandidate definition
   inference_containers = best_candidate['InferenceContainers']
   ```

1. 使用以下代码示例可**创建模型**。

   ```
   # Create Model
   model_name = 'test-model' 
   sagemaker_role = 'arn:aws:iam:444455556666:role/sagemaker-execution-role'
   create_model_response = sagemaker_client.create_model(
      ModelName = model_name,
      ExecutionRoleArn = sagemaker_role,
      Containers = inference_containers 
   )
   ```

1. 使用以下代码示例可**创建端点配置**。

   ```
   endpoint_config_name = 'test-endpoint-config'
                                                           
   instance_type = 'ml.m5.2xlarge' 
   # for all supported instance types, see 
   # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariant.html#sagemaker-Type-ProductionVariant-InstanceType    # Create endpoint config
   
   endpoint_config_response = sagemaker_client.create_endpoint_config(
      EndpointConfigName=endpoint_config_name, 
      ProductionVariants=[
          {
              "VariantName": "variant1",
              "ModelName": model_name, 
              "InstanceType": instance_type,
              "InitialInstanceCount": 1
          }
      ]
   )
   
   print(f"Created EndpointConfig: {endpoint_config_response['EndpointConfigArn']}")
   ```

1. 使用以下代码示例可**创建端点**并部署模型。

   ```
   # create endpoint and deploy the model
   endpoint_name = 'test-endpoint'
   create_endpoint_response = sagemaker_client.create_endpoint(
                                               EndpointName=endpoint_name, 
                                               EndpointConfigName=endpoint_config_name)
   print(create_endpoint_response)
   ```

   使用以下代码示例可**检查端点创建状态**。

   ```
   # describe endpoint creation status
   status = sagemaker_client.describe_endpoint(EndpointName=endpoint_name)["EndpointStatus"]
   ```

1. 使用以下命令结构可**调用端点**进行实时推理。

   ```
   # once endpoint status is InService, you can invoke the endpoint for inferencing
   if status == "InService":
     sm_runtime = boto3.Session().client('sagemaker-runtime')
     inference_result = sm_runtime.invoke_endpoint(EndpointName='test-endpoint', ContentType='text/csv', Body='1,2,3,4,class')
   ```

------
#### [ AWS Command Line Interface (AWS CLI) ]

1. 使用以下代码示例可**获取候选项定义**。

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name 'test-automl-job' --region us-west-2
   ```

1. 使用以下代码示例可**创建模型**。

   ```
   aws sagemaker create-model --model-name 'test-sagemaker-model'
   --containers '[{
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3", amzn-s3-demo-bucket1
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/output/model.tar.gz",
       "Environment": {
           "AUTOML_SPARSE_ENCODE_RECORDIO_PROTOBUF": "1",
           "AUTOML_TRANSFORM_MODE": "feature-transform",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "application/x-recordio-protobuf",
           "SAGEMAKER_PROGRAM": "sagemaker_serve",
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code"
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.3-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/output/model.tar.gz",
       "Environment": {
           "MAX_CONTENT_LENGTH": "20971520",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv",
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,probabilities" 
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3", aws-region
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/output/model.tar.gz", 
       "Environment": { 
           "AUTOML_TRANSFORM_MODE": "inverse-label-transform", 
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv", 
           "SAGEMAKER_INFERENCE_INPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,labels,probabilities", 
           "SAGEMAKER_PROGRAM": "sagemaker_serve", 
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code"
       } 
   }]' \
   --execution-role-arn 'arn:aws:iam::1234567890:role/sagemaker-execution-role' \ 
   --region 'us-west-2'
   ```

   有关详细信息，请参阅[创建模型](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-model.html)。

   此 `create model` 命令会返回类似以下格式的响应：

   ```
   {
       "ModelArn": "arn:aws:sagemaker:us-west-2:1234567890:model/test-sagemaker-model"
   }
   ```

1. 使用以下代码示例可**创建端点配置**。

   ```
   aws sagemaker create-endpoint-config --endpoint-config-name 'test-endpoint-config' \
   --production-variants '[{"VariantName": "variant1", 
                           "ModelName": "test-sagemaker-model",
                           "InitialInstanceCount": 1,
                           "InstanceType": "ml.m5.2xlarge"
                          }]' \
   --region us-west-2
   ```

   `create endpoint` 配置命令会返回类似以下格式的响应：

   ```
   {
       "EndpointConfigArn": "arn:aws:sagemaker:us-west-2:1234567890:endpoint-config/test-endpoint-config"
   }
   ```

1. 使用以下代码示例**创建端点**。

   ```
   aws sagemaker create-endpoint --endpoint-name 'test-endpoint' \    
   --endpoint-config-name 'test-endpoint-config' \                 
   --region us-west-2
   ```

   `create endpoint` 命令会返回类似以下格式的响应：

   ```
   {
       "EndpointArn": "arn:aws:sagemaker:us-west-2:1234567890:endpoint/test-endpoint"
   }
   ```

   使用以下 [describe-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/describe-endpoint.html) CLI 代码示例检查端点部署的进度。

   ```
   aws sagemaker describe-endpoint --endpoint-name 'test-endpoint' --region us-west-2
   ```

   上面的进度检查将返回以下格式的响应。

   ```
   {
       "EndpointName": "test-endpoint",
       "EndpointArn": "arn:aws:sagemaker:us-west-2:1234567890:endpoint/test-endpoint",
       "EndpointConfigName": "test-endpoint-config",
       "EndpointStatus": "Creating",
       "CreationTime": 1660251167.595,
       "LastModifiedTime": 1660251167.595
   }
   ```

   将 `EndpointStatus` 更改为 `InService` 后，端点即可用于实时推理。

1. 使用以下命令结构可**调用端点**进行实时推理。

   ```
   aws sagemaker-runtime invoke-endpoint --endpoint-name 'test-endpoint' \
   --region 'us-west-2' \
   --body '1,51,3.5,1.4,0.2' \
   --content-type 'text/csv' \
   '/tmp/inference_output'
   ```

   有关更多选项，请参阅[调用端点](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker-runtime/invoke-endpoint.html)。

------

## 部署来自不同账户的模型
<a name="autopilot-deploy-models-realtime-across-accounts"></a>

您可以从生成模型的原始账户之外的其他账户部署 Autopilot 模型。对于实施跨账户模型部署，本节介绍如何执行以下操作：   向所要部署模型所在的账户（生成账户）授予代入角色的权限。   从部署账户发出对 `DescribeAutoMLJob` 的调用以获取模型信息。   从生成账户授予对模型构件的访问权限。   

1. **向部署账户授予权限** 

   要代入生成账户中的角色，您必须向部署账户授予权限。这允许部署账户描述生成账户中的 Autopilot 作业。

   以下示例将生成账户与可信 `sagemaker-role` 实体结合使用。示例说明如何向 ID 为 111122223333 的部署账户授予，以便代入生成账户角色。

   ```
   "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "sagemaker.amazonaws.com"
                   ],
                   "AWS": [ "111122223333"]
               },
               "Action": "sts:AssumeRole"
           }
   ```

   ID 为 111122223333 的新账户现在可以代入生成账户的角色。

   接下来，从部署账户调用 `DescribeAutoMLJob` API 以获取生成账户创建的作业的描述。

   以下代码示例描述了部署账户中的模型。

   ```
   import sagemaker 
   import boto3
   session = sagemaker.session.Session()
   
   sts_client = boto3.client('sts')
   sts_client.assume_role
   
   role = 'arn:aws:iam::111122223333:role/sagemaker-role'
   role_session_name = "role-session-name"
   _assumed_role = sts_client.assume_role(RoleArn=role, RoleSessionName=role_session_name)
   
   credentials = _assumed_role["Credentials"]
   access_key = credentials["AccessKeyId"]
   secret_key = credentials["SecretAccessKey"]
   session_token = credentials["SessionToken"]
   
   session = boto3.session.Session()
           
   sm_client = session.client('sagemaker', region_name='us-west-2', 
                              aws_access_key_id=access_key,
                               aws_secret_access_key=secret_key,
                               aws_session_token=session_token)
   
   # now you can call describe automl job created in account A 
   
   job_name = "test-job"
   response= sm_client.describe_auto_ml_job(AutoMLJobName=job_name)
   ```

1. **向部署账户授予访问权限**，以访问生成账户中的模型构件。

   部署账户只需要访问生成账户中的模型构件以便进行部署。它们位于模型生成期间在原始 `CreateAutoMLJob` API 调用中指定的 [S3 OutputPath](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html#sagemaker-Type-AutoMLOutputDataConfig-S3OutputPath) 中。

   要向部署账户提供对模型构件的访问权限，请选择以下选项之一：

   1. 从生成账户向部署账户[授予访问权限](https://aws.amazon.com/premiumsupport/knowledge-center/cross-account-access-s3/)以访问 `ModelDataUrl`。

      接下来，您需要向部署账户授予代入角色的权限。请按照[实时推理步骤](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-deploy-models.html#autopilot-deploy-models-realtime)中的说明进行部署。

   1. [将模型工件从生成账户的原始 [S3](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html#sagemaker-Type-AutoMLOutputDataConfig-S3OutputPath) 复制](https://aws.amazon.com/premiumsupport/knowledge-center/copy-s3-objects-account/)OutputPath到生成账户。

      要授予对模型构件的访问权限，您必须定义 `best_candidate` 模型并将模型容器重新分配给新账户。

      以下示例说明如何定义 `best_candidate` 模型并重新分配 `ModelDataUrl`。

      ```
      best_candidate = automl.describe_auto_ml_job()['BestCandidate']
      
      # reassigning ModelDataUrl for best_candidate containers below
      new_model_locations = ['new-container-1-ModelDataUrl', 'new-container-2-ModelDataUrl', 'new-container-3-ModelDataUrl']
      new_model_locations_index = 0
      for container in best_candidate['InferenceContainers']:
          container['ModelDataUrl'] = new_model_locations[new_model_locations_index++]
      ```

      分配完容器后，请按照[使用部署 SageMaker APIs](#autopilot-deploy-models-api)中的步骤进行部署。

要在实时推理中构建负载，请参阅笔记本示例来[定义测试负载](https://aws.amazon.com/getting-started/hands-on/machine-learning-tutorial-automatically-create-models)。要从 CSV 文件创建负载并调用端点，请参阅[自动创建机器学习模型](https://aws.amazon.com/getting-started/hands-on/create-machine-learning-model-automatically-sagemaker-autopilot/#autopilot-cr-room)中的**使用模型进行预测**部分。

# 运行批量推理作业
<a name="autopilot-deploy-models-batch"></a>

批量预测也称为离线推理，可根据一批观察数据生成模型预测。对于大型数据集或者在您不需要立即响应模型预测请求时，批量推理是很好的选择。与之对比的是，在线推理（[实时推理](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-deploy-models.html#autopilot-deploy-models-realtime)）会实时生成预测。你可以使用 Python SDK、Autopilot 用户界面 (UI)、[SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable/) ([boto3) 或 () 从自动驾驶模型中AWS 进行](https://aws.amazon.com/sdk-for-python/)批量推断。 AWS Command Line Interface [AWS CLI](https://docs.aws.amazon.com/cli/)

以下选项卡显示了部署模型的三个选项：使用 APIs、Autopilot UI 或使用从不同的账户 APIs 进行部署。这些说明假定您已在 Autopilot 中创建了模型。如果您还没有模型，请参阅 [使用 AutoML API 为表格数据创建回归或分类作业](autopilot-automate-model-development-create-experiment.md)。要查看每个选项的示例，请打开各个选项卡。

## 使用 Autopilot UI 部署模型
<a name="autopilot-deploy-models-batch-ui"></a>

Autopilot UI 包含有用的下拉菜单、切换开关、工具提示等，可帮助您浏览模型部署。

下面的步骤说明如何部署 Autopilot 实验中的模型以便批量预测。

1. 登录[https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)并从导航窗格中选择 **Studio**。

1. 在左侧导航窗格中，选择 **Studio**。

1. 在**开始使用**下，选择要在其中启动 Studio 应用程序的域。如果您的用户配置文件仅属于一个域，则看不到用于选择域的选项。

1. 选择要为其启动 Studio Classic 应用程序的用户配置文件。如果域中没有用户配置文件，请选择**创建用户配置文件**。有关更多信息，请参阅[添加用户配置文件](https://docs.aws.amazon.com/sagemaker/latest/dg/domain-user-profile-add.html)。

1. 选择**启动 Studio**。如果用户配置文件属于共享空间，请选择**打开空间**。

1. 当 SageMaker Studio Classic 主机打开时，选择 “**启动 SageMaker Studio**” 按钮。

1. 从左侧导航窗格中选择 **AutoML**。

1. 在**名称**下，选择与您要部署的模型相对应的 Autopilot 实验。这将打开新的 **Autopilot 作业**选项卡。

1. 在**模型名称**部分中，选择要部署的模型。

1. 选择 **Deploy model (部署模型)**。这将打开一个新选项卡。

1. 在页面顶部，选择**批量预测**。

1. 对于**批量转换作业配置**，请输入**实例类型**、**实例计数**和其他可选信息。

1. 在**输入数据配置**部分中，打开下拉菜单。

   1. 对于 **S3 数据类型**，请选择**ManifestFile**或 **S3** Prefix。

   1. **对于 “**分割” 类型**，选择 “**线路**”、“**录音**” **TFRecord**或 “无”。**

   1. 对于**压缩**，选择 **Gzip** 或**无**。

1. 对于 **S3 位置**，请输入数据和其他可选信息的 Amazon S3 存储桶位置。

1. 在**输出数据配置**下，输入用于存储输出数据的 S3 存储桶，然后选择如何[组合作业的输出](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformOutput.html#sagemaker-Type-TransformOutput-AssembleWith)。

   1. 对于**其他配置（可选）**，您可以输入 MIME 类型和 **S3 加密密钥**。

1. 对于**输入/输出筛选和数据联接（可选）**，您可以输入 JSONpath 表达式来筛选输入数据，将输入源数据与输出数据联接，然后输入 JSONpath 表达式来筛选输出数据。

   1. 有关每种过滤器的示例，请参阅 [DataProcessing API](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DataProcessing.html#sagemaker-Type-DataProcessing-InputFilter)。

1. 要对输入数据集执行批量预测，请选择**创建批量转换作业**。此时将打开一个新的**批量转换作业**选项卡。

1. 在**批量转换作业**选项卡中：在**状态**部分查找您的作业名称。然后检查作业的进度。

## 使用部署 SageMaker APIs
<a name="autopilot-deploy-models-batch-steps"></a>

要使用 SageMaker APIs 进行批量推理，需要三个步骤：

1. **获取候选项定义** 

   中的候选定义[InferenceContainers](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers)用于创建 A SageMaker I 模型。

   以下示例说明如何使用 [DescribeAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html)API 获取最佳候选模型的候选定义。以以下 AWS CLI 命令为例。

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

   使用 [ListCandidatesForAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidatesForAutoMLJob.html)API 列出所有候选人。请参阅以下 AWS CLI 命令示例。

   ```
   aws sagemaker list-candidates-for-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

1. **创建 A SageMaker I 模型**

   要使用 [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)API 创建 SageMaker AI 模型，请使用前面步骤中的容器定义。请参阅以下 AWS CLI 命令示例。

   ```
   aws sagemaker create-model --model-name '<your-custom-model-name>' \
                       --containers ['<container-definition1>, <container-definition2>, <container-definition3>]' \
                       --execution-role-arn '<execution-role-arn>' --region '<region>
   ```

1. **创建 A SageMaker I 转换作业** 

   以下示例使用 [CreateTransformJob](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-transform-job.html)AP SageMaker I 创建 AI 转换作业。以以下 AWS CLI 命令为例。

   ```
   aws sagemaker create-transform-job --transform-job-name '<your-custom-transform-job-name>' --model-name '<your-custom-model-name-from-last-step>'\
   --transform-input '{
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix", 
                   "S3Uri": "<your-input-data>" 
               }
           },
           "ContentType": "text/csv",
           "SplitType": "Line"
       }'\
   --transform-output '{
           "S3OutputPath": "<your-output-path>",
           "AssembleWith": "Line" 
       }'\
   --transform-resources '{
           "InstanceType": "<instance-type>", 
           "InstanceCount": 1
       }' --region '<region>'
   ```

使用 [DescribeTransformJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTransformJob.html)API 检查转换任务的进度。以以下 AWS CLI 命令为例。

```
aws sagemaker describe-transform-job --transform-job-name '<your-custom-transform-job-name>' --region <region>
```

作业完成后，在 `<your-output-path>` 中可找到预测结果。

输出文件名称格式如下：`<input_data_file_name>.out`。例如，如果您的输入文件是 `text_x.csv`，则输出文件名称是 `text_x.csv.out`。

以下选项卡显示了 SageMaker Python SD AWS K、Python SDK (boto3) 和. AWS CLI

------
#### [ SageMaker Python SDK ]

以下示例使用 **[SageMaker Python 开发工具包](https://sagemaker.readthedocs.io/en/stable/overview.html)**进行批量预测。

```
from sagemaker import AutoML

sagemaker_session= sagemaker.session.Session()

job_name = 'test-auto-ml-job' # your autopilot job name
automl = AutoML.attach(auto_ml_job_name=job_name)
output_path = 's3://test-auto-ml-job/output'
input_data = 's3://test-auto-ml-job/test_X.csv'

# call DescribeAutoMLJob API to get the best candidate definition
best_candidate = automl.describe_auto_ml_job()['BestCandidate']
best_candidate_name = best_candidate['CandidateName']

# create model
model = automl.create_model(name=best_candidate_name, 
               candidate=best_candidate)

# create transformer
transformer = model.transformer(instance_count=1, 
    instance_type='ml.m5.2xlarge',
    assemble_with='Line',
    output_path=output_path)

# do batch transform
transformer.transform(data=input_data,
                      split_type='Line',
                       content_type='text/csv',
                       wait=True)
```

------
#### [ AWS SDK for Python (boto3) ]

 以下示例使用 **AWS SDK for Python (boto3)** 进行批量预测。

```
import sagemaker 
import boto3

session = sagemaker.session.Session()

sm_client = boto3.client('sagemaker', region_name='us-west-2')
role = 'arn:aws:iam::1234567890:role/sagemaker-execution-role'
output_path = 's3://test-auto-ml-job/output'
input_data = 's3://test-auto-ml-job/test_X.csv'

best_candidate = sm_client.describe_auto_ml_job(AutoMLJobName=job_name)['BestCandidate']
best_candidate_containers = best_candidate['InferenceContainers']
best_candidate_name = best_candidate['CandidateName']

# create model
reponse = sm_client.create_model(
    ModelName = best_candidate_name,
    ExecutionRoleArn = role,
    Containers = best_candidate_containers 
)

# Lauch Transform Job
response = sm_client.create_transform_job(
    TransformJobName=f'{best_candidate_name}-transform-job',
    ModelName=model_name,
    TransformInput={
        'DataSource': {
            'S3DataSource': {
                'S3DataType': 'S3Prefix',
                'S3Uri': input_data
            }
        },
        'ContentType': "text/csv",
        'SplitType': 'Line'
    },
    TransformOutput={
        'S3OutputPath': output_path,
        'AssembleWith': 'Line',
    },
    TransformResources={
        'InstanceType': 'ml.m5.2xlarge',
        'InstanceCount': 1,
    },
)
```

批量推理作业返回以下格式的响应。

```
{'TransformJobArn': 'arn:aws:sagemaker:us-west-2:1234567890:transform-job/test-transform-job',
 'ResponseMetadata': {'RequestId': '659f97fc-28c4-440b-b957-a49733f7c2f2',
  'HTTPStatusCode': 200,
  'HTTPHeaders': {'x-amzn-requestid': '659f97fc-28c4-440b-b957-a49733f7c2f2',
   'content-type': 'application/x-amz-json-1.1',
   'content-length': '96',
   'date': 'Thu, 11 Aug 2022 22:23:49 GMT'},
  'RetryAttempts': 0}}
```

------
#### [ AWS Command Line Interface (AWS CLI) ]

1. 使用以下代码示例可**获取候选项定义**。

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name 'test-automl-job' --region us-west-2
   ```

1. 使用以下代码示例可**创建模型**。

   ```
   aws sagemaker create-model --model-name 'test-sagemaker-model'
   --containers '[{
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/data-processor-models/test-job1-dpp0-1-e569ff7ad77f4e55a7e549a/output/model.tar.gz",
       "Environment": {
           "AUTOML_SPARSE_ENCODE_RECORDIO_PROTOBUF": "1",
           "AUTOML_TRANSFORM_MODE": "feature-transform",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "application/x-recordio-protobuf",
           "SAGEMAKER_PROGRAM": "sagemaker_serve",
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code"
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.3-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/tuning/flicdf10v2-dpp0-xgb/test-job1E9-244-7490a1c0/output/model.tar.gz",
       "Environment": {
           "MAX_CONTENT_LENGTH": "20971520",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv",
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,probabilities" 
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3", 
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/data-processor-models/test-job1-dpp0-1-e569ff7ad77f4e55a7e549a/output/model.tar.gz", 
       "Environment": { 
           "AUTOML_TRANSFORM_MODE": "inverse-label-transform", 
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv", 
           "SAGEMAKER_INFERENCE_INPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,labels,probabilities", 
           "SAGEMAKER_PROGRAM": "sagemaker_serve", 
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code" 
       } 
   }]' \
   --execution-role-arn 'arn:aws:iam::1234567890:role/sagemaker-execution-role' \
   --region 'us-west-2'
   ```

1. 使用以下代码示例可**创建转换作业**。

   ```
   aws sagemaker create-transform-job --transform-job-name 'test-tranform-job'\
    --model-name 'test-sagemaker-model'\
   --transform-input '{
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix",
                   "S3Uri": "s3://amzn-s3-demo-bucket/data.csv"
               }
           },
           "ContentType": "text/csv",
           "SplitType": "Line"
       }'\
   --transform-output '{
           "S3OutputPath": "s3://amzn-s3-demo-bucket/output/",
           "AssembleWith": "Line"
       }'\
   --transform-resources '{
           "InstanceType": "ml.m5.2xlarge",
           "InstanceCount": 1
       }'\
   --region 'us-west-2'
   ```

1. 使用以下代码示例可**检查转换作业的进度**。

   ```
   aws sagemaker describe-transform-job --transform-job-name  'test-tranform-job' --region us-west-2
   ```

   以下是来自转换作业的响应。

   ```
   {
       "TransformJobName": "test-tranform-job",
       "TransformJobArn": "arn:aws:sagemaker:us-west-2:1234567890:transform-job/test-tranform-job",
       "TransformJobStatus": "InProgress",
       "ModelName": "test-model",
       "TransformInput": {
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix",
                   "S3Uri": "s3://amzn-s3-demo-bucket/data.csv"
               }
           },
           "ContentType": "text/csv",
           "CompressionType": "None",
           "SplitType": "Line"
       },
       "TransformOutput": {
           "S3OutputPath": "s3://amzn-s3-demo-bucket/output/",
           "AssembleWith": "Line",
           "KmsKeyId": ""
       },
       "TransformResources": {
           "InstanceType": "ml.m5.2xlarge",
           "InstanceCount": 1
       },
       "CreationTime": 1662495635.679,
       "TransformStartTime": 1662495847.496,
       "DataProcessing": {
           "InputFilter": "$",
           "OutputFilter": "$",
           "JoinSource": "None"
       }
   }
   ```

   将 `TransformJobStatus` 更改为 `Completed` 后，您可以在中 `S3OutputPath` 查看推理结果。

------

## 部署来自不同账户的模型
<a name="autopilot-deploy-models-batch-across-accounts"></a>

要在不同于生成模型的账户的其他账户中创建批量推理作业，请按照[部署来自不同账户的模型](autopilot-deploy-models-realtime.md#autopilot-deploy-models-realtime-across-accounts)中的说明进行操作。然后，您可以按照[使用部署 SageMaker APIs](#autopilot-deploy-models-batch-steps)中的步骤创建模型和转换作业。

# 查看模型详细信息
<a name="autopilot-models-details"></a>

对于您可以获取的候选模型，Autopilot 会生成相关详细信息。这些详细信息包括以下内容：
+ 聚合 SHAP 值的图表，指示每个特征的重要性。这有助于解释模型预测。
+ 包括目标指标在内的各种训练和验证指标的摘要统计数据。
+ 用于训练和调整模型的超参数列表。

要在运行 Autopilot 作业后查看模型详细信息，请按照以下步骤操作：

1. 从左侧导航窗格中选择 “**主页**” 图标 (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/studio/icons/house.png))，查看顶级 **Amazon SageMaker Studio Classic** 导航菜单。

1. 从主工作区选择 **AutoML** 卡片。这将打开新的 **Autopilot** 选项卡。

1. 在**名称**部分中，选择包含您要检查的 Autopilot 作业的详细信息。这将打开新的 **Autopilot 作业**选项卡。

1. **Autopilot 作业**面板在**模型名称**下列出指标值，包括各个模型的**目标**指标。**最佳模型**列在**模型名称**下的列表顶部，还会在**模型**选项卡中突出显示。

   1. 要查看模型详细信息，请选择您感兴趣的模型，然后选择**查看模型详细信息**。这将打开一个新**模型详细信息**选项卡。

1. **模型详细信息**选项卡分为四个子部份。

   1. 顶部的**解释功能**选项卡包含聚合 SHAP 值的图表，指示每个特征的重要性。接下来是该模型的指标和超参数值。

   1. **性能**选项卡包含指标统计数据和混淆矩阵。

   1. **构件**选项卡包含有关模型输入、输出和中间结果的信息。

   1. **网络**选项卡汇总了网络隔离和加密选项。
**注意**  
**性能**选项卡中仅为**最佳模型**生成特征重要性和信息。

   有关 SHAP 值如何有助于基于功能重要性来解释预测的更多信息，请查看白皮书[《了解模型的解释功能》](https://pages.awscloud.com/rs/112-TZM-766/images/Amazon.AI.Fairness.and.Explainability.Whitepaper.pdf)。 SageMaker AI 开发者指南的[模型可解释性](clarify-model-explainability.md)主题中也提供了更多信息。

# 查看 Autopilot 模型性能报告
<a name="autopilot-model-insights"></a>

Amazon SageMaker AI 模型质量报告（也称为绩效报告）为 AutoML 作业生成的最佳候选模型提供见解和质量信息。这些信息包括作业详细信息、模型问题类型、目标函数和其他与问题类型相关的信息。本指南介绍如何以图形方式查看 Amazon A SageMaker utopilot 性能指标，或者如何在 JSON 文件中以原始数据形式查看指标。

例如，在分类问题中，模型质量报告包括以下内容：
+ 混淆矩阵
+ 接收者操作特征曲线下的面积 (AUC)
+ 用于了解假阳性和假阴性的信息
+ 在真阳性和假阳性之间权衡
+ 在查准率和查全率之间权衡

Autopilot 还会提供所有候选模型的性能指标。这些指标使用所有训练数据进行计算，用于估算模型性能。默认情况下，主工作区域包括这些指标。指标的类型由所要解决的问题类型确定。

有关 Autopilot 支持的可用指标列表，请参阅 A [mazon SageMaker API 参考文档](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobObjective.html)。

您可以使用相关指标对候选模型进行排序，以帮助您选择和部署能满足业务需求的模型。有关这些指标的定义，请参阅 [Autopilot 候选指标](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-metrics-validation.html#autopilot-metrics)主题。

要查看 Autopilot 作业的性能报告，请按照以下步骤操作：

1. 从左侧导航窗格中选择 “**主页**” 图标 (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/studio/icons/house.png))，查看顶级 **Amazon SageMaker Studio Classic** 导航菜单。

1. 从主工作区选择 **AutoML** 卡片。这将打开新的 **Autopilot** 选项卡。

1. 在**名称**部分中，选择包含您要检查的 Autopilot 作业的详细信息。这将打开新的 **Autopilot 作业**选项卡。

1. **Autopilot 作业**面板在**模型名称**下列出指标值，包括各个模型的**目标**指标。**最佳模型**列在**模型名称**下的列表顶部，并在**模型**选项卡中突出显示。

   1. 要查看模型详细信息，请选择您感兴趣的模型，然后选择**查看模型详细信息**。这将打开一个新**模型详细信息**选项卡。

1. 选择**解释功能**与**构件**选项卡之间的**性能**选项卡。

   1. 在选项卡的右上角，选择**下载性能报告**按钮上的向下箭头。

   1. 向下箭头提供了两个选项用于查看 Autopilot 性能指标：

      1. 您可以下载性能报告的 PDF 文件来查看指标图表。

      1. 您可以下载 JSON 文件，以原始数据格式查看指标。

有关如何在 SageMaker Studio Classic 中创建和运行 AutoML 作业的说明，请参阅。[使用 AutoML API 为表格数据创建回归或分类作业](autopilot-automate-model-development-create-experiment.md)

性能报告分为两个部分。第一部分包含有关生成模型的 Autopilot 作业的详细信息。第二部分包含模型质量报告。

## Autopilot 作业详细信息
<a name="autopilot-model-insights-details-and-metrics-table"></a>

报告的第一部分提供了有关生成模型的 Autopilot 作业的一些常规信息。这些作业详细信息包括以下内容：
+ Autopilot 候选项名称
+ Autopilot 作业名称
+ 问题类型
+ 目标指标
+ 优化方向

## 模型质量报告
<a name="autopilot-model-quality-report"></a>

模型质量信息由 Autopilot 模型见解生成。所生成报告的内容取决于其解决的问题类型：回归、二元分类还是多元分类。报告指定了评估数据集中包含的行数，以及进行评估的时间。

### 指标表
<a name="autopilot-model-quality-report-metrics"></a>

模型质量报告的第一部分包含指标表。它们适用于模型所解决的问题类型。

下图是 Autopilot 针对回归问题生成的指标表示例。它显示指标名称、值和标准差。

![\[Amazon SageMaker Autopilot 模型见解回归指标报告示例。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-regression-metrics.png)


下图是 Autopilot 针对多元分类问题生成的指标表示例。它显示指标名称、值和标准差。

![\[Amazon SageMaker Autopilot 模型见解多类分类指标报告示例。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-multiclass-metrics-report.png)


### 图形模型性能信息
<a name="autopilot-model-quality-report-graphs"></a>

 模型质量报告的第二部分包含图形信息，用于帮助您评估模型性能。此部分的内容取决于建模中使用的问题类型。

#### 接收者操作特征曲线下面积
<a name="autopilot-model-insights-auc-roc"></a>

接收者操作特征曲线下面积表示在真阳性和假阳性之间的权衡。它是用于二元分类模型的行业标准确性指标。AUC（Area Under the Curve，曲线下面积）衡量模型为针对阳性样本进行预测，相比针对阴性样本进行预测得到更高分数的能力。AUC 指标提供了在所有可能的分类阈值中，模型性能的综合度量。

AUC 指标返回从 0 到 1 的数值。接近 1 的 AUC 值指示高度准确的机器学习模型。接近 0.5 的值指示模型的性能基本相当于随机猜测。AUC 值接近 0 表示模型已经学习了正确的模式，但做出了完全不准确的预测。接近零的值表示数据有问题。有关 AUC 指标的更多信息，请转到维基百科上的[接收者操作特征](https://en.wikipedia.org/wiki/Receiver_operating_characteristic)页面。

以下是接收者操作特性曲线下面积图示例，用于评估二元分类模型所做的预测。虚线表示对 no-better-than-random猜测进行分类的模型将得分的接收器操作特性曲线下方的区域，AUC 分数为 0.5。更准确的分类模型的曲线高于这个随机基线，其中真阳性的比率超过了假阳性。表示二元分类模型性能的接收者操作特征曲线下面积采用粗实线。

![\[Amazon SageMaker Autopilot 区域下方的接收机工作特性曲线示例。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-receiver-operating-characteristic-curve.png)


图中**假阳性率** (FPR) 和**真阳性率** (TPR) 的组成部分摘要定义如下。
+ 正确预测
  + **真阳性** (TP)：预测的值为 1，真正的值为 1。
  + **真阴性** (TN)：预测的值为 0，真正的值为 0。
+ 错误预测
  + **假阳性** (FP)：预测的值为 1，但真正的值为 0。
  + **假阴性** (FN)：预测的值为 0，但真正的值为 1。

**假阳性率** (FPR) 衡量的是被错误预测为阳性 (FP) 的真阴性 (TN) 占 FP 和 TN 之和的比例。范围为 0 至 1。值越小说明预测准确性越高：
+ FPR = FP/(FP\$1TN)

**真阳性率** (TPR) 衡量的是被正确预测为阳性的真阳性 (TP) 占 TP 和假阴性 (FN) 之和的比例。范围为 0 至 1。较大的值表示更好的预测准确度。
+ TPR = TP/(TP\$1FN)

#### 混淆矩阵
<a name="autopilot-model-insights-confusion-matrix"></a>

混淆矩阵提供了一种方法，用于可视化模型针对不同问题的二元分类和多元分类预测的准确性。模型质量报告中的混淆矩阵包含以下内容。
+ 针对实际标签的正确和错误预测的数量和百分比
+ 准确预测的数量和百分比按照从左上角到右下角沿对角线排列。
+ 不准确预测的数量和百分比按照从右上角到左下角沿对角线排列。

在混淆矩阵上，错误预测是混淆值。

下图是一个二元分类问题的混淆矩阵的示例。它包含以下信息：
+ 垂直轴分为两行，分别包含正确和错误的实际标签。
+ 水平轴分为两列，包含模型所预测的正确和错误的标签。
+ 彩色条形图为较多数量的样本分配较深的色调，以直观地指示分类到每个类别中值的数量。

在此示例中，模型正确预测了实际的 2817 个假值，正确预测了 353 个实际的真值。模型错误地将 130 个实际的真值预测为假，并将 33 个实际的假值预测为真。色调的差异表明数据集不平衡。这种不平衡是因为实际的假标签比实际的真标签多得多。

![\[Amazon SageMaker 自动驾驶二进制混淆矩阵示例。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-confusion-matrix-binary.png)


下图是一个多元分类问题的混淆矩阵的示例。模型质量报告中的混淆矩阵包含以下内容。
+ 垂直轴分为三行，包含三个不同的实际标签。
+ 水平轴分为三列，包含模型所预测的标签。
+ 彩色条形图为较多数量的样本分配较深的色调，以直观地指示分类到每个类别中值的数量。

在下面的示例中，模型正确预测了标签 **f** 的 354 个实际值、标签 **i** 的 1094 个值和标签 **m** 的 852 个值。色调的差异表明数据集不平衡，因为值 **i** 的标签比值 **f** 或 **m** 要多得多。

![\[Amazon SageMaker Autopilot 多类混淆矩阵示例。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-confusion-matrix-multiclass.png)


模型质量报告提供了一个混淆矩阵，对于多元分类问题类型，最多可容纳 15 个标签。如果与标签对应的行显示 `Nan` 值，这意味着用于检查模型预测的验证数据集不包含带有该标签的数据。

#### 增益曲线
<a name="autopilot-model-insights-precision-gain-curve"></a>

在二元分类中，增益曲线预测使用一定百分比的数据集来寻找阳性标签的累计收益。在训练期间，通过在每个十分位数将累计的阳性观察数据数量，除以数据中阳性观察数据的总数，以此来计算增益值。如果训练期间创建的分类模型代表了未用于训练的数据，则可以使用增益曲线来预测为获得一定百分比的阳性标签，而必须作为目标的数据百分比。使用的数据集百分比越大，找到的阳性标签的百分比就越高。

在下面的示例图中，增益曲线是斜率变化的线段。直线是通过从数据集中随机选择一定百分比的数据而找到的阳性标签的百分比。将数据集的 20% 作为目标后，您会发现超过 40% 的阳性标签。举个例子，您可以考虑使用收益曲线来确定在营销活动中的投放量。在我们的增益曲线示例中，要让社区中 83% 的人购买饼干，您需要向大约 60% 的社区人员发送广告。

![\[带有百分比和增益值的 SageMaker Amazon Autopilot 增益曲线示例。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-gain-curve.png)


#### 提升曲线
<a name="autopilot-model-insights-lift-curve"></a>

在二元分类中，提升曲线说明了使用经过训练的模型进行预测时，与随机猜测相比，找到阳性标签的可能性的提升。在训练期间，在每个十分位数，使用百分比增益相对于阳性标签的比率来计算提升值。如果训练期间创建的模型代表了未用于训练的数据，则使用提升曲线来预测使用模型相比随机猜测的增益。

在下面的示例图中，提升曲线是斜率变化的线段。直线是与从数据集中随机选择对应百分比相关的提升曲线。对模型的分类标签使用 40% 的数据集作为目标后，您预计找到的阳性标签数量，约为通过随机选择 40% 的未用于训练的数据所能找到的阳性标签数量的 1.7 倍。

![\[带有百分比和提升值的 SageMaker Amazon Autopilot 提升曲线示例。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-lift-curve.png)


#### 查准率-查全率曲线
<a name="autopilot-model-insights-precision-recall-curve"></a>

查准率-查全率曲线代表了在二元分类问题中，在查准率和查全率之间的权衡。

**查准率**衡量在所有阳性预测（TP 和假阳性）中，预测为阳性的实际阳性 (TP) 的比例。范围为 0 至 1。较大的值表示预测值有更好的准确性。
+ 查准率 = TP/(TP\$1FP)

**查全率**衡量在所有实际阳性预测（TP 和假阴性）中，预测为阳性的实际阳性的比例。这也被称为敏感度或真阳性率。范围为 0 至 1。值越大表示可以更好地检测样本中的阳性值。
+ 查全率 = TP/(TP\$1FN)

分类问题的目标是正确地标注尽可能多的元素。查全率高但查准率低的系统返回的假阳性百分比很高。

下图描绘了将每封电子邮件标记为垃圾邮件的垃圾邮件筛选器。它的查全率很高，但查准率低，因为查全率不能衡量假阳性。

如果您的问题对假阳性值的惩罚很低，但对错过真阳性结果的惩罚很高，则更重视的是查全率而不是查准率。例如，在自动驾驶车辆中检测即将发生的碰撞。

![\[高查全率和低查准率系统的 Autopilot 示例，将所有样本建模为阳性。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-high-recall-low-precision.PNG)


相比之下，查准率高但查全率低的系统返回的假阴性百分比很高。将每封电子邮件标记为正常电子邮件（而不是垃圾邮件）的垃圾邮件筛选器查准率高，但查全率低，因为查准率无法衡量假阴性。

如果您的问题对假阴性值的惩罚很低，但对错过真阴性结果的惩罚很高，则更重视的是查准率而不是查全率。例如，标记可疑筛选条件用于税务审计。

下图描绘了一个垃圾邮件筛选器，具有高查准率，但查全率低，因为查准率不能衡量假阴性。

![\[高查准率和低查全率系统的 Autopilot 示例，将所有样本建模为阴性。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-high-precision-low-recall.PNG)


能够同时进行高查准率和高查全率预测的模型，可以得到大量正确标注的结果。有关更多信息，请参阅维基百科中的[查准率和查全率](https://en.wikipedia.org/wiki/Precision_and_recall)。

#### 查准率-查全率曲线下面积 (AUPRC)
<a name="autopilot-model-insights-area-under-precision-recall-curve"></a>

对于二元分类问题，Amazon A SageMaker utopilot 包括精确召回曲线 (AUPRC) 下方区域的图表。AUPRC 指标提供了在所有可能的分类阈值中，同时使用查准率和查全率的模型性能综合度量。AUPRC 不考虑真阴性的数量。因此，在数据中存在大量真阴性的情况下，它对于评估模型性能会很有用。例如，对包含罕见突变的基因进行建模。

下图是 AUPRC 图表的示例。查准率的最高值 1，查全率为 0。在图表的右下角，查全率是其最高值 (1)，查准率为 0。在这两点之间，AUPRC 曲线说明了在不同阈值下精度和查全率之间的权衡。

![\[查准率-查全率曲线描绘了在不同阈值下，在查准率和查全率之间的权衡。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-binary-precision-recall.png)


#### 实际值与预测值图表
<a name="autopilot-model-insights-actual-vs-predicted-plot"></a>

实际值与预测值的图表显示了实际模型值与预测模型值之间的差异。在下面的示例图中，实线是一条最佳拟合的直线。如果模型的准确性为 100%，则每个预测点将等于其实际点，并位于这条最佳拟合线上。距离最佳拟合线的距离直观地指示了模型误差。距离最佳拟合线的距离越大，模型误差越大。

![\[最佳拟合直线图、实际值与预测值差异图以及模型误差的示例。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-actual-vs-predicted-plot.png)


#### 标准化残差图
<a name="autopilot-model-insights-standardized-residual"></a>

标准化残差图包含以下统计项：

**`residual`**  
（原始）残差显示实际值与模型的预测值之间的差异。差异越大，残差值越大。

**`standard deviation`**  
标准差用于衡量值相对平均值的差异。高标准差表明有许多值与其平均值存在很大差异。低标准差表明有许多值接近其平均值。

**`standardized residual`**  
标准化残差将原始残差除以其标准差。标准化残差以标准差为单位，在识别数据中的异常值时非常有用，无论原始残差的比例有多大。如果某个标准化残差远小于或远大于其他标准化残差，则表明模型对这些观察数据的拟合效果不佳。

标准化残差图衡量观察数据与预期值之间差异强度。实际预测值显示在 x 轴上。差值的绝对值超过 3 的点通常被视为异常值。

以下示例图表显示，大量标准化残差聚集在水平轴上 0 附近。接近零的值表示模型对这些点的拟合效果良好。图形顶部和底部的点表示模型无法很好地预测这些点。

![\[Amazon SageMaker Autopilot 标准化残差图示例。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-standardized-residual.png)


#### 残差直方图
<a name="autopilot-model-insights-residual-histogram"></a>

残差直方图包含以下统计项：

**`residual`**  
（原始）残差显示实际值与模型的预测值之间的差异。差异越大，残差值越大。

**`standard deviation`**  
标准差用于衡量值相对平均值的差异程度。高标准差表明有许多值与其平均值存在很大差异。低标准差表明有许多值接近其平均值。

**`standardized residual`**  
标准化残差将原始残差除以其标准差。标准化残差以标准差为单位。这些值在识别数据中的异常值时非常有用，无论原始残差的比例有多大。如果某个标准化残差远小于或远大于其他标准化残差，则表明模型对这些观察数据的拟合效果不佳。

**`histogram`**  
直方图是显示值出现频率的图表。

残差直方图显示标准化残差值的分布。呈钟形分布并且中心在零的直方图，指示模型不会系统性地过高或过低预测目标值的任何特定范围。

在下图中，标准化的残差值表明模型对数据的拟合效果良好。如果图表显示的值远离中心值，则表明模型不能很好地拟合这些值。

![\[标准化残值接近零表示模型与数据拟合得很好。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-residual-histogram.png)


# 为管理 AutoML 任务生成的 Autopilot 笔记本
<a name="autopilot-automate-model-development-notebook-output"></a>

Amazon A SageMaker utopilot 使用 AutoML 作业管理自动机器学习 (AutoML) 过程中的关键任务。AutoML 作业创建了三个基于笔记本的报告，这些报告描述了 Autopilot 为生成候选模型而遵循的计划。

候选模型由一个（管道、算法）对组成。首先，有一个**数据探索**笔记本，它描述了 Autopilot 从您提供的数据中了解到的信息。其次，有一个**候选项定义**笔记本，它使用与数据相关信息来生成候选项。第三，**模型见解**报告，可以帮助详细说明 Autopilot 实验排行榜中最佳模型的性能特征。

**Topics**
+ [Autopilot 数据探索报告](autopilot-data-exploration-report.md)
+ [查找并运行候选定义笔记本](autopilot-candidate-generation-notebook.md)

如果你安装了 Amazon [ SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable)，你可以在亚马逊 SageMaker 人工智能中运行这些笔记本，也可以在本地运行这些笔记本。 您可以像共享其他 SageMaker Studio Classic 笔记本电脑一样共享笔记本电脑。 这些笔记本是为你进行实验而创建的。例如，您可以在笔记本中编辑以下项目：
+ 对数据使用的预处理器 
+ 超参数优化 (HPO) 运行的次数及其并行度
+ 要尝试的算法
+ 用于 HPO 作业的实例类型
+ 超参数范围

作为一种学习手段，鼓励对候选项定义笔记本进行修改。通过此功能，您可以了解在机器学习过程中做出的决策如何影响结果。

**注意**  
当您在默认实例中运行笔记本时，会产生基准费用。而且，当您从候选笔记本运行 HPO 作业时，这些作业会使用额外的计算资源，从而产生额外的费用。

# Autopilot 数据探索报告
<a name="autopilot-data-exploration-report"></a>

Amazon SageMaker Autopilot 会自动清理和预处理您的数据集。高质量的数据可提高机器学习效率，并生成能够做出更准确预测的模型。

客户提供的数据集中会存在的问题，如果没有某些领域知识的帮助，这些问题无法自动修复。例如，对于回归问题，目标列中的大异常值可能会导致对非异常值的预测不佳。根据建模目标，可能需要移除异常值。如果意外地将目标列作为输入特征之一，则最终模型的验证结果会很好，但对未来的预测几乎没有价值。

为了帮助客户发现这类问题，Autopilot 提供了数据探索报告，其中包含对其数据潜在问题的见解。报告还就如何处理这些问题提出了建议。

每个 Autopilot 作业都会生成包含报告的数据探索笔记本。报告存储在 Amazon S3 存储桶中，可以从输出路径访问。数据探索报告的路径通常采用以下模式。

```
[s3 output path]/[name of the automl job]/sagemaker-automl-candidates/[name of processing job used for data analysis]/notebooks/SageMaker AIAutopilotDataExplorationNotebook.ipynb
```

可以使用存储在中的[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html)操作响应从 Autopilot API 中[DataExplorationNotebookLocation](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobArtifacts.html#sagemaker-Type-AutoMLJobArtifacts-DataExplorationNotebookLocation)获取数据探索笔记本的位置。

在 SageMaker Studio Classic 中运行 Autopilot 时，你可以按照以下步骤打开数据探索报告：

1. ![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/studio/icons/house.png)从*左侧导航窗格*中选择 “**主页**” 图标以查看顶级 **Amazon SageMaker Studio Classic** 导航菜单。

1. 从主工作区选择 **AutoML** 卡片。这将打开新的 **Autopilot** 选项卡。

1. 在**名称**部分中，选择包含您要检查的数据探索笔记本的 Autopilot 作业。这将打开新的 **Autopilot 作业**选项卡。

1. 在 **Autopilot 作业**选项卡的右上角选择**打开数据探索笔记本**。

数据探索报告在训练过程开始之前根据您的数据生成。通过该报告，您可以停止可能导致毫无意义结果的 Autopilot 作业。同样，在重新运行 Autopilot 之前，您可以解决数据集中的任何问题或进行改进。通过这种方法，您可以利用自己的领域专业知识来手动提高数据质量，然后再在精心策划的数据集上训练模型。

数据报告只包含静态 Markdown，可以在任何 Jupyter 环境中打开。包含报告的笔记本可以转换为其他格式，例如 PDF 或 HTML。有关转换的更多信息，请参阅[使用 nbconvert 脚本将 Jupyter 笔记本转换为其他格式](https://nbconvert.readthedocs.io/en/latest/usage.html )。

**Topics**
+ [数据集摘要](#autopilot-data-exploration-report-dataset-summary)
+ [目标分析](#autopilot-data-exploration-report-target-analysis)
+ [数据示例](#autopilot-data-exploration-report-data-sample)
+ [重复行](#autopilot-data-exploration-report-duplicate-rows)
+ [跨列相关性](#autopilot-data-exploration-report-cross-column-correlations)
+ [异常行](#autopilot-data-exploration-report-cross-anomolous-rows)
+ [缺失值、基数和描述性统计数据](#autopilot-data-exploration-report-description-statistics-and-values)

## 数据集摘要
<a name="autopilot-data-exploration-report-dataset-summary"></a>

此**数据集摘要**提供了描述数据集特征的关键统计数据，包括行数、列数、重复行百分比和缺失目标值。它旨在在 Amazon A SageMaker utopilot 检测到您的数据集存在问题并且可能需要您干预时，向您发出快速警报。这些见解以警告的形式提供，并按照严重性“高”还是“低”分类。该分类取决于问题将对模型性能产生不利影响的置信度。

高严重性和低严重性见解以弹出窗口的形式出现在摘要中。在大多数见解中给出了建议，说明如何确认数据集存在的需要您注意的问题。另外还就如何解决这些问题提出了建议。

Autopilot 提供了有关我们数据集中缺失或无效目标值的其他统计数据，以帮助您检测高严重性见解可能没有捕获的其他问题。此外，某个特定类型的列具有意外的数量，可能表明数据集中缺少某些您希望使用的列。这也可能表明数据的准备或存储方式存在问题。修复 Autopilot 提请您注意的这些数据问题，可以改进在您的数据上进行训练的机器学习模型的性能。

高严重性见解显示在摘要部分以及报告中的其他相关部分中。高严重性和低严重性见解的示例通常会根据数据报告的具体部分给出。

## 目标分析
<a name="autopilot-data-exploration-report-target-analysis"></a>

此部分显示了各种高严重性和低严重性见解，它们与目标列中值的分布相关。检查目标列是否包含正确的值。目标列中不正确的值可能会导致机器学习模型无法达到预期的业务目标。本节介绍了几个高严重性和低严重性的数据见解。下面是几个示例。
+ **异常目标值** – 回归的目标分布偏斜或不寻常，例如重尾目标。
+ **低或高的目标基数** – 不频繁的类标签数量或大量的唯一类用于分类。

对于回归和分类问题类型，将会显示无效值（如数字无穷大）、`NaN` 或者目标列中的空白空间。根据问题类型，会显示不同的数据集统计信息。对于回归问题，您可以通过目标列值的分布来验证分布是否符合预期值。

以下屏幕截图显示了 Autopilot 数据报告，其中包括数据集中的平均值、中位数、最小值、最大值、异常值百分比等统计数据。屏幕截图还包括一个直方图，显示了目标列中标签的分布。直方图在水平轴上显示**目标列值**，在垂直轴上显示**计数**。屏幕截图中的方框突出显示了**异常值百分比**部分，以指示此统计数据的显示位置。

![\[关于目标列值分布的 Autopilot 数据报告。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-data-report-target-analysis.png)


图中显示有关目标值及其分布的多个统计数据。如果任何异常值、无效值或缺失百分比大于零，则会显示这些值，以便您调查数据包含不可用的目标值的原因。一些不可用的目标值会突出显示为低严重性见解警告。

在下面的示例中，` 符号被意外添加到目标列中，这使得目标中的数字值无法解析。此时显示**低严重性：“目标值无效”**警告。此示例中的警告指出“目标列中 0.14% 的标签无法转换为数值。最常见的非数字值包括：[“-3.8e-05”、“-9-05”、“-4.7e-05”、“-1.4999999999999999e-05”、“-4.3e-05”]。这通常表明数据收集或处理存在问题。Amazon SageMaker Autopilot 会忽略所有带有无效目标标签的观察结果。”

![\[Autopilot 数据报告中关于目标值无效的低严重性警告。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-data-report-target-analysis-invalid-target-values.png)


Autopilot 还提供直方图，显示用于分类的标签的分布。

以下屏幕截图显示了为目标列提供的统计信息示例，包括类数、缺失值或无效值。显示每个标签类别的分布的直方图，水平轴为**目标标签**，垂直轴为**频率**。

![\[Autopilot 数据报告中分类的基数很高。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-data-report-target-analysis-invalid-classification.png)


**注意**  
在报告笔记本底部的**定义**中，您可以找到此节以及其他章节中出现的所有数据的定义。

## 数据示例
<a name="autopilot-data-exploration-report-data-sample"></a>

Autopilot 会提供您的数据的实际样本，以帮助您发现数据集存在的问题。样本表水平滚动。检查样本数据，以验证数据集中是否存在所有必需的列。

Autopilot 还计算预测能力的度量，可用于识别特征与目标变量之间的线性或非线性关系。值为 `0` 表示该特征在预测目标变量时没有预测值。值为 `1` 表示对目标变量具有最高预测能力。有关预测能力的更多信息，请参阅**定义**部分。

**注意**  
不建议使用预测能力来代替特征重要性。只有当您确定预测能力是适合您的使用场景的度量时，才使用预测能力。

以下屏幕截图显示数据样本示例。最顶部的一行包含数据集中每列的预测能力。第二行包含列数据类型。随后的行包含标签。其中的列包含目标列，后面是各个特征列。每个特征列都有一个关联的预测能力，在此屏幕截图中以方框突出显示。在此示例中，包含特征 `x51` 的列对目标变量 `y` 的预测能力为 `0.68`。对特征 `x55` 的预测能力稍差，预测能力为 `0.59`。

![\[Autopilot 数据报告的数据样本预测能力。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-data-report-data-sample-prediction.png)


## 重复行
<a name="autopilot-data-exploration-report-duplicate-rows"></a>

如果数据集中存在重复行，Amazon A SageMaker utopilot 会显示其中的一个样本。

**注意**  
不建议在将数据集提供给 Autopilot 之前，通过向上取样来平衡数据集。这可能会导致 Autopilot 训练的模型的验证分数不准确，并且生成的模型可能无法使用。

## 跨列相关性
<a name="autopilot-data-exploration-report-cross-column-correlations"></a>

Autopilot 使用 Pearson 相关系数（衡量两个特征之间线性相关性的指标）来填充相关矩阵。在相关矩阵中，在水平轴和垂直轴上绘制数字特征，Pearson 相关系数绘制在它们的交点处。两个特征之间的相关性越高，系数也越高，最大值为 `|1|`。
+ 值为 `-1` 表示特征完全呈负相关。
+ 当特征与其自身相关时，值为 `1`，表示完全正相关。

您可以使用相关矩阵中的信息来移除高度相关的特征。较少数量的特征减少了模型过度拟合的可能性，并可以通过两种方式降低生产成本。它减少了所需的 Autopilot 运行时间，并且对于某些应用程序来说，可以降低数据收集过程的成本。

以下屏幕截图展示了有 `7` 个特征的相关矩阵示例。每个特征都以矩阵形式显示在水平轴和垂直轴上。Pearson 的相关系数显示在两个特征之间的交点处。每个特征交点都有与之相关的色调。相关性越高，色调越暗。最暗的色调占据了矩阵的对角线，此处每个特征都与其自身相关，代表着完全相关。

![\[Autopilot 数据报告的数据互相关矩阵。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-data-report-data-cross-column-statistics.png)


## 异常行
<a name="autopilot-data-exploration-report-cross-anomolous-rows"></a>

Amazon SageMaker Autopilot 会检测您的数据集中哪些行可能存在异常。然后，它为每行分配一个异常分数。具有负异常分数的行被视为异常。

以下屏幕截图显示了 Autopilot 分析对包含异常分数的行的输出。包含异常分数的列出现在每行的数据集列旁边。

![\[带有异常行的 Autopilot 数据集，显示负异常分数。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-data-report-data-anomalous-rows.png)


## 缺失值、基数和描述性统计数据
<a name="autopilot-data-exploration-report-description-statistics-and-values"></a>

Amazon SageMaker Autopilot 会检查并报告数据集中各个列的属性。在数据报告呈现此分析的每个部分中，内容按顺序排列。这样您就可以先检查最“可疑”的值。使用这些统计数据，您可以改进单个列的内容，从而进一步提高 Autopilot 生成的模型的质量。

Autopilot 在包含分类值的列中计算分类值的几个统计数据。这包括唯一条目的数量，对于文本是唯一单词的数量。

Autopilot 在包含数字值的列中计算数字值的几个标准统计数据。下图描绘了这些统计数据，包括平均值、中值、最小值和最大值，以及数值类型百分比和异常值的百分比。

![\[Autopilot 数据报告有关带有数值的列的统计信息。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-data-report-data-descriptive-statistics.png)


# 查找并运行候选定义笔记本
<a name="autopilot-candidate-generation-notebook"></a>

候选项定义笔记本包含每个建议的预处理步骤、算法和超参数范围。

您可以通过两种方式之一选择要训练的候选模型并进行调整。第一种，通过运行笔记本的各个部分。第二种，通过运行整个笔记本来优化所有候选模型以确定最佳候选模型。如果您运行整个笔记本，则在作业完成后，只会显示最佳候选模型。

要从 SageMaker Studio Classic 运行自动驾驶，请按照以下步骤打开候选人定义笔记本：

1. ![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/studio/icons/house.png)从左侧导航窗格中选择 “**主页**” 图标以查看顶级 **Amazon SageMaker Studio Classic** 导航菜单。

1. 从主工作区选择 **AutoML** 卡片。这将打开新的 **Autopilot** 选项卡。

1. 在**名称**部分中，选择包含您要检查的候选项定义笔记本的 Autopilot 作业。这将打开新的 **Autopilot 作业**选项卡。

1. 在 **Autopilot 作业**选项卡的右上角，选择**打开候选项生成笔记本**。这将打开 **Amazon A SageMaker utopilot 候选人定义笔记本**的全新只读预览。

要运行候选项定义笔记本，请按照下述步骤操作：

1. 在 **Amazon A SageMaker utopilot 候选人定义**笔记本选项卡的右上角选择 “导入**笔记本**”。这将打开一个选项卡，用于设置新的笔记本环境来运行笔记本。

1. 选择现有 SageMaker **图像**或使用**自定义图像**。

1. 选择**内核**、**实例类型**和可选的**启动脚本**。

现在，您可以在这个新环境中运行笔记本。

# 在生成的容器中配置推理输出
<a name="autopilot-automate-model-development-container-output"></a>

Autopilot 生成一个有序 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerDefinition.html) 列表。这可用于构建模型以部署在机器学习管道中。此模型可用于在线托管和推理。

客户可以使用 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidateForAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidateForAutoMLJob.html) API 列出推理容器定义。表示最佳候选模型的推理容器定义列表也在 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html) 响应中提供。

## 回归和分类问题类型的推理容器定义
<a name="autopilot-problem-type-container-output"></a>

Autopilot 会生成特定于[训练模式](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html#autopilot-training-mode)和作业[问题类型的](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-datasets-problem-types.html#autopilot-problem-types)推理容器。

### 超参数优化 (HPO) 模式的容器定义
<a name="autopilot-problem-type-container-output-hpo"></a>
+ **回归**：HPO 生成两个容器：

  1. 一个是特征工程容器，它将原始特征转换为回归算法用来进行训练的特征。

  1. 另一个是算法容器，它转换特征并为数据集生成回归分数。
+ **分类**：HPO 生成三个容器：

  1. 一个是特征工程容器，它将原始特征转换为分类算法用来进行训练的特征。

  1. 一个是算法容器，它生成具有最高概率的 `predicted_label`。此容器还可以生成与推理响应中分类结果关联的各种概率。

  1. 一个是特征工程容器，用于对算法预测进行后处理。例如，它可以对预测的标签执行逆变换，然后将其更改为原始标签。

### 组合模式的容器定义
<a name="autopilot-problem-type-container-output-ensemble"></a>

在组合模式下，回归和分类问题类型都只有一个推理容器。此推理容器会转换特征并根据问题类型生成预测。

## 每种问题类型的推理响应
<a name="autopilot-problem-type-inference-response"></a>

### 分类模型的推理响应
<a name="autopilot-problem-type-inference-response-classification"></a>

对于分类推理容器，您可以使用四个预定义的键来选择推理响应的内容：
+ `predicted_label`：预测正确标签的可能性最高的标签，由 Autopilot 确定。
+ `probability`: 
  + **HPO 模型：**二元分类的 `True` 类的概率。`predicted_label` 的多元分类的概率。
  + **组装模型：** `predicted_label` 的二元分类和多元分类的概率。
+ `probabilities`：所有相应类的概率列表。
+ `labels`：所有标签的列表。

例如，对于二元分类问题，如果您传递了推理响应键 `['predicted_label', 'probability', 'probabilities', 'labels']` 并且输出响应显示为 `[1, 0.1, "[0.9, 0.1]", "['1', '0']"]`，则应将其解释如下：

1. `predicted_label` 等于 `1`，因为标签“1”的概率更高（在本例中为 `0.9`）。

1. 对于 HPO 模型，`probability` 等于 `0.1`，这是 Autopilot 选择 `positive_class`（在本例中为 `0`）的概率。

   对于组合模型，`probability` 等于 `0.9`，这是 `predicted_label` 的概率。

1. `probabilities` 列出了 `labels` 中每个标签的 `probability`。

1. `labels` 是数据集中的唯一标签，其中第二个标签（在本例中为“0”）是 Autopilot 选择的 `positive_class`。

默认情况下，推理容器配置为仅由 `predicted_label` 生成。要选择其他推理内容，您可以更新 `inference_response_keys` 参数以包含最多以下三个环境变量：
+ `SAGEMAKER_INFERENCE_SUPPORTED`：设置此项是为了提示您每个容器支持哪些内容。
+ `SAGEMAKER_INFERENCE_INPUT`：此项应设置为容器在输入负载中需要的键。
+ `SAGEMAKER_INFERENCE_OUTPUT`：此项应填充为容器输出的一组键。

### HPO 模式下分类模型的推理响应
<a name="autopilot-problem-type-inference-response-classification-hpo"></a>

此部分介绍如何使用超参数优化 (HPO) 模式，配置来自分类模型的推理响应。

要在 HPO 模式下选择推理响应内容，请执行以下操作：将 `SAGEMAKER_INFERENCE_INPUT` 和 `SAGEMAKER_INFERENCE_OUTPUT` 变量添加到在 HPO 模式下为分类问题生成的第二个和第三个容器中。

第二个容器（算法）支持的键是 predicted\$1label、probability 和 probabilities。请注意，有意不将 `labels` 添加到 `SAGEMAKER_INFERENCE_SUPPORTED` 中。

第三个分类模型容器支持的键是 `predicted_label`、`labels`、`probability` 和 `probabilities`。因此，`SAGEMAKER_INFERENCE_SUPPORTED` 环境包含这些键的名称。

要更新用于接收 `predicted_label` 和 `probability` 的推理容器的定义，请使用以下代码示例。

```
containers[1]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_INPUT': 'predicted_label, probability'})
containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
```

以下代码示例更新用于接收 `predicted_label`、`probabilities` 和 `labels` 的推理容器的定义。请不要将 `labels` 传递到第二个容器（算法容器），因为它由第三个容器独立生成。

```
containers[1]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label,probabilities'})
containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_INPUT': 'predicted_label,probabilities'})
containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probabilities,labels'})
```

以下可折叠部分提供了适用于 Python 的 SageMaker SDK 适用于 Python (Boto3) 的 AWS SDK 和适用于 Python 的开发工具包的代码示例。每个部分都说明了如何在 HPO 模式下为相应的代码示例选择推理响应的内容。

#### 适用于 Python (Boto3) 的 AWS SDK
<a name="autopilot-problem-type-inference-response-classification-hpo-boto3"></a>

```
import boto3

sm_client = boto3.client('sagemaker', region_name='<Region>')

role = '<IAM role>'
input_data = '<S3 input uri>'
output_path = '<S3 output uri>'

best_candidate = sm_client.describe_auto_ml_job(AutoMLJobName='<AutoML Job Name>')['BestCandidate']
best_candidate_containers = best_candidate['InferenceContainers']
best_candidate_name = best_candidate['CandidateName']

best_candidate_containers[1]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
best_candidate_containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_INPUT': 'predicted_label, probability'})
best_candidate_containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})

# create model
reponse = sm_client.create_model(
    ModelName = '<Model Name>',
    ExecutionRoleArn = role,
    Containers = best_candidate_containers
)

# Lauch Transform Job
response = sm_client.create_transform_job(
    TransformJobName='<Transform Job Name>',
    ModelName='<Model Name>',
    TransformInput={
        'DataSource': {
            'S3DataSource': {
                'S3DataType': 'S3Prefix',
                'S3Uri': input_data
            }
        },
        'ContentType': "text/CSV",
        'SplitType': 'Line'
    },
    TransformOutput={
        'S3OutputPath': output_path,
        'AssembleWith': 'Line',
    },
    TransformResources={
        'InstanceType': 'ml.m4.xlarge',
        'InstanceCount': 1,
    },
)
```

#### SageMaker Python 软件开发工具包
<a name="autopilot-problem-type-inference-response-classification-hpo-sdk"></a>

```
from sagemaker import AutoML

aml = AutoML.attach(auto_ml_job_name='<AutoML Job Name>')
aml_best_model = aml.create_model(name='<Model Name>',
                                  candidate=None,
                                  inference_response_keys**=['probabilities', 'labels'])

aml_transformer = aml_best_model.transformer(accept='text/csv',
                                            assemble_with='Line',
                                            instance_type='ml.m5.xlarge',
                                            instance_count=1,)

aml_transformer.transform('<S3 input uri>',
                          content_type='text/csv',
                          split_type='Line',
                          job_name='<Transform Job Name>',
                          wait=True)
```

### 组合模式下分类模型的推理响应
<a name="autopilot-problem-type-inference-response-classification-ensemble"></a>

此部分介绍如何使用组合模式，配置来自分类模型的推理响应。

在**组合模式**下，要选择推理响应的内容，请更新 `SAGEMAKER_INFERENCE_OUTPUT` 环境变量。

分类模型容器支持的键是 `predicted_label`、`labels`、`probability` 和 `probabilities`。这些键包含在 `SAGEMAKER_INFERENCE_SUPPORTED` 环境中。

要更新推理容器定义以接收 `predicted_label` 和 `probability`，请参阅以下代码示例。

```
containers[0]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
```

以下可折叠部分提供的代码示例，可用于在组合模式下选择推理响应内容。该示例使用 适用于 Python (Boto3) 的 AWS SDK。

#### 适用于 Python (Boto3) 的 AWS SDK
<a name="autopilot-problem-type-inference-response-classification-ensembling-boto3"></a>

```
import boto3
sm_client = boto3.client('sagemaker', region_name='<Region>')

role = '<IAM role>'
input_data = '<S3 input uri>'
output_path = '<S3 output uri>' 

best_candidate = sm_client.describe_auto_ml_job(AutoMLJobName='<AutoML Job Name>')['BestCandidate']
best_candidate_containers = best_candidate['InferenceContainers']
best_candidate_name = best_candidate['CandidateName']

*best_candidate_containers[0]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
*
# create model
reponse = sm_client.create_model(
    ModelName = '<Model Name>',
    ExecutionRoleArn = role,
    Containers = best_candidate_containers
)

# Lauch Transform Job
response = sm_client.create_transform_job(
    TransformJobName='<Transform Job Name>',
    ModelName='<Model Name>',
    TransformInput={
        'DataSource': {
            'S3DataSource': {
                'S3DataType': 'S3Prefix',
                'S3Uri': input_data
            }
        },
        'ContentType': "text/CSV",
        'SplitType': 'Line'
    },
    TransformOutput={
        'S3OutputPath': output_path,
        'AssembleWith': 'Line',
    },
    TransformResources={
        'InstanceType': 'ml.m4.xlarge',
        'InstanceCount': 1,
    },
)
```

以下可折叠部分提供的代码示例与 HPO 的 Python SageMaker 开发工具包示例相同。提供此示例是为了便于您参考。

#### SageMaker Python 软件开发工具包
<a name="autopilot-problem-type-inference-response-classification-ensembling-sdk"></a>

以下 HPO 代码示例使用 SageMaker 适用于 Python 的软件开发工具包。

```
from sagemaker import AutoML

aml = AutoML.attach(auto_ml_job_name='<AutoML Job Name>')
aml_best_model = aml.create_model(name='<Model Name>',
                                  candidate=None,
                                  *inference_response_keys**=['probabilities', 'labels'])*

aml_transformer = aml_best_model.transformer(accept='text/csv',
                                            assemble_with='Line',
                                            instance_type='ml.m5.xlarge',
                                            instance_count=1,)

aml_transformer.transform('<S3 input uri>',
                          content_type='text/csv',
                          split_type='Line',
                          job_name='<Transform Job Name>',
                          wait=True)
```

# 使用 AutoML API 创建映像分类作业
<a name="autopilot-create-experiment-image-classification"></a>

以下说明说明如何使用 SageMaker [API 参考](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html)创建 Amazon A SageMaker utopilot 任务作为图片分类问题类型的试点实验。

**注意**  
文本和映像分类、时间序列预测和大型语言模型微调等任务都可以通过 [AutoML REST API](autopilot-reference.md) 的第 2 版独家实现。如果您选择的语言是 Python，则可以直接引用 Amazon SageMaker Python 软件开发工具包的 A [uto MLV2 对象](https://sagemaker.readthedocs.io/en/stable/api/training/automlv2.html#sagemaker.automl.automlv2.AutoMLV2)。[适用于 Python (Boto3) 的 AWS SDK](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_auto_ml_job_v2.html)  
喜欢用户界面便利性的用户可以使用 [Amazon SageMaker Canv](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html) as 访问预训练模型和生成式 AI 基础模型，或者创建针对特定文本、图像分类、预测需求或生成式 AI 量身定制的自定义模型。

您可以使用 Amazon Autopilot 支持的任何语言调用 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)API 操作，以编程方式创建 SageMaker 自动驾驶图像分类实验。 AWS CLI

有关此 API 操作如何转换为所选语言中函数的信息，请参阅 `CreateAutoMLJobV2` 中的[另请参阅](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_SeeAlso)部分并选择 SDK。例如，对于 Python 用户，请参阅 适用于 Python (Boto3) 的 AWS SDK中 `[create\$1auto\$1ml\$1job\$1v2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_auto_ml_job_v2)` 的完整请求语法。

以下参数集合介绍了图像分类中使用的 `CreateAutoMLJobV2` API 操作的必需和可选输入请求参数。

## 必需参数
<a name="image-classification-api-required-params"></a>

在调用 `[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)` 以创建 Autopilot 实验进行图像分类时，您必须提供以下值：
+ `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)`，用于指定您作业的名称。
+ `[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)` 中至少有一个 `[AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)` 来指定您的数据来源。
+ 一个类型为 `[ImageClassificationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ImageClassificationJobConfig.html)` 的 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`。
+ `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)`，指定用于存储 AutoML 作业构件的 Amazon S3 输出路径。
+ `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)`，指定用于访问您的数据的角色的 ARN。

所有其他参数都是可选的。

## 可选参数
<a name="image-classification-api-optional-params"></a>

以下部分提供了一些可以传递给图像分类 AutoML 作业的可选参数的详细信息。

### 如何指定 AutoML 作业的训练和验证数据集
<a name="image-classification-data-training-or-validation"></a>

您可以提供自己的验证数据集和自定义的数据拆分比率，也可以让 Autopilot 自动拆分数据集。

每个[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)对象（参见必填参数 [Auto MLJob InputDataConfig](https://docs.aws.amazon.com/sagemaker-api/src/AWSSageMakerAPIDoc/build/server-root/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)）都有`ChannelType`，可以将其设置为`training`或指定在构建机器学习模型时如何使用数据的`validation`值。

数据来源至少需要一个，最多可以有两个：一个用于训练数据，一个用于验证数据。如何将数据拆分为训练和验证数据集，取决于您有一个还是两个数据来源。

如何将数据拆分为训练和验证数据集，取决于您有一个还是两个数据来源。
+ 如果您只有**一个数据来源**，则默认情况下 `ChannelType` 设置为 `training`，并且必须具有此值。
  + 如果未设置 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html) 中的 `ValidationFraction` 值，则默认情况下，将使用来自此来源中数据的 0.2 (20%) 进行验证。
  + 如果 `ValidationFraction` 设置为介于 0 和 1 之间的值，则根据指定的值拆分数据集，该值指定用于验证的数据集的比例。
+ 如果您有**两个数据来源**，则其中一个 `AutoMLJobChannel` 对象的 `ChannelType` 必须设置为默认值 `training`。另一个数据来源的 `ChannelType` 必须设置为 `validation`。这两个数据来源必须具有相同的格式（CSV 或 Parquet）和相同的架构。在这种情况下，您不可为 `ValidationFraction` 设置值，因为每个来源的所有数据都用于训练或验证。设置此值会导致错误。

### 如何为 AutoML 作业指定自动模型部署配置
<a name="image-classification-auto-model-deployment"></a>

要为 AutoML 作业的最佳候选模型启用自动部署，请在 AutoML 任务请求中包括 `[ModelDeployConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-ModelDeployConfig)`。这将允许将最佳模型部署到 A SageMaker I 端点。以下是可供自定义的配置。
+ 要让 Autopilot 生成端点名称，请将 `[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)` 设置为 `True`。
+ 要为端点提供自己的名称，请设置 `[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents) to False and provide a name of your choice in [EndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)`。

# 图像分类的数据集格式和目标指标
<a name="image-classification-data-format-and-metric"></a>

在此部分中，我们将了解图像分类中可以使用的数据集格式，以及用于评估机器学习候选模型预测质量的目标指标。为候选人计算的指标是使用一系列[MetricDatum](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_MetricDatum.html)类型指定的。

## 数据集格式
<a name="image-classification-data-format"></a>

Autopilot 支持 .png、.jpg 和 .jpeg 图像格式。如果您的数据集包含的全部是 .png 图像，则使用 `image/png`；如果数据集包含的全部是 .jpg 或 .jpeg 图像，则使用 `image/jpeg`；如果数据集包含混合格式的图像，则使用 `image/*`。

## 目标指标
<a name="image-classification-objective-metric"></a>

以下列表包含当前可用于衡量图像分类模型性能的指标名称。

**`Accuracy`**  
 正确分类的项目数，相比所分类项目总数（正确和错误）的比率。准确性衡量预测类值与实际值的接近程度。准确性指标的值在零 (0) 和壹 (1) 之间变化。值为 1 表示完全准确，0 表示完全不准确。

# 部署 Autopilot 模型进行实时推理
<a name="image-classification-deploy-models"></a>

训练 Amazon A SageMaker utopilot 模型后，您可以设置终端节点并以交互方式获取预测结果。以下部分介绍将模型部署到 SageMaker AI 实时推理端点以从模型中获取预测的步骤。

## 实时推理
<a name="autopilot-deploy-models-text-image-classification-realtime"></a>

实时推理非常适合有实时、交互式、低延迟要求的推理工作负载。此部分演示如何使用实时推理，以交互方式从模型获取预测。

您可以使用 SageMaker APIs 手动部署在自动驾驶实验中生成最佳验证指标的模型，如下所示。

或者，当您创建 Autopilot 实验时，也可选择自动部署选项。有关设置模型自动部署的信息，请参阅请求参数 `[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestParameters)` 中的 `[ModelDeployConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-ModelDeployConfig)`。这将自动创建一个端点。

**注意**  
为避免产生不必要的费用，您可以删除从模型部署中创建的不需要端点和资源。有关按地区划分的实例定价的信息，请参阅 [Amazon SageMaker 定价](https://aws.amazon.com/sagemaker/pricing/)。

1. **获取候选容器定义**

   从中获取候选容器定义[InferenceContainers](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers)。用于推理的容器定义是指专为部署和运行经过训练的 SageMaker AI 模型进行预测而设计的容器化环境。

   以下 AWS CLI 命令示例使用 [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) API 获取最佳候选模型的候选定义。

   ```
   aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name job-name --region region
   ```

1. **列出候选项**

   以下 AWS CLI 命令示例使用 [ListCandidatesForAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidatesForAutoMLJob.html)API 列出所有候选模型。

   ```
   aws sagemaker list-candidates-for-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

1. **创建 A SageMaker I 模型**

   使用前面步骤中的容器定义和您选择的候选容器通过 [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)API 创建 SageMaker AI 模型。以以下 AWS CLI 命令为例。

   ```
   aws sagemaker create-model --model-name '<your-candidate-name>' \
                       --containers ['<container-definition1>, <container-definition2>, <container-definition3>]' \
                       --execution-role-arn '<execution-role-arn>' --region '<region>
   ```

1. **创建端点配置**

   以下 AWS CLI 命令示例使用 [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html)API 创建终端节点配置。

   ```
   aws sagemaker create-endpoint-config --endpoint-config-name '<your-endpoint-config-name>' \
                       --production-variants '<list-of-production-variants>' \
                       --region '<region>'
   ```

1. **创建端点** 

   以下 AWS CLI 示例使用 [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html)API 创建终端节点。

   ```
   aws sagemaker create-endpoint --endpoint-name '<your-endpoint-name>' \
                       --endpoint-config-name '<endpoint-config-name-you-just-created>' \
                       --region '<region>'
   ```

   使用 [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html)API 检查您的终端节点部署进度。以以下 AWS CLI 命令为例。

   ```
   aws sagemaker describe-endpoint —endpoint-name '<endpoint-name>' —region <region>
   ```

   将 `EndpointStatus` 更改为 `InService` 后，端点即可用于实时推理。

1. **调用端点** 

   以下命令结构调用端点以进行实时推理。

   ```
   aws sagemaker invoke-endpoint --endpoint-name '<endpoint-name>' \ 
                     --region '<region>' --body '<your-data>' [--content-type] '<content-type>' <outfile>
   ```

# 解释功能报告
<a name="image-classification-explainability-report"></a>

Amazon A SageMaker utopilot 提供可解释性报告，以帮助解释最佳候选模型如何预测图像分类问题。该报告可以帮助 ML 工程师、产品经理和其他内部利益相关者了解模型的特征。机器学习的透明度决定了使用方和监管机构是否信任和解释根据模型预测做出的决策。您可以将这些解释用于审计目的和满足监管要求，建立对模型的信任，支持人工决策，以及用于调试和提高模型性能。

用于图像分类的 Autopilot 解释功能使用可视化的类激活地图 (CAM) 方法，该方法生成热图，其中每种颜色的分布和强度强调了图像中对特定预测贡献最大的区域。这种方法依赖于从 [Eigen-CAM](https://arxiv.org/ftp/arxiv/papers/2008/2008.00299.pdf) 实施中得出的主成分。

Autopilot 生成 JSON 文件格式的解释功能报告。该报告包含基于验证数据集的分析详细信息。用于生成报告的每张图像都包含以下信息：
+ `input_image_uri`：输入图像的 Amazon S3 URI，这些图像获取作为热图的输入。
+ `heatmap_image_uri`：Autopilot 生成的热图图像的 Amazon S3 URI。
+ `predicted_label`：由 Autopilot 训练的最佳模型预测的标签类。
+ `probability`：预测 `predicted_label` 的置信度。

在对 `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` 响应的 `[BestCandidate.CandidateProperties.CandidateArtifactLocations.Explainability](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html#sagemaker-Type-CandidateArtifactLocations-Explainability)` 位置，您可以找到为最佳候选项生成的解释功能构件的 Amazon S3 前缀。

以下示例说明 [Oxford-IIIT Pet Dataset](https://www.robots.ox.ac.uk/~vgg/data/pets/) 中几个样本的热图是什么样的。热图图像显示了颜色渐变，这些渐变表示图像中不同特征的相对重要性。与以蓝色表示的特征相比，以红色表示的区域在预测输入图像的“predicted\$1label”方面更重要。


****  

| 输入图像 | 热图图像 | 
| --- | --- | 
|  ![\[狗的原始图像。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-image-classification-explainability-img1-input.png)  |  ![\[一只带有狗的热图，突出显示对预测标签贡献较大的区域。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-image-classification-explainability-img1-output.png)  | 
|  ![\[猫的原始图像。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-image-classification-explainability-img2-input.png)  |  ![\[一只带有猫热图，突出显示对预测标签贡献较大的区域。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-image-classification-explainability-img2-output.png)  | 

# 模型性能报告
<a name="image-classification-model-performance-report"></a>

Amazon SageMaker AI 模型质量报告（也称为绩效报告）为 AutoML 作业生成的最佳候选模型提供见解和质量信息。这包括有关作业详细信息、模型问题类型、目标函数和各种指标的信息。此部分详细介绍图像分类问题的性能报告的内容，并说明如何访问 JSON 文件原始数据格式的指标。

在对 `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` 响应的 `[BestCandidate.CandidateProperties.CandidateArtifactLocations.ModelInsights](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html#sagemaker-Type-CandidateArtifactLocations-ModelInsights)` 位置，您可以找到为最佳候选项生成的模型质量报告构件的 Amazon S3 前缀。

性能报告分为两个部分：
+ 第一部分包含有关生成模型的 Autopilot 作业的详细信息。
+  第二部分包含带有各种性能指标的模型质量报告。

## Autopilot 作业详细信息
<a name="image-classification-performance-report-jobdetails"></a>

报告的第一部分提供了有关生成模型的 Autopilot 作业的一些常规信息。这些详情包括以下信息：
+ Autopilot 候选项名称：最佳候选模型的名称。
+ Autopilot 作业名称：作业的名称。
+ 问题类型：问题的类型。在本例中为*图像分类*。
+ 目标指标：用于优化模型性能的目标指标。在本例中为*准确性*。
+ 优化方向：指示是最小化还是最大化目标指标。

## 模型质量报告
<a name="image-classification-performance-report-modelquality"></a>

模型质量信息由 Autopilot 模型见解生成。所生成报告的内容取决于要解决的问题类型。报告指定了评估数据集中包含的行数，以及进行评估的时间。

### 指标表
<a name="image-classification-model-quality-report-metrics"></a>

模型质量报告的第一部分包含指标表。它们适用于模型所解决的问题类型。

下图是 Autopilot 针对图像或文本分类问题生成的指标表示例。它显示指标名称、值和标准差。

![\[Amazon SageMaker Autopilot 模型洞察图像或文本分类指标报告示例。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-multiclass-metrics-report.png)


### 图形模型性能信息
<a name="image-classification-model-quality-report-graphs"></a>

模型质量报告的第二部分包含图形信息，用于帮助您评估模型性能。此部分的内容取决于所选的问题类型。

#### 混淆矩阵
<a name="image-classification-model-insights-confusion-matrix"></a>

混淆矩阵提供了一种方法，用于可视化模型针对不同问题的二元分类和多元分类预测的准确性。

图中**假阳性率** (FPR) 和**真阳性率** (TPR) 的组成部分摘要定义如下。
+ 正确预测
  + **真阳性** (TP)：预测的值为 1，真正的值为 1。
  + **真阴性** (TN)：预测的值为 0，真正的值为 0。
+ 错误预测
  + **假阳性** (FP)：预测的值为 1，但真正的值为 0。
  + **假阴性** (FN)：预测的值为 0，但真正的值为 1。

模型质量报告中的混淆矩阵包含以下内容。
+ 针对实际标签的正确和错误预测的数量和百分比
+ 准确预测的数量和百分比按照从左上角到右下角沿对角线排列。
+ 不准确预测的数量和百分比按照从右上角到左下角沿对角线排列。

在混淆矩阵上，错误预测是混淆值。

下图是一个多元分类问题的混淆矩阵的示例。模型质量报告中的混淆矩阵包含以下内容。
+ 垂直轴分为三行，包含三个不同的实际标签。
+ 水平轴分为三列，包含模型所预测的标签。
+ 彩色条形图为较多数量的样本分配较深的色调，以直观地指示分类到每个类别中值的数量。

在下面的示例中，模型正确预测了标签 **f** 的 354 个实际值、标签 **i** 的 1094 个值和标签 **m** 的 852 个值。色调的差异表明数据集不平衡，因为值 **i** 的标签比值 **f** 或 **m** 要多得多。

![\[Amazon SageMaker Autopilot 多类混淆矩阵示例。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-confusion-matrix-multiclass.png)


模型质量报告提供了一个混淆矩阵，对于多元分类问题类型，最多可容纳 15 个标签。如果与标签对应的行显示 `Nan` 值，这意味着用于检查模型预测的验证数据集不包含带有该标签的数据。

# 使用 API 创建文本分类 AutoML 作业
<a name="autopilot-create-experiment-text-classification"></a>

以下说明说明如何使用 SageMaker [API 参考](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html)创建 Amazon A SageMaker utopilot 作业，作为文本分类问题类型的试点实验。

**注意**  
文本和映像分类、时间序列预测和大型语言模型微调等任务都可以通过 [AutoML REST API](autopilot-reference.md) 的第 2 版独家实现。如果您选择的语言是 Python，则可以直接引用 Amazon SageMaker Python 软件开发工具包的 A [uto MLV2 对象](https://sagemaker.readthedocs.io/en/stable/api/training/automlv2.html#sagemaker.automl.automlv2.AutoMLV2)。[适用于 Python (Boto3) 的 AWS SDK](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_auto_ml_job_v2.html)  
喜欢用户界面便利性的用户可以使用 [Amazon SageMaker Canv](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html) as 访问预训练模型和生成式 AI 基础模型，或者创建针对特定文本、图像分类、预测需求或生成式 AI 量身定制的自定义模型。

您可以使用 Amazon Autopilot 支持的任何语言调用 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)API 操作或者，以编程方式创建 SageMaker 自动驾驶文本分类实验。 AWS CLI

有关此 API 操作如何转换为所选语言中函数的信息，请参阅 `CreateAutoMLJobV2` 中的[另请参阅](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_SeeAlso)部分并选择 SDK。例如，对于 Python 用户，请参阅 适用于 Python (Boto3) 的 AWS SDK中 `[create\$1auto\$1ml\$1job\$1v2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_auto_ml_job_v2)` 的完整请求语法。

以下参数集合介绍了文本分类中使用的 `CreateAutoMLJobV2` API 操作的必需和可选输入请求参数。

## 必需参数
<a name="text-classification-api-required-params"></a>

在调用 `[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)` 以创建 Autopilot 实验进行文本分类时，您必须提供以下值：
+ `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)`，用于指定您作业的名称。
+ `[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)` 中至少有一个 `[AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)` 来指定您的数据来源。
+ 一个类型为 `[TextClassificationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextClassificationJobConfig.html)` 的 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`。
+ `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)`，指定用于存储 AutoML 作业构件的 Amazon S3 输出路径。
+ `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)`，指定用于访问您的数据的角色的 ARN。

所有其他参数都是可选的。

## 可选参数
<a name="text-classification-api-optional-params"></a>

以下各节提供了一些可以传递给文本分类 AutoML 作业的可选参数的详细信息。

### 如何指定 AutoML 作业的训练和验证数据集
<a name="text-classification-data-training-or-validation"></a>

您可以提供自己的验证数据集和自定义的数据拆分比率，也可以让 Autopilot 自动拆分数据集。

每个[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)对象（参见必填参数 [Auto MLJob InputDataConfig](https://docs.aws.amazon.com/sagemaker-api/src/AWSSageMakerAPIDoc/build/server-root/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)）都有`ChannelType`，可以将其设置为`training`或指定在构建机器学习模型时如何使用数据的`validation`值。

数据来源至少需要一个，最多可以有两个：一个用于训练数据，一个用于验证数据。如何将数据拆分为训练和验证数据集，取决于您有一个还是两个数据来源。

如何将数据拆分为训练和验证数据集，取决于您有一个还是两个数据来源。
+ 如果您只有**一个数据来源**，则默认情况下 `ChannelType` 设置为 `training`，并且必须具有此值。
  + 如果未设置 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html) 中的 `ValidationFraction` 值，则默认情况下，将使用来自此来源中数据的 0.2 (20%) 进行验证。
  + 如果 `ValidationFraction` 设置为介于 0 和 1 之间的值，则根据指定的值拆分数据集，该值指定用于验证的数据集的比例。
+ 如果您有**两个数据来源**，则其中一个 `AutoMLJobChannel` 对象的 `ChannelType` 必须设置为默认值 `training`。另一个数据来源的 `ChannelType` 必须设置为 `validation`。这两个数据来源必须具有相同的格式（CSV 或 Parquet）和相同的架构。在这种情况下，您不可为 `ValidationFraction` 设置值，因为每个来源的所有数据都用于训练或验证。设置此值会导致错误。

### 如何为 AutoML 作业指定自动模型部署配置
<a name="text-classification-auto-model-deployment"></a>

要为 AutoML 作业的最佳候选模型启用自动部署，请在 AutoML 任务请求中包括 `[ModelDeployConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-ModelDeployConfig)`。这将允许将最佳模型部署到 A SageMaker I 端点。以下是可供自定义的配置。
+ 要让 Autopilot 生成端点名称，请将 `[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)` 设置为 `True`。
+ 要为端点提供自己的名称，请设置 `[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents) to False and provide a name of your choice in [EndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)`。

# 文本分类的数据集格式和目标指标
<a name="text-classification-data-format-and-metric"></a>

在此部分中，我们将了解文本分类中可以使用的数据集格式，以及用于评估机器学习候选模型预测质量的指标。为候选人计算的指标是使用一系列[MetricDatum](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_MetricDatum.html)类型指定的。

## 数据集格式
<a name="text-classification-data-format"></a>

Autopilot 支持格式化为 CSV 文件或 Parquet 文件的表格数据。对于表格数据，每列都包含一个具有特定数据类型的特征，每行都包含一个观察数据。这两种文件格式的属性差异很大。
+ **CSV** (comma-separated-values) 是一种基于行的文件格式，它以人类可读的纯文本存储数据，这是数据交换的热门选择，因为它们受到各种应用程序的支持。
+ **Parquet** 是一种基于列的文件格式，相比基于行的文件格式，数据的存储和处理更高效。这使它们成为解决大数据问题的更好选择。

列接受的**数据类型**包括数字、分类、文本。

Autopilot 支持在多达数百个的大型数据集上构建机器学习模型。 GBs有关输入数据集的默认资源限制以及如何提高这些限制的详细信息，请参阅 [Amazon A SageMaker utopilot 配额](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-quotas.html)。

## 目标指标
<a name="text-classification-objective-metric"></a>

以下列表包含当前可用于衡量文本分类模型性能的指标名称。

**`Accuracy`**  
 正确分类的项目数，相比所分类项目总数（正确和错误）的比率。准确性衡量预测类值与实际值的接近程度。准确性指标的值在零 (0) 和壹 (1) 之间变化。值为 1 表示完全准确，0 表示完全不准确。

# 部署 Autopilot 模型进行实时推理
<a name="text-classification-deploy-models"></a>

训练 Amazon A SageMaker utopilot 模型后，您可以设置终端节点并以交互方式获取预测结果。以下部分介绍将模型部署到 SageMaker AI 实时推理端点以从模型中获取预测的步骤。

## 实时推理
<a name="autopilot-deploy-models-text-image-classification-realtime"></a>

实时推理非常适合有实时、交互式、低延迟要求的推理工作负载。此部分演示如何使用实时推理，以交互方式从模型获取预测。

您可以使用 SageMaker APIs 手动部署在自动驾驶实验中生成最佳验证指标的模型，如下所示。

或者，当您创建 Autopilot 实验时，也可选择自动部署选项。有关设置模型自动部署的信息，请参阅请求参数 `[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestParameters)` 中的 `[ModelDeployConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-ModelDeployConfig)`。这将自动创建一个端点。

**注意**  
为避免产生不必要的费用，您可以删除从模型部署中创建的不需要端点和资源。有关按地区划分的实例定价的信息，请参阅 [Amazon SageMaker 定价](https://aws.amazon.com/sagemaker/pricing/)。

1. **获取候选容器定义**

   从中获取候选容器定义[InferenceContainers](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers)。用于推理的容器定义是指专为部署和运行经过训练的 SageMaker AI 模型进行预测而设计的容器化环境。

   以下 AWS CLI 命令示例使用 [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) API 获取最佳候选模型的候选定义。

   ```
   aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name job-name --region region
   ```

1. **列出候选项**

   以下 AWS CLI 命令示例使用 [ListCandidatesForAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidatesForAutoMLJob.html)API 列出所有候选模型。

   ```
   aws sagemaker list-candidates-for-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

1. **创建 A SageMaker I 模型**

   使用前面步骤中的容器定义和您选择的候选容器通过 [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)API 创建 SageMaker AI 模型。以以下 AWS CLI 命令为例。

   ```
   aws sagemaker create-model --model-name '<your-candidate-name>' \
                       --containers ['<container-definition1>, <container-definition2>, <container-definition3>]' \
                       --execution-role-arn '<execution-role-arn>' --region '<region>
   ```

1. **创建端点配置**

   以下 AWS CLI 命令示例使用 [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html)API 创建终端节点配置。

   ```
   aws sagemaker create-endpoint-config --endpoint-config-name '<your-endpoint-config-name>' \
                       --production-variants '<list-of-production-variants>' \
                       --region '<region>'
   ```

1. **创建端点** 

   以下 AWS CLI 示例使用 [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html)API 创建终端节点。

   ```
   aws sagemaker create-endpoint --endpoint-name '<your-endpoint-name>' \
                       --endpoint-config-name '<endpoint-config-name-you-just-created>' \
                       --region '<region>'
   ```

   使用 [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html)API 检查您的终端节点部署进度。以以下 AWS CLI 命令为例。

   ```
   aws sagemaker describe-endpoint —endpoint-name '<endpoint-name>' —region <region>
   ```

   将 `EndpointStatus` 更改为 `InService` 后，端点即可用于实时推理。

1. **调用端点** 

   以下命令结构调用端点以进行实时推理。

   ```
   aws sagemaker invoke-endpoint --endpoint-name '<endpoint-name>' \ 
                     --region '<region>' --body '<your-data>' [--content-type] '<content-type>' <outfile>
   ```

# 解释功能报告
<a name="text-classification-explainability-report"></a>

Amazon A SageMaker utopilot 提供可解释性报告，以帮助解释最佳候选模型是如何预测文本分类问题的。该报告可以帮助 ML 工程师、产品经理和其他内部利益相关者了解模型的特征。机器学习的透明度决定了使用方和监管机构是否信任和解释根据模型预测做出的决策。您可以将这些解释用于审计目的和满足监管要求，建立对模型的信任，支持人工决策，以及用于调试和提高模型性能。

文本分类的 Autopilot 解释功能使用*积分梯度*这种公理归因方法。这种方法依赖于[深度网络的公理归因](https://arxiv.org/pdf/1703.01365.pdf)实施。

Autopilot 生成 JSON 文件格式的解释功能报告。该报告包含基于验证数据集的分析详细信息。用于生成报告的每个样本都包含以下信息：
+ `text`：已解释的输入文本内容。
+ `token_scores`：文本中每个令牌的分数列表。
+ 
  + `attribution`：描述令牌重要性的分数。
  + `description.partial_text`：表示令牌的部分子字符串。
+ `predicted_label`：最佳候选模型预测的标签类。
+ `probability`：所预测 `predicted_label` 的置信度。

在对 `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` 响应的 `[BestCandidate.CandidateProperties.CandidateArtifactLocations.Explainability](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html#sagemaker-Type-CandidateArtifactLocations-Explainability)` 位置，您可以找到为最佳候选项生成的解释功能构件的 Amazon S3 前缀。

以下是在解释功能构件中提供的分析内容的示例。

```
{
    "text": "It was a fantastic movie!",
    "predicted_label": 2,
    "probability": 0.9984835,
    "token_scores": [
        {
            "attribution": 0,
            "description": {
                "partial_text": "It"
            }
        },
        {
            "attribution": -0.022447118861679088,
            "description": {
                "partial_text": "was"
            }
        },
        {
            "attribution": -0.2164326456817965,
            "description": {
                "partial_text": "a"
            }
        },
        {
            "attribution": 0.675,
            "description": {
                "partial_text": "fantastic"
            }
        },
        {
            "attribution": 0.416,
            "description": {
                "partial_text": "movie!"
            }
        }
    ]
}
```

在这个 JSON 报告示例中，解释功能对文本 `It was a fantastic movie!` 进行评估，并对其每个令牌对总体预测标签的贡献进行评分。预测的标签是 `2`，这是一种强烈的积极情绪，概率为 99.85%。然后，JSON 样本详细说明了每个令牌对该预测的贡献。例如，令牌 `fantastic` 比令牌 `was` 具有更强的归因。它是对最终预测贡献最大的令牌。

# 模型性能报告
<a name="text-classification-model-performance-report"></a>

Amazon SageMaker AI 模型质量报告（也称为绩效报告）为 AutoML 作业生成的最佳候选模型提供见解和质量信息。这包括有关作业详细信息、模型问题类型、目标函数和各种指标的信息。此部分详细介绍文本分类问题的性能报告的内容，并说明如何访问 JSON 文件原始数据格式的指标。

在对 `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` 响应的 `[BestCandidate.CandidateProperties.CandidateArtifactLocations.ModelInsights](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html#sagemaker-Type-CandidateArtifactLocations-ModelInsights)` 位置，您可以找到为最佳候选项生成的模型质量报告构件的 Amazon S3 前缀。

性能报告分为两个部分：
+ 第一部分包含有关生成模型的 Autopilot 作业的详细信息。
+  第二部分包含带有各种性能指标的模型质量报告。

## Autopilot 作业详细信息
<a name="text-classification-performance-report-jobdetails"></a>

报告的第一部分提供了有关生成模型的 Autopilot 作业的一些常规信息。这些详情包括以下信息：
+ Autopilot 候选项名称：最佳候选模型的名称。
+ Autopilot 作业名称：作业的名称。
+ 问题类型：问题的类型。在本例中为*文本分类*。
+ 目标指标：用于优化模型性能的目标指标。在本例中为*准确性*。
+ 优化方向：指示是最小化还是最大化目标指标。

## 模型质量报告
<a name="text-classification-performance-report-modelquality"></a>

模型质量信息由 Autopilot 模型见解生成。所生成报告的内容取决于要解决的问题类型。报告指定了评估数据集中包含的行数，以及进行评估的时间。

### 指标表
<a name="text-classification-model-quality-report-metrics"></a>

模型质量报告的第一部分包含指标表。它们适用于模型所解决的问题类型。

下图是 Autopilot 针对图像或文本分类问题生成的指标表示例。它显示指标名称、值和标准差。

![\[Amazon SageMaker Autopilot 模型洞察图像或文本分类指标报告示例。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-multiclass-metrics-report.png)


### 图形模型性能信息
<a name="text-classification-model-quality-report-graphs"></a>

模型质量报告的第二部分包含图形信息，用于帮助您评估模型性能。此部分的内容取决于所选的问题类型。

#### 混淆矩阵
<a name="text-classification--model-insights-confusion-matrix"></a>

混淆矩阵提供了一种方法，用于可视化模型针对不同问题的二元分类和多元分类预测的准确性。

图中**假阳性率** (FPR) 和**真阳性率** (TPR) 的组成部分摘要定义如下。
+ 正确预测
  + **真阳性** (TP)：预测的值为 1，真正的值为 1。
  + **真阴性** (TN)：预测的值为 0，真正的值为 0。
+ 错误预测
  + **假阳性** (FP)：预测的值为 1，但真正的值为 0。
  + **假阴性** (FN)：预测的值为 0，但真正的值为 1。

模型质量报告中的混淆矩阵包含以下内容。
+ 针对实际标签的正确和错误预测的数量和百分比
+ 准确预测的数量和百分比按照从左上角到右下角沿对角线排列。
+ 不准确预测的数量和百分比按照从右上角到左下角沿对角线排列。

在混淆矩阵上，错误预测是混淆值。

下图是一个多元分类问题的混淆矩阵的示例。模型质量报告中的混淆矩阵包含以下内容。
+ 垂直轴分为三行，包含三个不同的实际标签。
+ 水平轴分为三列，包含模型所预测的标签。
+ 彩色条形图为较多数量的样本分配较深的色调，以直观地指示分类到每个类别中值的数量。

在下面的示例中，模型正确预测了标签 **f** 的 354 个实际值、标签 **i** 的 1094 个值和标签 **m** 的 852 个值。色调的差异表明数据集不平衡，因为值 **i** 的标签比值 **f** 或 **m** 要多得多。

![\[Amazon SageMaker Autopilot 多类混淆矩阵示例。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-confusion-matrix-multiclass.png)


模型质量报告提供了一个混淆矩阵，对于多元分类问题类型，最多可容纳 15 个标签。如果与标签对应的行显示 `Nan` 值，这意味着用于检查模型预测的验证数据集不包含带有该标签的数据。

# 使用 API 创建用于时间序列预测的 AutoML 作业
<a name="autopilot-create-experiment-timeseries-forecasting"></a>

在机器学习中，预测是指根据历史数据和模式预测未来结果或趋势的过程。通过分析过去的时间序列数据并识别潜在模式，机器学习算法可以进行预测并提供对未来行为的有价值见解。预测的目标是开发模型，使其能够准确地捕捉一段时间内输入变量与目标变量之间关系。这涉及到研究各种因素，例如数据中的趋势、季节性和其他相关模式。然后，使用收集的信息来训练机器学习模型。模型在经过训练后，应该能够通过获取新的输入数据并应用学到的模式和关系来生成预测。它可以为各种使用场景提供预测，例如销售预测、股票市场趋势、天气预报、需求预测等等。

以下说明说明如何使用 SageMaker [API](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html) 参考创建 Amazon A SageMaker utopilot 作业作为时间序列预测问题类型的试点实验。

**注意**  
文本和映像分类、时间序列预测和大型语言模型微调等任务都可以通过 [AutoML REST API](autopilot-reference.md) 的第 2 版独家实现。如果您选择的语言是 Python，则可以直接引用 Amazon SageMaker Python 软件开发工具包的 A [uto MLV2 对象](https://sagemaker.readthedocs.io/en/stable/api/training/automlv2.html#sagemaker.automl.automlv2.AutoMLV2)。[适用于 Python (Boto3) 的 AWS SDK](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_auto_ml_job_v2.html)  
喜欢用户界面便利性的用户可以使用 [Amazon SageMaker Canv](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html) as 访问预训练模型和生成式 AI 基础模型，或者创建针对特定文本、图像分类、预测需求或生成式 AI 量身定制的自定义模型。

您可以使用 Amazon Autopilot 支持的任何语言调用 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)API，以编程方式创建 SageMaker 自动驾驶时间序列预测实验。 AWS CLI

有关此 API 操作如何转换为所选语言中函数的信息，请参阅 `CreateAutoMLJobV2` 中的[另请参阅](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_SeeAlso)部分并选择 SDK。例如，对于 Python 用户，请参阅 适用于 Python (Boto3) 的 AWS SDK中 `[create\$1auto\$1ml\$1job\$1v2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_auto_ml_job_v2)` 的完整请求语法。

Autopilot 使用您的目标时间序列数据训练多个候选模型，然后为给定的目标指标选择最佳预测模型。当您的候选模型接受过训练后，您可以在对 `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` 的回复中的 `[BestCandidate](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateProperties.html#sagemaker-Type-CandidateProperties-CandidateMetrics)` 位置找到最佳候选指标。

以下各节定义了对于在时间序列预测中使用的 `CreateAutoMLJobV2` API，所必需和可选输入请求参数。

**注意**  
有关实用的[时间序列预测示例，请参阅笔记本使用 Amazon A SageMaker utopilot](https://github.com/aws/amazon-sagemaker-examples/blob/main/autopilot/autopilot_time_series.ipynb) 进行时间序列预测。在本笔记本中，您可以使用 Amazon A SageMaker utopilot 来训练时间序列模型，并使用经过训练的模型进行预测。笔记本提供了在 Amazon S3 上检索现成的表格历史数据集的说明。

## 先决条件
<a name="autopilot-timeseries-forecasting-prerequisites"></a>

在使用 Autopilot 在 A SageMaker I 中创建时间序列预测实验之前，请确保：
+ 准备您的时间序列数据集。数据集的准备涉及到从各种来源收集相关数据，清理和筛选数据以消除噪音和不一致的内容，然后将其整理为结构化的格式。要详细了解 Autopilot 中的时间序列格式要求，请参阅[时间序列数据集格式和缺失值填充方法](timeseries-forecasting-data-format.md)。或者，您可以使用所选国家/地区的公共假日日历来补充数据集，以便捕获相关的模式。有关假日日历的更多信息，请参阅[国家法定假日日历](autopilot-timeseries-forecasting-holiday-calendars.md)。
**注意**  
我们建议，每预测 1 个未来数据点，至少提供 3-5 个历史数据点。例如，若要根据每日数据提前 7 天（1 周）进行预测，则至少要根据 21-35 天的历史数据对模型进行训练。确保提供足够的数据，以捕捉季节性和经常性规律。
+ 将您的时间序列数据放入 Amazon S3 存储桶中。
+ 授予对包含用于运行实验的 Amazon S3 执行角色的输入数据的 SageMaker Amazon S3 存储桶的完全访问权限。完成此操作后，您可以在 Autopilot API 请求中使用此执行角色的 ARN。
  + 有关检索 SageMaker AI 执行角色的信息，请参阅[获取执行角色](sagemaker-roles.md#sagemaker-roles-get-execution-role)。
  + 有关向您的 SageMaker AI 执行角色授予访问 Amazon S3 中一个或多个特定存储桶的权限的信息，请参阅中的向 A * SageMaker I 执行角色添加其他 Amazon S3 权限*。[创建执行角色](sagemaker-roles.md#sagemaker-roles-create-execution-role)

## 必填参数
<a name="timeseries-forecasting-api-required-params"></a>

在调用 `[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)` 以创建 Autopilot 实验进行时间序列预测时，您必须提供以下值：
+ `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)`，用于指定您作业的名称。名称应为 `string` 类型，最小长度为 1 个字符，最大长度为 32 个字符。
+ `[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)` 中的至少一个 `[AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)`，在其中指定包含数据的 Amazon S3 存储桶的名称。或者，您可以指定内容（CSV 或 Parquet 文件）和压缩 (GZip) 类型。
+ 类型为 `[TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)` 的 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`，用于配置时间序列预测作业的设置。具体而言，您必须指定：
  + 预测的**频率**，这是指预测的所需粒度（每小时、每天、每月等）。

    有效间隔是一个整数，后跟 `Y`（年）、`M`（月）、`W`（周）、`D`（日）、`H`（小时）和 `min`（分钟）。例如，`1D` 表示每天，`15min` 表示每 15 分钟。频率的值不得与下一个更大频率重叠。例如，您必须使用频率 `1H` 而不是 `60min`。

    每个频率的有效值如下所示：
    + 分钟 - 1-59
    + 小时 - 1-23
    + 天 - 1-6
    + 周 - 1-4
    + 月 - 1-11
    + 年 - 1
  + 预测中的预测**范围**，指的是模型预测的时间步长。预测范围也称为预测长度。最大预测范围是 500 个时间步长或数据集中时间步长 1/4 中较小的一个。
  + 其中 [TimeSeriesConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesConfig.html)，您可以通过指定以下内容来定义数据集的架构，以将列标题映射到您的预测：
    + `TargetAttributeName`：该列包含要预测目标字段的历史数据。
    + `TimestampAttributeName`：该列包含记录给定项目的目标值的时间点。
    + `ItemIdentifierAttributeName`：该列包含要预测目标值的项目标识符。

  以下是指定请求参数的示例。在此示例中，您设置的是在 20 天的时段中，对特定项目的预期数量或需求水平进行每日预测。

  ```
  "AutoMLProblemTypeConfig": { 
          "ForecastFrequency": "D",
          "ForecastHorizon": 20,
          "TimeSeriesConfig": {
              "TargetAttributeName": "demand",
              "TimestampAttributeName": "timestamp",
              "ItemIdentifierAttributeName": "item_id"
          },
  ```
+ `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)`，指定用于存储 AutoML 作业构件的 Amazon S3 输出路径。
+ `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)`，指定用于访问您的数据的角色的 ARN。您可以使用已授予对数据访问权限的执行角色的 ARN。

所有其他参数都是可选的。例如，您可以设置特定的预测分位数，为数据集中的缺失值选择填充方法，或者定义如何聚合与预测频率不一致的数据。要了解如何设置这些附加参数，请参阅[可选参数](#timeseries-forecasting-api-optional-params)。

## 可选参数
<a name="timeseries-forecasting-api-optional-params"></a>

以下各节提供了一些可以传递给时间序列预测 AutoML 作业的可选参数的详细信息。

### 如何指定算法
<a name="timeseries-forecasting-algorithms-selection"></a>

默认情况下，Autopilot 作业会在数据集上训练预先定义的算法列表。不过，您可以提供默认算法选择的子集。

对于时间序列预测，必须选择 `[TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)` 作为 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` 的类型。

然后，可以在的`AlgorithmsConfig`属性`AutoMLAlgorithms`中指定选定的数组[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html)。

下面是一个 `AlgorithmsConfig` 属性的示例，在其 `AutoMLAlgorithms` 字段中正好列出了三种算法（“cnn-qr”、“prophet”和“arima”）。

```
{
   "[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)": {
        "[TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)": {
          "[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html)": {
            "[AlgorithmsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html#sagemaker-Type-CandidateGenerationConfig-AlgorithmsConfig)":[
               {"[AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html)":["cnn-qr", "prophet", "arima"]}
            ]
         },
       },
     },
  }
```

有关可用的时间序列预测算法列表，请参见 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms)。有关每种算法的详细信息，请参阅[时间序列预测支持的算法](timeseries-forecasting-algorithms.md)。

### 如何指定自定义分位数
<a name="timeseries-forecasting-custom-quantiles"></a>

Autopilot 使用您的目标时间序列数据训练 6 个候选模型，然后使用堆叠组合方法将这些模型结合起来，针对给定目标指标创建最佳的预测模型。每个 Autopilot 预测模型都通过生成分位数在 P1 和 P99 之间的预测来生成概率预测。这些分位数用于解释预测的不确定性。默认情况下，将为 0.1 (`p10`)、0.5 (`p50`) 和 0.9 (`p90`) 生成预测。您可以选择指定自己的分位数。

在 Autopilot 中，您最多可以在 0.01 (`p1`) 到 0.99 (`p99`) 之间指定五个预测分位数，增量为 0.01 或更高。`ForecastQuantiles` [TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)

在以下示例中，您设置的是在 20 天的时段中，对特定项目的预期数量或需求水平的每日第 10 个、第 25 个、第 50 个、第 75 个和第 90 个分位数进行预测。

```
"AutoMLProblemTypeConfig": { 
        "ForecastFrequency": "D",
        "ForecastHorizon": 20,
        "ForecastQuantiles": ["p10", "p25", "p50", "p75", "p90"],
        "TimeSeriesConfig": {
            "TargetAttributeName": "demand",
            "TimestampAttributeName": "timestamp",
            "ItemIdentifierAttributeName": "item_id"
        },
```

### 如何聚合不同预测频率的数据
<a name="timeseries-forecasting-aggregation"></a>

要创建预测模型（也称为实验中的最佳候选模型），您必须指定预测频率。在您的预测中，预测频率决定了进行预测的频率。例如，每月销售预测。Autopilot 最佳模型为数据生成预测的频率，可以大于所记录数据的频率。

在训练期间，Autopilot 会聚合与您指定的预测频率不一致的所有数据。例如，您可能有一些每日数据，但指定了每周预测频率。Autopilot 会根据每日数据所属的周来调整每日数据。然后，Autopilot 将其合并为每周的单个记录。

在聚合期间，默认的转换方法是对数据求和。您可以在的`Transformations`属性中创建 AutoML 作业时配置聚合。[TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)支持的聚合方法包括 `sum`（默认）、`avg`、`first`、`min`、`max`。只有目标列支持聚合。

在以下示例中，您将配置聚合来计算单个促销预测的平均值，从而提供最终的聚合预测值。

```
"Transformations": {
            "Aggregation": {
                "promo": "avg"
            }
        }
```

### 如何处理输入数据集中的缺失值
<a name="timeseries-forecasting-fill-missing-values"></a>

Autopilot 提供了多种填充方法，用于处理时间序列数据集的目标列和其他数字列中的缺失值。有关支持的填充方法列表及其可用填充逻辑的信息，请参阅[处理缺失值](timeseries-forecasting-data-format.md#timeseries-missing-values)。

创建 AutoML 作业[TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)时，可以在的`Transformations`属性中配置填充策略。

要设置填充方法，您需要提供一个键/值对：
+ 键是要为其指定填充方法的列的名称。
+ 与键关联的值是一个对象，它定义该列的填充策略。

您可以为单个列指定多种填充方法。

要为填充方法设置特定值，您应将填充参数设置为所需的填充方法值（例如 `"backfill" : "value"`），并在带有“\$1value”后缀的其他参数中定义实际填充值。例如，要将 `backfill` 设置为值 `2`，您必须包括两个参数：`"backfill": "value"` 和 `"backfill_value":"2"`。

在以下示例中，您可以为不完整的数据列“price”指定填充策略，如下所示：项目第一个数据点和最后一个数据点之间的所有缺失值都设置为 `0`，之后所有缺失值都将填充值 `2`，直至数据集的结束日期值。

```
"Transformations": {
            "Filling": {
                "price": {
                        "middlefill" : "zero",
                        "backfill" : "value",
                        "backfill_value": "2"
                }
            }
        }
```

### 如何指定目标指标
<a name="timeseries-forecasting-set-objective-metric"></a>

Autopilot 会生成准确性指标来评估候选模型，帮助您选择使用哪个模型来生成预测。运行时间序列预测实验时，您可以选择 AutoML，让 Autopilot 为您优化预测变量，也可以手动为预测变量选择算法。

默认情况下，Autopilot 使用平均加权分位数损失。[但是，您可以在 “自动目标” `MetricName` 属性中创建 AutoML 作业时配置目标指标。MLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobObjective.html)

有关可用算法的列表，请参阅[时间序列预测支持的算法](timeseries-forecasting-algorithms.md)。

### 如何将国家法定假日信息整合到数据集中
<a name="timeseries-forecasting-add-holiday-calendar"></a>

在 Autopilot 中，您可以将经过特征工程处理的国家法定假日信息数据集整合到您的时间序列中。Autopilot 原生提供了对 250 多个国家/地区的假日日历的支持。选择国家/地区后，Autopilot 会在训练期间，将该国家/地区的假日日历应用于数据集中的每个项目。这使模型能够识别与特定假日关联的模式。

在创建 AutoML 作业时，您可以通过将[HolidayConfigAttributes](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HolidayConfigAttributes.html)对象传递给的属性来启用假日功能。`HolidayConfig` [TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)`HolidayConfigAttributes` 对象包含两个字母的 `CountryCode` 属性，确定扩充时间序列数据集时，使用哪个国家/地区的国家法定公共假日日历。

有关支持的日历及其相应的国家/地区代码的列表，请参阅[国家/地区代码](autopilot-timeseries-forecasting-holiday-calendars.md#holiday-country-codes)。

### 如何启用自动部署
<a name="timeseries-forecasting-auto-model-deployment"></a>

使用 Autopilot，您可以将预测模型自动部署到端点。要为 AutoML 作业的最佳候选模型启用自动部署，请在 AutoML 任务请求中包括 `[ModelDeployConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-ModelDeployConfig)`。这允许将最佳模型部署到 A SageMaker I 端点。以下是可供自定义的配置。
+ 要让 Autopilot 生成端点名称，请将 `[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)` 设置为 `True`。
+ 要为端点提供自己的名称，请设置 `[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents) to False and provide a name of your choice in [EndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)`。

### 如何配置 AutoML 以在 EMR Serverless 上为大型数据集启动远程作业
<a name="autopilot-set-emr-serverless-api-forecasting"></a>

您可以配置 AutoML 作业 V2，以便在处理大型数据集需要额外计算资源时，自动启动 Amazon EMR Serverless 上的远程作业。通过在需要时无缝过渡到 EMR Serverless，AutoML 作业可以处理超出初始资源配置的数据集，而无需您进行任何人工干预。EMR Serverless 可用于表格和时间序列问题类型。我们建议为大于 30 GB 的时间序列数据集设置此选项。

要让 AutoML 作业 V2 自动过渡到针对大型数据集的 EMR Serverless，您需要向 AutoML 作业 V2 输入请求的 `AutoMLComputeConfig` 提供一个 `EmrServerlessComputeConfig` 对象，其中包括一个 `ExecutionRoleARN` 字段。

`ExecutionRoleARN` 是 IAM 角色的 ARN，授予 AutoML 作业 V2 运行 EMR Serverless 作业所需的权限。

该角色应具有以下信任关系：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "emr-serverless.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

并授予权限进行：
+ 创建、列出和更新 EMR Serverless 应用程序。
+ 在 EMR Serverless 应用程序上启动、列出、获取或取消作业运行。
+ 标记 EMR Serverless 资源。
+ 将 IAM 角色传递给 EMR Serverless 服务以执行。

  通过授予 `iam:PassRole` 权限，AutoML 作业 V2 可以临时承担 `EMRServerlessRuntimeRole-*` 角色，并将其传递给 EMR Serverless 服务。EMR Serverless 任务执行环境使用这些 IAM 角色来访问运行时所需的其他 AWS 服务和资源，例如 Amazon S3，用于访问数据、记录、访问 AWS Glue 数据目录或其他基于您的工作负载 CloudWatch 要求的服务。

  有关此角色权限的详细信息，请参阅 [Amazon EMR Serverless 的作业运行时角色](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/security-iam-runtime-role.html)。

所提供 JSON 文档中定义的 IAM 策略会授予这些权限：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
           "Sid": "EMRServerlessCreateApplicationOperation",
           "Effect": "Allow",
           "Action": "emr-serverless:CreateApplication",
           "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListApplications",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessApplicationOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:UpdateApplication",
                "emr-serverless:GetApplication"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessStartJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:StartJobRun",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListJobRuns",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessJobRunOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:GetJobRun",
                "emr-serverless:CancelJobRun"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*/jobruns/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessTagResourceOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:TagResource",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "IAMPassOperationForEMRServerless",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/EMRServerlessRuntimeRole-*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "emr-serverless.amazonaws.com",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
         }
    ]
}
```

------

# 时间序列数据集格式和缺失值填充方法
<a name="timeseries-forecasting-data-format"></a>

时间序列数据是指在固定的时间间隔内记录的观察数据或测量值的集合。在这种类型的数据中，每个观察数据都与特定的时间戳或时间段相关联，从而创建按时间顺序排列的数据点序列。

您在时间序列数据集中包含的具体的列，取决于分析的目标和可供使用的数据。时间序列数据至少由一个 3 列表组成，其中：
+ 一列包含分配给各个项目的唯一标识符，用于引用它们在特定时刻的值。
+ 另一列表示在 point-in-time特定时刻记录给定项目值的值或**目标**。根据这些目标值对模型进行训练后，此目标列包含模型在定义的范围内按照指定频率预测的值。
+ 此外还包括一个时间戳列，用于记录测量该值的日期和时间。
+ 其他列可以包含可能影响预测性能的其他因素。例如，在以销售额或收入为目标的零售时间序列数据集中，您可以包括多种特征，用于提供有关已售单位、产品 ID、商店位置、客户数量、库存水平以及协变量指标（例如天气数据或人口统计信息）的信息。

**注意**  
您可以将经过特征工程处理的国家法定假日信息数据集添加到您的时间序列中。通过在时间序列模型中包含假期，您可以捕捉假日造成的周期性模式。这有助于您的预测更好地体现出数据的底层季节性。有关每个国家/地区的可用日历的信息，请参阅[国家法定假日日历](autopilot-timeseries-forecasting-holiday-calendars.md)

## 时间序列预测的数据集格式
<a name="timeseries-format"></a>

Autopilot 支持数字、分类、文本和日期时间数据类型。目标列的数据类型必须为数字类型。

Autopilot 支持格式化为 CSV（默认）文件或 Parquet 文件的时间序列数据。
+ **CSV** (comma-separated-values) 是一种基于行的文件格式，它以人类可读的纯文本存储数据，这是数据交换的热门选择，因为它们受到各种应用程序的支持。
+ **Parquet** 是一种基于列的文件格式，相比基于行的文件格式，数据的存储和处理更高效。这使它们成为解决大数据问题的更好选择。

有关用于在 Autopilot 中进行预测的时间序列数据集的资源限制的更多信息，请参阅 [时间序列预测 Autopilot 的资源限制](timeseries-forecasting-limits.md)。

## 处理缺失值
<a name="timeseries-missing-values"></a>

时间序列预测数据中的一个常见问题是存在缺失值。由于多种原因，您的数据可能会有缺失值，这包括测量失败、格式化问题、人为错误或缺乏可记录的信息。例如，如果您要预测零售商店的商品需求，并且某个商品已售罄或无货，则当该商品缺货时，该商品将没有销售数据可供记录。缺失值在占到一定的比例时，会显著影响模型的精度。

Autopilot 提供了多种填充方法来处理缺失值，对于目标列和其他附加列，分别有不同的填充方法。填充是向数据集中缺少的条目添加标准化值的过程。

请参阅[如何处理输入数据集中的缺失值](autopilot-create-experiment-timeseries-forecasting.md#timeseries-forecasting-fill-missing-values)，了解如何设置填充时间序列数据集中缺失值的方法。

Autopilot 支持以下填充方法：
+ **前向填充：**填充所有项目中最早记录的数据点，与各个项目的记录起点（各个项目可以从不同的时间开始）之间的所有缺失值。这样可以确保各个项目的数据都是完整的，并且覆盖了从最早记录数据点到其各自起点的范围。
+ **中间填充：**填充数据集中项目的开始日期和项目结束日期之间的任何缺失值。
+ **后向填充：**填充各个项目（各个项目可以在不同的时间停止）最晚记录的数据点，与所有项目中最晚记录的数据点之间的所有缺失值。
+ **未来填充：**填充所有项目中最晚记录的数据点与预测范围结束之间的任何缺失值。

下图提供了不同填充方法的可视化表示。

![\[Amazon A SageMaker utopilot 中用于时间序列预测的不同填充方法。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/autopilot/autopilot-forecast-filling-methods.png)


### 选择填充逻辑
<a name="filling-logic"></a>

选择填充逻辑时，您应考虑模型将如何解释逻辑。例如，在零售场景中，记录有货商品的 0 销售额与记录无货商品的 0 销售额不同，因为后者并不意味着客户对该商品缺乏兴趣。因此，时间序列目标列中的 `0` 填充可能会导致预测变量的预测偏差过低，而 `NaN` 填充可能会忽略实际上出现 0 件商品有货可用于销售的情况，并导致预测变量的预测偏差过高。

### 填充逻辑
<a name="filling-restrictions"></a>

您可以对数据集中的目标列和其他数字列执行填充。目标列的填充准则和限制不同于其他数值列。

填充指南


| 列类型 | 是否默认填充？ | 支持的填充方法 | 默认填充逻辑 | 接受的填充逻辑 | 
| --- | --- | --- | --- | --- | 
| 目标列 | 是 | 中间填充和回填充 | 0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/timeseries-forecasting-data-format.html)  | 
| 其他数值列 | 否 | 中间填充、回填充和未来填充 | 无默认值 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/timeseries-forecasting-data-format.html)  | 

**注意**  
对于目标列和其他数值列，根据缺失值之前最近的 64 个数据条目的滚动窗口来计算 `mean`、`median`、`min` 和 `max`。

# 国家法定假日日历
<a name="autopilot-timeseries-forecasting-holiday-calendars"></a>

Autopilot 支持国家法定假日日历信息的特征工程数据集，可访问 250 多个国家/地区的假日日历。假日日历功能在零售领域特别有用，公共假日会对需求产生重大影响。下一节列出了您可以用来访问每个受支持国家的假日日历的国家代码。

请参阅[如何将国家法定假日信息整合到数据集中](autopilot-create-experiment-timeseries-forecasting.md#timeseries-forecasting-add-holiday-calendar)，了解如何向数据集添加日历。

## 国家/地区代码
<a name="holiday-country-codes"></a>

Autopilot 提供了对以下国家/地区的公共假日日历的原生支持。通过 API 指定国家/地区时，请使用**国家/地区**代码。


| 国家/地区 | 国家/地区代码 | 
| --- | --- | 
|   阿富汗   |   AF   | 
|   奥兰群岛   |   AX   | 
|   阿尔巴尼亚   |   AL   | 
|   阿尔及利亚   |   DZ   | 
|   美属萨摩亚   |   AS   | 
|   安道尔   |   AD   | 
|   安哥拉   |   AO   | 
|   安圭拉岛   |   AI   | 
|   南极洲   |   AQ   | 
|   安提瓜和巴布达   |   AG   | 
|   阿根廷   |   AR   | 
|   亚美尼亚   |   AM   | 
|   阿鲁巴岛   |   AW   | 
|   澳大利亚   |   AU   | 
|   奥地利   |   AT   | 
|   阿塞拜疆   |   AZ   | 
|   巴哈马   |   BS   | 
|   巴林   |   BH   | 
|   孟加拉国   |   BD   | 
|   巴巴多斯   |   BB   | 
|   白俄罗斯   |   BY   | 
|   比利时   |   BE   | 
|   伯利兹   |   BZ   | 
|   贝宁   |   BJ   | 
|   百慕大   |   BM   | 
|   不丹   |   BT   | 
|   玻利维亚   |   BO   | 
|   波斯尼亚和黑塞哥维那   |   BA   | 
|   博茨瓦纳   |   BW   | 
|   布韦岛   |   BV   | 
|   巴西   |   BR   | 
|   英属印度洋领地   |   IO   | 
|   英属维尔京群岛   |   VG   | 
|   文莱达鲁萨兰国   |   BN   | 
|   保加利亚   |   BG   | 
|   布基纳法索   |   BF   | 
|   布隆迪   |   BI   | 
|   柬埔寨   |   KH   | 
|   喀麦隆   |   CM   | 
|   加拿大   |   CA   | 
|   佛得角   |   CV   | 
|   荷兰加勒比区   |   BQ   | 
|   开曼群岛   |   KY   | 
|   中非共和国   |   CF   | 
|   乍得   |   TD   | 
|   智利   |   CL   | 
|   中国   |   CN   | 
|   圣诞岛   |   CX   | 
|   科科斯（基林）群岛   |   CC   | 
|   哥伦比亚   |   CO   | 
|   科摩罗   |   KM   | 
|   库克群岛   |   CK   | 
|   哥斯达黎加   |   CR   | 
|   克罗地亚   |   HR   | 
|   古巴   |   CU   | 
|   库拉索   |   CW   | 
|   塞浦路斯   |   CY   | 
|   捷克   |   CZ   | 
|   刚果民主共和国   |   CD   | 
|   丹麦   |   DK   | 
|   吉布提   |   DJ   | 
|   多米尼加   |   DM   | 
|   多米尼加共和国   |   DO   | 
|   厄瓜多尔   |   EC   | 
|   埃及   |   EG   | 
|   萨尔瓦多   |   SV   | 
|   赤道几内亚   |   GQ   | 
|   厄立特里亚   |   ER   | 
|   爱沙尼亚   |   EE   | 
|   史瓦帝尼   |   SZ   | 
|   埃塞俄比亚   |   ET   | 
|   福克兰群岛   |   FK   | 
|   法罗群岛   |   FO   | 
|   斐济   |   FJ   | 
|   芬兰   |   FI   | 
|   法国   |   FR   | 
|   法属圭亚那   |   GF   | 
|   法属玻里尼西亚   |   PF   | 
|   法属南部领地   |   TF   | 
|   加蓬   |   GA   | 
|   冈比亚   |   GM   | 
|   格鲁吉亚   |   GE   | 
|   德国   |   DE   | 
|   加纳   |   GH   | 
|   直布罗陀   |   GI   | 
|   希腊   |   GR   | 
|   格陵兰   |   GL   | 
|   格林纳达   |   GD   | 
|   瓜德罗普   |   GP   | 
|   关岛   |   GU   | 
|   危地马拉   |   GT   | 
|   根西岛   |   GG   | 
|   几内亚   |   GN   | 
|   几内亚比绍   |   GW   | 
|   圭亚那   |   GY   | 
|   海地   |   HT   | 
|   赫德岛和 McDonald 岛屿   |   HM   | 
|   洪都拉斯   |   HN   | 
|   Hong Kong   |   HK   | 
|   匈牙利   |   HU   | 
|   Iceland   |   IS   | 
|   印度   |   IN   | 
|   印度尼西亚   |   ID   | 
|   伊朗   |   IR   | 
|   伊拉克   |   IQ   | 
|   爱尔兰   |   IE   | 
|   马恩岛   |   IM   | 
|   以色列   |   IL   | 
|   意大利   |   IT   | 
|   科特迪瓦   |   CI   | 
|   牙买加   |   JM   | 
|   日本   |   JP   | 
|   Jersey   |   JE   | 
|   约旦   |   JO   | 
|   哈萨克   |   KZ   | 
|   肯尼亚   |   KE   | 
|   基里巴斯   |   KI   | 
|   科索沃   |   XK   | 
|   科威特   |   KW   | 
|   吉尔吉斯斯坦   |   KG   | 
|   老挝   |   LA   | 
|   拉脱维亚   |   LV   | 
|   黎巴嫩   |   LB   | 
|   莱索托   |   LS   | 
|   利比里亚   |   LR   | 
|   利比亚   |   LY   | 
|   列支敦士登   |   LI   | 
|   立陶宛   |   LT   | 
|   卢森堡   |   LU   | 
|   澳门   |   MO   | 
|   马达加斯加   |   MG   | 
|   马拉维   |   MW   | 
|   马来西亚   |   MY   | 
|   马尔代夫   |   MV   | 
|   Mali   |   ML   | 
|   马耳他   |   MT   | 
|   马绍尔群岛   |   MH   | 
|   马提尼克   |   MQ   | 
|   毛里塔尼亚   |   MR   | 
|   毛里求斯   |   MU   | 
|   马约特岛   |   YT   | 
|   墨西哥   |   MX   | 
|   密克罗尼西亚   |   FM   | 
|   摩尔多瓦   |   MD   | 
|   摩纳哥   |   MC   | 
|   蒙古   |   MN   | 
|   黑山共和国   |   ME   | 
|   Montserrat   |   MS   | 
|   摩洛哥   |   MA   | 
|   莫桑比克   |   MZ   | 
|   缅甸   |   MM   | 
|   纳米比亚   |   NA   | 
|   瑙鲁   |   NR   | 
|   尼泊尔   |   NP   | 
|   荷兰   |   NL   | 
|   新喀里多尼亚   |   NC   | 
|   新西兰   |   NZ   | 
|   尼加拉瓜   |   NI   | 
|   尼日尔   |   NE   | 
|   尼日利亚   |   NG   | 
|   纽埃岛   |   NU   | 
|   诺福克岛   |   NF   | 
|   朝鲜   |   KP   | 
|   北马其顿   |   MK   | 
|   北马里亚纳群岛   |   MP   | 
|   挪威   |   NO   | 
|   阿曼   |   OM   | 
|   巴基斯坦   |   PK   | 
|   帕劳群岛   |   PW   | 
|   巴勒斯坦   |   PS   | 
|   巴拿马   |   PA   | 
|   巴布亚新几内亚   |   PG   | 
|   巴拉圭   |   PY   | 
|   秘鲁   |   PE   | 
|   菲律宾   |   PH   | 
|   皮特凯恩群岛   |   PN   | 
|   波兰   |   PL   | 
|   葡萄牙   |   PT   | 
|   波多黎各   |   PR   | 
|   卡塔尔   |   QA   | 
|   刚果共和国   |   CG   | 
|   留尼汪岛   |   RE   | 
|   罗马尼亚   |   RO   | 
|   俄罗斯联邦   |   RU   | 
|   卢旺达   |   RW   | 
|   圣巴泰勒米   |   BL   | 
|   “圣赫勒拿岛、阿森松岛和特里斯坦-达库尼亚岛”   |   SH   | 
|   圣基茨和尼维斯   |   KN   | 
|   圣卢西亚岛   |   LC   | 
|   圣马丁   |   MF   | 
|   圣皮埃尔和密克隆群岛   |   PM   | 
|   圣文森特和格林纳丁斯   |   VC   | 
|   萨摩亚群岛   |   WS   | 
|   圣马力诺   |   SM   | 
|   圣多美与普林希比共和国   |   ST   | 
|   沙特阿拉伯   |   SA   | 
|   塞内加尔   |   SN   | 
|   塞尔维亚   |   RS   | 
|   塞舌尔   |   SC   | 
|   塞拉利昂   |   SL   | 
|   新加坡   |   SG   | 
|   荷属圣马丁   |   SX   | 
|   斯洛伐克   |   SK   | 
|   斯洛文尼亚   |   SI   | 
|   所罗门群岛   |   SB   | 
|   索马里   |   SO   | 
|   南非   |   ZA   | 
|   南乔治亚岛和南桑威奇群岛   |   GS   | 
|   韩国   |   KR   | 
|   南苏丹   |   SS   | 
|   西班牙   |   ES   | 
|   斯里兰卡   |   LK   | 
|   苏丹   |   SD   | 
|   苏里南   |   SR   | 
|   斯瓦尔巴群岛和扬马延岛   |   SJ   | 
|   瑞典   |   SE   | 
|   瑞士   |   CH   | 
|   阿拉伯叙利亚共和国   |   SY   | 
|   中国台湾   |   TW   | 
|   塔吉克斯坦   |   TJ   | 
|   坦桑尼亚   |   TZ   | 
|   泰国   |   TH   | 
|   东帝汶   |   TL   | 
|   多哥   |   TG   | 
|   托克劳   |   TK   | 
|   汤加   |   TO   | 
|   特立尼达和多巴哥   |   TT   | 
|   突尼斯   |   TN   | 
|   土耳其   |   TR   | 
|   土库曼斯坦   |   TM   | 
|   特克斯和凯科斯群岛   |   TC   | 
|   图瓦卢   |   TV   | 
|   乌干达   |   UG   | 
|   乌克兰   |   UA   | 
|   阿拉伯联合酋长国   |   AE   | 
|   英国   |   UK   | 
|   联合国   |   UN   | 
|   美国   |   US   | 
|   美国本土外小岛屿   |   UM   | 
|   美属维尔京群岛   |   VI   | 
|   乌拉圭   |   UY   | 
|   乌兹别克斯坦   |   UZ   | 
|   瓦努阿图   |   VU   | 
|   梵蒂冈城   |   VA   | 
|   委内瑞拉   |   VE   | 
|   越南   |   VN   | 
|   瓦利斯和富图纳群岛   |   WF   | 
|   西撒哈拉   |   EH   | 
|   也门   |   YE   | 
|   赞比亚   |   ZM   | 
|   津巴布韦   |   ZW   | 

# 目标指标
<a name="timeseries-objective-metric"></a>

Autopilot 会生成准确性指标来评估候选模型，帮助您选择使用哪个模型来生成预测。您可以让 Autopilot 为您优化预测变量，也可以手动为预测变量选择算法。默认情况下，Autopilot 使用平均加权分位数损失。

以下列表包含当前可用于衡量时间序列预测模型性能的指标名称。

**`RMSE`**  
均方根误差 (RMSE) – 衡量预测值与实际值之间平方差的平方根并对所有值取平均值。这是一个重要的指标，用于指示是否存在较大的模型误差和异常值。值的范围从零 (0) 到无穷大，数字越小表示模型对数据的拟合效果越好。RMSE 依赖于规模，不应用于比较不同大小的数据集。

**`wQL`**  
加权分位数损失 (wQL) – 测量预测和实际 P10、P50 和 P90 分位数之间的加权绝对差，用来评测预测的准确性，较低的值表示性能更好。

**`Average wQL (default)`**  
平均加权分位数损失（平均 wQL）– 通过对 P10、P50 和 P90 分位数处的准确性取平均值评估预测。值越低表示模型越准确。

**`MASE`**  
平均绝对标度误差 (MASE) - 预测的平均绝对误差，通过简单基线预测方法进行标准化。值越低表示模型越准确，MASE < 1 时预计比基线好，而 MASE > 1 时预计比基线差。

**`MAPE`**  
平均绝对误差百分比 (MAPE) - 所有时间点的平均误差百分比（平均预测值与实际值之差的百分比）。值越低表示模型越准确，MAPE = 0 表示模型没有误差。

**`WAPE`**  
加权绝对百分比误差 (WAPE) – 绝对误差之和，按照绝对目标之和标准化，用于衡量预测值相比观测值的总体偏差。值越低表示模型越准确。

# 时间序列预测支持的算法
<a name="timeseries-forecasting-algorithms"></a>

Autopilot 根据您的目标时间序列训练以下六种内置算法。然后，它使用堆叠组合方法将这些候选模型结合起来，针对给定目标指标创建最佳的预测模型。
+ **卷积神经网络——分位数回归 (CNN-QR) — CNN-QR** 是一种专有的机器学习算法，用于使用因果卷积神经网络预测时间序列 ()。CNNsCNN-QR 最适合处理包含数百个时间序列的大型数据集。
+ **Deepar\$1** — Deepar\$1 是一种专有的机器学习算法，用于使用循环神经网络预测时间序列 ()。RNNsDeepAR\$1 最适合处理包含数百个时间特征的大型数据集。
+ **Prophet** – [Prophet](https://facebook.github.io/prophet/) 是一种流行的局部贝叶斯结构时间序列模型，基于加法模型，其中非线性趋势与每年、每周和每日的季节性相拟合。Autopilot Prophet 算法使用 Prophet 的 Python 实施的 [Prophet 类](https://facebook.github.io/prophet/docs/quick_start.html#python-ap)。它最适合具有强季节效应的时间序列和多个季节的历史数据。
+ **非参数时间序列 (NPTS)** – NPTS 专有算法是可扩展的概率基线预测器。它通过从过去的观察数据中采样来预测给定时间序列的未来值分布。NPTS 在处理稀疏或间歇性时间序列时尤为有用。
+ **自回归积分滑动平均值 (ARIMA)** – ARIMA 是一种面向时间序列预测的常用统计算法。该算法捕获输入数据集中的标准时间结构（模式化的时间组织）。它对小于 100 个时间序列的简单数据集特别有用。
+ **指数平滑法 (ETS)** – ETS 是一种用于时间序列预测的常用统计算法。该算法对小于 100 个时间序列的简单数据集以及具有季节性模式的数据集特别有用。ETS 计算时间序列数据集中所有观察数据的加权平均值作为其预测，权重随时间呈指数递减。

# 预测已部署的 Autopilot 模型
<a name="timeseries-forecasting-deploy-models"></a>

使用 AutoML API 训练模型后，您可以将其部署到实时或批量预测中。

AutoML API 可针对时间序列数据训练多个候选模型，并根据目标指标选择最佳预测模型。模型候选人经过训练后，可以在响应 [DescribeAutoMLJobV2中找到最佳候选对象，网址](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)为[BestCandidate](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-CandidateName)。

要使用此性能最佳的模型进行预测，可以设置一个端点来交互式地获取预测结果，或者使用批量预测来对一批观测数据进行预测。

**注意事项**
+ 在提供用于预测的输入数据时，数据的架构应与用于训练模型的架构相同，这包括列数、列标题和数据类型。您可以预测相同或不同时间戳范围 IDs 内的现有或新物料，以预测不同的时间段。
+ 预测模型针对训练时在输入请求中指定的未来预测范围点进行预测，该范围从*目标结束日期*开始，到*目标结束日期 \$1 预测范围*结束。要使用模型来预测特定日期，您应提供与原始输入数据格式相同的数据，并延伸到指定的*目标结束日期*。在这种情况下，模型将从新的目标结束日期开始预测。

  例如，如果您的数据集包含从 1 月到 6 月的每月数据，而预测范围为 2，则模型将预测未来 2 个月（即 7 月和 8 月）的目标值。如果在 8 月，您想预测未来 2 个月，那么此时您的输入数据应该是从 1 月到 8 月，模型将预测未来 2 个月（9 月、10 月）。
+ 在预测未来数据点时，并没有设定提供历史数据的最低量。在时间序列中包含足够的数据，以捕捉季节性和重复性规律。

**Topics**
+ [实时预测](timeseries-forecasting-realtime.md)
+ [批量预测](timeseries-forecasting-batch.md)

# 实时预测
<a name="timeseries-forecasting-realtime"></a>

当您需要生成预测时，实时预测非常有用 on-the-fly，例如对于需要即时响应的应用程序或对单个数据点进行预测时。

通过将 AutoML 模型作为实时端点部署，您可以按需生成预测，并最大限度地减少接收新数据与获得预测之间的延迟。这使得实时预测非常适合需要即时、个性化或事件驱动预测功能的应用。

对于实时预测，数据集应该是输入数据集的子集。实时端点的输入数据大小约为 6 MB，响应超时限制为 60 秒。我们建议一次引入一个或几个项目。

您可以使用 SageMaker APIs 检索 AutoML 作业的最佳候选任务，然后使用该候选任务创建 A SageMaker I 终端节点。

或者，当您创建 Autopilot 实验时，也可选择自动部署选项。有关设置模型自动部署的信息，请参阅[如何启用自动部署](autopilot-create-experiment-timeseries-forecasting.md#timeseries-forecasting-auto-model-deployment)。

**要使用您的最佳候选模型创建 A SageMaker I 端点，请执行以下操作：**

1. 

**读取 AutoML 作业的详细信息。**

   以下 AWS CLI 命令示例使用 [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) API 获取 AutoML 作业的详细信息，包括有关最佳候选模型的信息。

   ```
   aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name job-name --region region
   ```

1. 

**从中提取容器定义[InferenceContainers](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers)以获得最佳候选模型。**

   容器定义是容器化环境，用于托管经过训练的 SageMaker AI 模型以进行预测。

   ```
   BEST_CANDIDATE=$(aws sagemaker describe-auto-ml-job-v2 \
     --auto-ml-job-name job-name 
     --region region \
     --query 'BestCandidate.InferenceContainers[0]' \
     --output json
   ```

   该命令提取最佳候选模型的容器定义，并将其存储在 `BEST_CANDIDATE` 变量中。

1. 

**使用最佳候选容器定义创建 SageMaker AI 模型。**

   使用前面步骤中的容器定义通过 [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)AP SageMaker I 创建 AI 模型。

   ```
   aws sagemaker create-model \
               --model-name 'your-candidate-name>' \
               --primary-container "$BEST_CANDIDATE"
               --execution-role-arn 'execution-role-arn>' \
               --region 'region>
   ```

   该`--execution-role-arn`参数指定 A SageMaker I 在使用模型进行推理时扮演的 IAM 角色。有关此角色所需权限的详细信息，请参阅 [CreateModel API：执行角色权限](https://docs.aws.amazon.com/)。

1. 

**使用模型创建 A SageMaker I 端点配置。**

   以下 AWS CLI 命令使用 [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html)API 创建终端节点配置。

   ```
   aws sagemaker create-endpoint-config \
     --production-variants file://production-variants.json \
     --region 'region'
   ```

   其中 `production-variants.json` 文件包含模型配置，包括模型名称和实例类型。
**注意**  
我们建议使用 [m5.12xlarge](https://aws.amazon.com/ec2/instance-types/m5/) 实例进行实时预测。

   ```
   [
       {
         "VariantName": "variant-name",
         "ModelName": "model-name",
         "InitialInstanceCount": 1,
         "InstanceType": "m5.12xlarge"
       }
     ]
   }
   ```

1. 

**使用终端节点配置创建 SageMaker AI 终端节点。**

   以下 AWS CLI 示例使用 [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html)API 创建终端节点。

   ```
   aws sagemaker create-endpoint \
               --endpoint-name 'endpoint-name>' \
               --endpoint-config-name 'endpoint-config-name' \
               --region 'region'
   ```

   使用 [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html)API 检查实时推理端点部署的进度。以以下 AWS CLI 命令为例。

   ```
   aws sagemaker describe-endpoint \
               --endpoint-name 'endpoint-name' \
               --region 'region'
   ```

   将 `EndpointStatus` 更改为 `InService` 后，端点即可用于实时推理。

1. 

**调用 A SageMaker I 端点进行预测。**

   ```
   aws sagemaker invoke-endpoint \
               --endpoint-name 'endpoint-name' \ 
               --region 'region' \
               --body file://input-data-in-bytes.json \
               --content-type 'application/json' outfile
   ```

   其中 `input-data-in-bytes.json` 文件包含预测的输入数据。

# 批量预测
<a name="timeseries-forecasting-batch"></a>

批量预测，也称为离线推理，可根据一批观察数据生成模型预测。对于大型数据集或者在您不需要立即响应模型预测请求时，批量推理是很好的选择。

与之对比的是，在线推理（实时推理）会实时生成预测。

您可以使用 SageMaker APIs 检索 AutoML 作业的最佳候选对象，然后使用该候选任务提交一批输入数据进行推理。

1. 

**读取 AutoML 作业的详细信息。**

   以下 AWS CLI 命令示例使用 [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) API 获取 AutoML 作业的详细信息，包括有关最佳候选模型的信息。

   ```
   aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name job-name --region region
   ```

1. 

**从中提取容器定义[InferenceContainers](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers)以获得最佳候选模型。**

   容器定义是容器化环境，用于托管经过训练的 SageMaker AI 模型以进行预测。

   ```
   BEST_CANDIDATE=$(aws sagemaker describe-auto-ml-job-v2 \
         --auto-ml-job-name job-name 
         --region region \
         --query 'BestCandidate.InferenceContainers[0]' \
         --output json
   ```

   该命令提取最佳候选模型的容器定义，并将其存储在 `BEST_CANDIDATE` 变量中。

1. 

**使用最佳候选容器定义创建 SageMaker AI 模型。**

   使用前面步骤中的容器定义通过 [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)AP SageMaker I 创建 AI 模型。

   ```
   aws sagemaker create-model \
         --model-name 'model-name' \
         --primary-container "$BEST_CANDIDATE"
         --execution-role-arn 'execution-role-arn>' \
         --region 'region>
   ```

   该`--execution-role-arn`参数指定 A SageMaker I 在使用模型进行推理时扮演的 IAM 角色。有关此角色所需权限的详细信息，请参阅 [CreateModel API：执行角色权限](https://docs.aws.amazon.com/)。

1. 

**创建批量转换作业。**

   以下示例使用 [CreateTransformJob](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-transform-job.html)API 创建转换作业。

   ```
   aws sagemaker create-transform-job \ 
          --transform-job-name 'transform-job-name' \
          --model-name 'model-name'\
          --transform-input file://transform-input.json \
          --transform-output file://transform-output.json \
          --transform-resources file://transform-resources.json \
          --region 'region'
   ```

   输入、输出和资源详情在不同的 JSON 文件中定义：
   + `transform-input.json`:

     ```
     {
       "DataSource": {
         "S3DataSource": {
           "S3DataType": "S3Prefix",
           "S3Uri": "s3://my-input-data-bucket/path/to/input/data"
         }
       },
       "ContentType": "text/csv",
       "SplitType": "None"
     }
     ```
   + `transform-output.json`:

     ```
     {
       "S3OutputPath": "s3://my-output-bucket/path/to/output",
       "AssembleWith": "Line"
     }
     ```
   + `transform-resources.json`:
**注意**  
我们建议将 [m5.12xlarge](https://aws.amazon.com/ec2/instance-types/m5/) 实例用于通用工作负载，将 `m5.24xlarge` 实例用于大数据预测任务。

     ```
     {
       "InstanceType": "instance-type",
       "InstanceCount": 1
     }
     ```

1. 

**使用 [DescribeTransformJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTransformJob.html)API 监控转换任务的进度。**

   以以下 AWS CLI 命令为例。

   ```
   aws sagemaker describe-transform-job \
         --transform-job-name 'transform-job-name' \
         --region region
   ```

1. 

**读取批量转换输出。**

   任务完成后，`S3OutputPath` 中会显示预测结果。

   输出文件名称格式如下：`input_data_file_name.out`。例如，如果您的输入文件是 `text_x.csv`，则输出文件名称是 `text_x.csv.out`。

   ```
   aws s3 ls s3://my-output-bucket/path/to/output/
   ```

以下代码示例说明了如何使用适用于 Python 的 AWS 软件开发工具包 (boto3) 和 AWS CLI 用于批量预测的开发工具包。

------
#### [ AWS SDK for Python (boto3) ]

 以下示例使用 **AWS SDK for Python (boto3)** 进行批量预测。

```
import sagemaker 
import boto3

session = sagemaker.session.Session()

sm_client = boto3.client('sagemaker', region_name='us-west-2')
role = 'arn:aws:iam::1234567890:role/sagemaker-execution-role'
output_path = 's3://test-auto-ml-job/output'
input_data = 's3://test-auto-ml-job/test_X.csv'

best_candidate = sm_client.describe_auto_ml_job_v2(AutoMLJobName=job_name)['BestCandidate']
best_candidate_containers = best_candidate['InferenceContainers']
best_candidate_name = best_candidate['CandidateName']

# create model
reponse = sm_client.create_model(
    ModelName = best_candidate_name,
    ExecutionRoleArn = role,
    Containers = best_candidate_containers 
)

# Lauch Transform Job
response = sm_client.create_transform_job(
    TransformJobName=f'{best_candidate_name}-transform-job',
    ModelName=model_name,
    TransformInput={
        'DataSource': {
            'S3DataSource': {
                'S3DataType': 'S3Prefix',
                'S3Uri': input_data
            }
        },
        'ContentType': "text/csv",
        'SplitType': 'None'
    },
    TransformOutput={
        'S3OutputPath': output_path,
        'AssembleWith': 'Line',
    },
    TransformResources={
        'InstanceType': 'ml.m5.2xlarge',
        'InstanceCount': 1,
    },
)
```

批量推理作业返回以下格式的响应。

```
{'TransformJobArn': 'arn:aws:sagemaker:us-west-2:1234567890:transform-job/test-transform-job',
 'ResponseMetadata': {'RequestId': '659f97fc-28c4-440b-b957-a49733f7c2f2',
  'HTTPStatusCode': 200,
  'HTTPHeaders': {'x-amzn-requestid': '659f97fc-28c4-440b-b957-a49733f7c2f2',
   'content-type': 'application/x-amz-json-1.1',
   'content-length': '96',
   'date': 'Thu, 11 Aug 2022 22:23:49 GMT'},
  'RetryAttempts': 0}}
```

------
#### [ AWS Command Line Interface (AWS CLI) ]

1. **获得最佳候选容器定义**。

   ```
   aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name 'test-automl-job' --region us-west-2
   ```

1. **创建模型**。

   ```
   aws sagemaker create-model --model-name 'test-sagemaker-model'
   --containers '[{
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/data-processor-models/test-job1-dpp0-1-e569ff7ad77f4e55a7e549a/output/model.tar.gz",
       "Environment": {
           "AUTOML_SPARSE_ENCODE_RECORDIO_PROTOBUF": "1",
           "AUTOML_TRANSFORM_MODE": "feature-transform",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "application/x-recordio-protobuf",
           "SAGEMAKER_PROGRAM": "sagemaker_serve",
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code"
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.3-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/tuning/flicdf10v2-dpp0-xgb/test-job1E9-244-7490a1c0/output/model.tar.gz",
       "Environment": {
           "MAX_CONTENT_LENGTH": "20971520",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv",
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,probabilities" 
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3", 
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/data-processor-models/test-job1-dpp0-1-e569ff7ad77f4e55a7e549a/output/model.tar.gz", 
       "Environment": { 
           "AUTOML_TRANSFORM_MODE": "inverse-label-transform", 
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv", 
           "SAGEMAKER_INFERENCE_INPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,labels,probabilities", 
           "SAGEMAKER_PROGRAM": "sagemaker_serve", 
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code" 
       } 
   }]' \
   --execution-role-arn 'arn:aws:iam::1234567890:role/sagemaker-execution-role' \
   --region 'us-west-2'
   ```

1. **创建转换作业**。

   ```
   aws sagemaker create-transform-job --transform-job-name 'test-tranform-job'\
    --model-name 'test-sagemaker-model'\
    --transform-input '{
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix",
                   "S3Uri": "s3://amzn-s3-demo-bucket/data.csv"
               }
           },
           "ContentType": "text/csv",
           "SplitType": "None"
       }'\
   --transform-output '{
           "S3OutputPath": "s3://amzn-s3-demo-bucket/output/",
           "AssembleWith": "Line"
       }'\
   --transform-resources '{
           "InstanceType": "ml.m5.2xlarge",
           "InstanceCount": 1
       }'\
   --region 'us-west-2'
   ```

1. **检查转换作业的进度**。

   ```
   aws sagemaker describe-transform-job --transform-job-name  'test-tranform-job' --region us-west-2
   ```

   以下是来自转换作业的响应。

   ```
   {
       "TransformJobName": "test-tranform-job",
       "TransformJobArn": "arn:aws:sagemaker:us-west-2:1234567890:transform-job/test-tranform-job",
       "TransformJobStatus": "InProgress",
       "ModelName": "test-model",
       "TransformInput": {
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix",
                   "S3Uri": "s3://amzn-s3-demo-bucket/data.csv"
               }
           },
           "ContentType": "text/csv",
           "CompressionType": "None",
           "SplitType": "None"
       },
       "TransformOutput": {
           "S3OutputPath": "s3://amzn-s3-demo-bucket/output/",
           "AssembleWith": "Line",
           "KmsKeyId": ""
       },
       "TransformResources": {
           "InstanceType": "ml.m5.2xlarge",
           "InstanceCount": 1
       },
       "CreationTime": 1662495635.679,
       "TransformStartTime": 1662495847.496,
       "DataProcessing": {
           "InputFilter": "$",
           "OutputFilter": "$",
           "JoinSource": "None"
       }
   }
   ```

   将 `TransformJobStatus` 更改为 `Completed` 后，您可以在中 `S3OutputPath` 查看推理结果。

------

# Amazon SageMaker Autopilot 数据探索笔记本
<a name="timeseries-forecasting-data-exploration-notebook"></a>

Amazon SageMaker Autopilot 会自动清理和预处理您的数据集。为了帮助用户了解他们的数据，发现时间序列的模式、关系和异常情况，A SageMaker mazon Autopilot 以笔记本的形式生成**了一份数据**探索静态报告，供用户参考。

每个 Autopilot 作业都会生成数据探索笔记本。报告存储在 Amazon S3 存储桶中，可以从输出路径访问。

您可以在对 `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` 响应的 `[AutoMLJobArtifacts.DataExplorationNotebookLocation](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html#sagemaker-DescribeAutoMLJobV2-response-AutoMLJobArtifacts)` 位置找到数据探索笔记本的 Amazon S3 前缀。

# 由 Amazon A SageMaker utopilot 生成的报告
<a name="timeseries-forecasting-reports"></a>

除了数据探索笔记本外，Autopilot 还会为每个实验的最佳候选模型生成各种报告。
+ 解释功能报告提供了有关模型如何进行预测的深入分析。
+ 性能报告提供了对模型预测能力的定量评测。
+ 在历史数据上测试模型的性能后，将生成回测结果报告。

## 解释功能报告
<a name="timeseries-forecasting-explainability-report"></a>

Autopilot 解释功能报告可帮助您更好地了解数据集中的属性，会如何对特定时间序列（项目和维度组合）和时间点的预测产生影响。Autopilot 使用名为*影响分数*的指标来量化每个属性的相对影响，并确定它们是增加还是减少预测值。

例如，假设一个预测场景，其中目标是 `sales`，并且有两个相关的属性：`price` 和 `color`。Autopilot 可能会发现商品的颜色对某些商品的销售影响很大，但对其他商品的影响可以忽略不计。它还可能发现，夏季促销活动对销售的影响很大，但是冬季促销活动效果不大。

只有在满足以下条件时才会生成解释功能报告：
+ 时间序列数据集包括其他特征列或与假日日历相关联。
+ 基本模型 CNN-QR 和 DeepAR\$1 包含在最终的组合中。

### 解释影响力分数
<a name="timeseries-forecasting-explainability-impact-scores"></a>

影响力分数衡量属性对预测值的相对影响。例如，如果 `price` 属性的影响力分数是 `store location` 属性的两倍，则可以得出结论，某件商品的价格对预测值的影响是商店位置的两倍。

影响力分数还提供有关属性会增加还是减少预测值的信息。

影响力分数的范围在 -1 到 1 之间，其中符号表示影响方向。分数为 0 表示没有影响，而接近 1 或 -1 的分数表示有显著的影响。

值得注意的是，影响力分数衡量的是属性的相对影响，而不是绝对影响。因此，不能使用影响力分数来确定特定属性是否提高了模型准确性。如果某个属性的影响力分数较低，这并不一定意味着它对预测值的影响较小；而是意味着它对预测值的影响要小于预测器使用的其他属性。

### 查找解释功能报告
<a name="timeseries-forecasting-explainability-report-location"></a>

在对 `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` 响应的 `[BestCandidate.CandidateProperties.CandidateArtifactLocations.Explainability](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html#sagemaker-Type-CandidateArtifactLocations-Explainability)` 位置，您可以找到为最佳候选项生成的解释功能构件的 Amazon S3 前缀。

## 模型性能报告
<a name="timeseries-forecasting-model-performance-report"></a>

Autopilot 模型质量报告（也称为性能报告）针对 AutoML 作业生成的最佳候选模型（最佳预测器），提供深入分析和质量信息。这包括有关作业详细信息、目标函数和准确性指标（`wQL`、`MAPE`、`WAPE`、`RMSE`、`MASE`）的信息。

在对 `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` 响应的 `[BestCandidate.CandidateProperties.CandidateArtifactLocations.ModelInsights](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html#sagemaker-Type-CandidateArtifactLocations-ModelInsights)` 位置，您可以找到为最佳候选项生成的模型质量报告构件的 Amazon S3 前缀。

## 回测结果报告
<a name="timeseries-forecasting-model-backtest-report"></a>

回测结果通过评估时间序列预测模型的预测准确性和可靠性，提供对模型性能的深入分析。它可以帮助分析师和数据科学家评测模型在历史数据上的性能，并帮助了解模型在未来的不可见数据中的潜在性能。

Autopilot 使用回测来调整参数并生成准确性指标。在回测期间，Autopilot 会自动将您的时间序列数据分成两组，即训练集和测试集。训练集用于训练模型，然后使用该模型，为测试集中的数据点生成预测。Autopilot 使用此测试数据集，通过将预测值与测试集中的观察数据进行比较来评估模型的准确性。

在对 `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` 响应的 `[BestCandidate.CandidateProperties.CandidateArtifactLocations.BacktestResults](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html#sagemaker-Type-CandidateArtifactLocations-BacktestResults)` 位置，您可以找到为最佳候选项生成的模型质量报告构件的 Amazon S3 前缀。

# 时间序列预测 Autopilot 的资源限制
<a name="timeseries-forecasting-limits"></a>

下表列出了 Amazon A SageMaker utopilot 中时间序列预测任务的资源限制，以及您是否可以调整每个限制。


| **资源限制** | **默认限制** | **可调整** | 
| --- | --- | --- | 
|  输入数据集的大小  |  30 GB  |  是  | 
|  单个 Parquet 文件的大小  |  2 GB  |  否  | 
|  一个数据集中的最大行数  |  30 亿  |  是  | 
|  最大分组列数  |  5  |  否  | 
|  最大数值特征数  |  13  |  否  | 
|  最大类别特征数  |  10  |  否  | 
|  每个数据集的时间序列最大数量（项目列和分组列的唯一组合）  |  5,000,000  |  是  | 
|  最大预测范围  |  500  |  是  | 

# 创建 AutoML 作业，使用 API 微调文本生成模型
<a name="autopilot-create-experiment-finetune-llms"></a>

大型语言模型 (LLMs) 擅长多种生成任务，包括文本生成、摘要、完成、问答等。它们之所以有如此出色的表现，可以归结于它们庞大的规模以及针对不同数据集和各种任务进行的广泛训练。但是，在医疗保健和金融服务等特定领域中，这些模型可能需要进行自定义微调，以适应独特的数据和使用场景。通过根据自己的特定领域量身定制培训， LLMs 可以提高他们的绩效，并为目标应用程序提供更准确的输出。

Autopilot 提供了对一系列预训练生成式文本模型进行微调的功能。特别是，Autopilot 支持对由提供支持的通用大型语言模型 () LLMs 进行**基于指令的微调**。 JumpStart

**注意**  
支持自动驾驶微调的文本生成模型目前只能在 Canvas 支持的 SageMaker 区域中使用。有关[其支持的区域的完整列表，请参阅 SageMaker Canvas 的](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas.html)文档。

微调预训练模型需要包含清晰指令的特定数据集，用于指导模型如何针对任务生成输出或行为。模型从数据集中学习，调整其参数以遵从提供的指令。基于指令的微调包括使用标记的示例，将其格式化为提示-回答对，并以指令的形式措辞。有关微调的更多信息，请参阅[微调基础模型](https://docs.aws.amazon.com/sagemaker/latest/dg/jumpstart-foundation-models-fine-tuning.html)。

以下指南概述了创建 Amazon A SageMaker utopilot 作业作为试点实验的流程，以便 LLMs 使用 SageMaker [API](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html) 参考微调文本生成。

**注意**  
文本和映像分类、时间序列预测和大型语言模型微调等任务都可以通过 [AutoML REST API](autopilot-reference.md) 的第 2 版独家实现。如果您选择的语言是 Python，则可以直接引用 Amazon SageMaker Python 软件开发工具包的 A [uto MLV2 对象](https://sagemaker.readthedocs.io/en/stable/api/training/automlv2.html#sagemaker.automl.automlv2.AutoMLV2)。[适用于 Python (Boto3) 的 AWS SDK](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_auto_ml_job_v2.html)  
喜欢用户界面便利性的用户可以使用 [Amazon SageMaker Canv](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html) as 访问预训练模型和生成式 AI 基础模型，或者创建针对特定文本、图像分类、预测需求或生成式 AI 量身定制的自定义模型。

要以编程方式创建自动驾驶实验以微调 LLM，你可以使用 Ama SageMaker zon Autopilot 支持的任何语言调用 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)API 或。 AWS CLI

有关此 API 操作如何转换为所选语言中函数的信息，请参阅 `CreateAutoMLJobV2` 中的[另请参阅](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_SeeAlso)部分并选择 SDK。例如，对于 Python 用户，请参阅 适用于 Python (Boto3) 的 AWS SDK中 `[create\$1auto\$1ml\$1job\$1v2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_auto_ml_job_v2)` 的完整请求语法。

**注意**  
Autopilot 可以微调大型语言模型，无需对多个候选项进行训练和评估。取而代之的是，Autopilot 使用您的数据集直接微调目标模型，以增强默认的目标指标，即交叉熵损失。在 Autopilot 中微调语言模型不需要设置 `AutoMLJobObjective` 字段。

对 LLM 进行微调后，您可以在进行 `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` API 调用时，通过 `[BestCandidate](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateProperties.html#sagemaker-Type-CandidateProperties-CandidateMetrics)` 访问各种 ROUGE 分数来评估其性能。该模型还提供了有关其训练和验证损失以及困惑度的信息。有关评估微调模型生成的文本质量的指标完整列表，请参阅[在 Autopilot 中微调大型语言模型的指标](autopilot-llms-finetuning-metrics.md)。

## 先决条件
<a name="autopilot-llms-finetuning-api-prerequisites"></a>

在使用 Autopilot 在 SageMaker AI 中创建微调实验之前，请务必执行以下步骤：
+ （可选）选择要微调的预训练模型。

  有关可在 Amazon A SageMaker utopilot 中进行微调的预训练模型列表，请参阅。[支持进行微调的大型语言模型](autopilot-llms-finetuning-models.md)模型的选择不是强制性的；如果未指定型号，Autopilot 会自动默认为 *Falc BInstruct* on7 型号。
+ 创建指令数据集。请参阅 [数据集文件类型和输入数据格式](autopilot-llms-finetuning-data-format.md)，了解基于指令的数据集的格式要求。
+ 将您的数据集置于 Amazon S3 存储桶中。
+ 授予对包含用于运行实验的 Amazon S3 执行角色的输入数据的 SageMaker Amazon S3 存储桶的完全访问权限。
  + 有关检索 SageMaker AI 执行角色的信息，请参阅[获取执行角色](sagemaker-roles.md#sagemaker-roles-get-execution-role)。
  + 有关向您的 SageMaker AI 执行角色授予访问 Amazon S3 中一个或多个特定存储桶的权限的信息，请参阅中的向 A * SageMaker I 执行角色添加其他 Amazon S3 权限*。[创建执行角色](sagemaker-roles.md#sagemaker-roles-create-execution-role)
+ 此外，您应为执行角色提供必要的权限，以访问所使用的默认存储 Amazon S3 存储桶 JumpStart。此访问权限是存储和检索中预训练的模型工件所必需的。 JumpStart要授予对此 Amazon S3 存储桶的访问权限，您必须针对执行角色创建新的内联自定义策略。

  下面是一个策略示例，在配置 `us-west-2` 中的 AutoML 微调作业时，您可以在 JSON 编辑器中使用该策略：

  *JumpStart的存储桶名称遵循预先确定的模式，该模式取决于. AWS 区域您必须相应地调整存储桶的名称。*

  ```
  {
      "Sid": "Statement1",
      "Effect": "Allow",
      "Action": [
          "s3:GetObject",
          "s3:PutObject",
          "s3:ListBucket"
      ],
      "Resource": [
          "arn:aws:s3:::jumpstart-cache-prod-us-west-2",
          "arn:aws:s3:::jumpstart-cache-prod-us-west-2/*"
      ]
  }
  ```

完成此操作后，您可以在 Autopilot API 请求中使用此执行角色的 ARN。

## 必需参数
<a name="autopilot-llms-finetuning-api-required-params"></a>

调用 `[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)` 创建用于 LLM 微调的 Autopilot 实验时，必须提供以下值：
+ `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)`，用于指定您作业的名称。名称应为 `string` 类型，最小长度为 1 个字符，最大长度为 32 个字符。
+ `[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)` 中至少有一个 `training` 类型的 `[AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)`。此通道指定微调数据集所在 Amazon S3 存储桶的名称。您可以选择定义 `validation` 通道。如果未提供验证通道，并且在 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html) 中配置了 `ValidationFraction`，则使用此分数将训练数据集随机划分为训练集和验证集。此外，您可以为数据集指定内容的类型（CSV 或 Parquet 文件）。
+ 类型为 `[TextGenerationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)` 的 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` 用于配置训练作业的设置。

  具体而言，您可以在 `BaseModelName` 字段中指定要微调的基础模型的名称。有关可在 Amazon A SageMaker utopilot 中进行微调的预训练模型列表，请参阅。[支持进行微调的大型语言模型](autopilot-llms-finetuning-models.md)
+ `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)`，指定用于存储 AutoML 作业构件的 Amazon S3 输出路径。
+ `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)`，指定用于访问您的数据的角色的 ARN。

以下示例提供了完整请求格式，用于对 `CreateAutoMLJobV2` 发出 API 调用以微调 (`Falcon7BInstruct`) 模型。

```
{
   "AutoMLJobName": "<job_name>",
   "AutoMLJobInputDataConfig": [ 
      { 
         "ChannelType": "training",
         "CompressionType": "None",
         "ContentType": "text/csv", 
         "DataSource": { 
            "S3DataSource": { 
               "S3DataType": "S3Prefix",
               "S3Uri": "s3://<bucket_name>/<input_data>.csv"
            }
         }
      }
   ],
  "OutputDataConfig": {
      "S3OutputPath": "s3://<bucket_name>/output",
      "KmsKeyId": "arn:aws:kms:<region>:<account_id>:key/<key_value>"
   },
   "RoleArn":"arn:aws:iam::<account_id>:role/<sagemaker_execution_role_name>",
   "AutoMLProblemTypeConfig": {
        "TextGenerationJobConfig": {
            "BaseModelName": "Falcon7BInstruct"
       }
   }
}
```

所有其他参数都是可选的。

## 可选参数
<a name="autopilot-llms-finetuning-api-optional-params"></a>

以下各节提供了一些可以传递给微调 AutoML 作业的可选参数的详细信息。

### 如何指定 AutoML 作业的训练和验证数据集
<a name="autopilot-llms-finetuning-data-training-or-validation"></a>

您可以提供自己的验证数据集和自定义的数据拆分比率，也可以让 Autopilot 自动拆分数据集。

每个[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)对象（参见必填参数 [Auto MLJob InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)）都有`ChannelType`，可以将其设置为`training`或指定在构建机器学习模型时如何使用数据的`validation`值。

数据来源至少需要一个，最多可以有两个：一个用于训练数据，一个用于验证数据。如何将数据拆分为训练和验证数据集，取决于您有一个还是两个数据来源。
+ 如果您只有**一个数据来源**，则默认情况下 `ChannelType` 设置为 `training`，并且必须具有此值。
  + 如果未设置 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html) 中的 `ValidationFraction` 值，则默认情况下，将使用来自此来源中数据的 0.2 (20%) 进行验证。
  + 如果 `ValidationFraction` 设置为介于 0 和 1 之间的值，则根据指定的值拆分数据集，该值指定用于验证的数据集的比例。
+ 如果您有**两个数据来源**，则其中一个 `AutoMLJobChannel` 对象的 `ChannelType` 必须设置为默认值 `training`。另一个数据来源的 `ChannelType` 必须设置为 `validation`。这两个数据来源必须具有相同的格式（CSV 或 Parquet）和相同的架构。在这种情况下，您不可为 `ValidationFraction` 设置值，因为每个来源的所有数据都用于训练或验证。设置此值会导致错误。

### 如何启用自动部署
<a name="autopilot-llms-finetuning-auto-model-deployment"></a>

利用 Autopilot，您可以自动将微调模型部署到端点。要为经过微调的模型启用自动部署，请在 AutoML 作业请求中包括 `[ModelDeployConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-ModelDeployConfig)`。这允许将经过微调的模型部署到 A SageMaker I 端点。以下是可供自定义的配置。
+ 要让 Autopilot 生成端点名称，请将 `[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)` 设置为 `True`。
+ 要为端点提供自己的名称，请设置 `[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents) to False and provide a name of your choice in [EndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)`。

### 使用 AutoML API 微调模型时如何设置 EULA 接受度
<a name="autopilot-llms-finetuning-set-eula"></a>

对于需要在微调前接受最终用户许可协议的模型，您可以在配置 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` 时将 `[ModelAccessConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelAccessConfig.html)` 的 `AcceptEula` 属性设置为 `[TextGenerationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)` 中的 `True`，从而接受 EULA。

### 如何设置超参数以优化模型的学习过程
<a name="autopilot-llms-finetuning-set-hyperparameters"></a>

在配置 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` 时，您可以在 `[TextGenerationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)` 的 `TextGenerationHyperParameters` 属性中设置超参数值，从而优化文本生成模型的学习过程。

Autopilot 允许在所有模型中设置四个通用超参数。
+ `epochCount`：其值应是一个字符串，包含 `1` 至 `10` 范围内的整数值。
+ `batchSize`：其值应是一个字符串，包含 `1` 至 `64` 范围内的整数值。
+ `learningRate`：其值应是一个字符串，包含 `0` 至 `1` 范围内的浮点数值。
+ `learningRateWarmupSteps`：其值应是一个字符串，包含 `0` 至 `250` 范围内的整数值。

有关每个超参数的更多详情，请参阅 [优化文本生成模型学习过程的超参数](autopilot-llms-finetuning-hyperparameters.md)。

以下 JSON 示例显示了传递到配置所有四个超参数的`TextGenerationHyperParameters`字段。 TextGenerationJobConfig 

```
"AutoMLProblemTypeConfig": {
  "TextGenerationJobConfig": {
    "BaseModelName": "Falcon7B",
    "TextGenerationHyperParameters": {"epochCount":"5", "learningRate":"0.000001", "batchSize": "32", "learningRateWarmupSteps": "10"}
  }
}
```

# 支持进行微调的大型语言模型
<a name="autopilot-llms-finetuning-models"></a>

使用 Autopilot API，用户可以微调由亚马逊提供支持的大型语言模型 (LLMs)。 SageMaker JumpStart

**注意**  
对于需要接受最终用户许可协议的微调模型，您必须在创建 AutoML 作业时明确声明接受 EULA。请注意，在对预训练模型进行微调后，原始模型的权重将被更改，因此在部署微调后的模型时，您无需随后接受 EULA。  
有关使用 AutoML API 创建微调作业时如何接受 EULA 的信息，请参阅 [使用 AutoML API 微调模型时如何设置 EULA 接受度](autopilot-create-experiment-finetune-llms.md#autopilot-llms-finetuning-set-eula)。

您可以在下方的模型[表中搜索您的**JumpStart 模型 ID**，然后点击**来源**列中的链接，找到每个模型](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html#built-in-algorithms-with-pre-trained-model-table)的完整详细信息。这些细节可能包括模型支持的语言、可能表现出的偏差、用于微调的数据集等。

下表列出了您可以通过 AutoML 作业进行微调的支持的 JumpStart 模型。


| JumpStart 型号 | API 请求中的 `BaseModelName` | 说明 | 
| --- | --- | --- | 
| huggingface-textgeneration-dolly-v2-3b-bf16 | Dolly3B |  Dolly 3B 是基于 [pythia-2.8b](https://huggingface.co/EleutherAI/pythia-2.8b#pythia-28b) 的 28 亿参数指令跟随大型语言模型。它在 instruction/response 微调数据集 [databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k) 上进行训练，可以执行包括头脑风暴、分类、问答、文本生成、信息提取和总结在内的任务。  | 
| huggingface-textgeneration-dolly-v2-7b-bf16 | Dolly7B |  Dolly 7B 是基于 [pythia-6.9b](https://huggingface.co/EleutherAI/pythia-6.9b) 的 69 亿参数指令跟随大型语言模型。它在 instruction/response 微调数据集 [databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k) 上进行训练，可以执行包括头脑风暴、分类、问答、文本生成、信息提取和总结在内的任务。  | 
| huggingface-textgeneration-dolly-v2-12b-bf16 | Dolly12B |  Dolly 12B 是基于 [pythia-12b](https://huggingface.co/EleutherAI/pythia-12b) 的 120 亿参数指令跟随大型语言模型。它在 instruction/response 微调数据集 [databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k) 上进行训练，可以执行包括头脑风暴、分类、问答、文本生成、信息提取和总结在内的任务。  | 
| huggingface-llm-falcon-7b-bf16 | Falcon7B |  Falcon 7B 是一个 70 亿参数的因果大型语言模型，以 15000 亿词库为基础进行训练，并通过精心策划的语料库进行增强。Falcon-7B 仅在英语和法语数据基础上进行了训练，无法适当地推广到其他语言。由于该模型是在大量网络数据的基础上训练出来的，因此带有网上常见的刻板印象和偏见。  | 
| huggingface-llm-falcon-7b-instruct-bf16 | Falcon7BInstruct |  Falcon 7B Instruct是一个70亿个参数的因果关系大型语言模型，建立在Falcon 7B的基础上，并在2.5亿个代币的数据集混合物上进行了微调。 chat/instruct Falcon 7B Instruct 主要是在英语数据上进行训练的，并不能适当地推广到其他语言。此外，由于它是在具有代表性的大规模网络语料库中训练出来的，因此带有网上常见的刻板印象和偏见。  | 
| huggingface-llm-falcon-40b-bf16 | Falcon40B |  Falcon 40B 是拥有 400 亿个参数的因果大型语言模型，以 1 万亿个词库为基础进行训练，并通过精心策划的语料库进行增强。它主要接受英语、德语、西班牙语和法语训练，在意大利语、葡萄牙语、波兰语、荷兰语、罗马尼亚语、捷克语和瑞典语方面能力有限。它不能适当地推广到其他语言。此外，由于它是在具有代表性的大规模网络语料库中训练出来的，因此带有网上常见的刻板印象和偏见。  | 
| huggingface-llm-falcon-40b-instruct-bf16 | Falcon40BInstruct |  Falcon 40B Instruct 是一个基于 Falcon40B 的 400 亿参数因果大型语言模型，并在 Baize 的混合基础上进行了微调。它主要是在英语和法语数据上进行训练的，并不能适当地推广到其他语言。此外，由于它是在具有代表性的大规模网络语料库中训练出来的，因此带有网上常见的刻板印象和偏见。  | 
| huggingface-text2text-flan-t5-large | FlanT5L |  [https://huggingface.co/docs/transformers/model_doc/t5](https://huggingface.co/docs/transformers/model_doc/t5) 模型系列是一组大型语言模型，可在多个任务中进行微调，并可进一步训练。这些模型非常适合语言翻译、文本生成、句子补全、词义消歧、摘要或问题解答等任务。Flan T5 L 是一个 7.8 亿参数的大型语言模型，以多种语言为基础进行训练。[您可以在模型表中按型号 ID 搜索的模型详细信息中找到 Flan T5 L 支持的语言列表。 JumpStart](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html#built-in-algorithms-with-pre-trained-model-table)  | 
| huggingface-text2text-flan-t5-xl | FlanT5XL |  [https://huggingface.co/docs/transformers/model_doc/t5](https://huggingface.co/docs/transformers/model_doc/t5) 模型系列是一组大型语言模型，可在多个任务中进行微调，并可进一步训练。这些模型非常适合语言翻译、文本生成、句子补全、词义消歧、摘要或问题解答等任务。Flan T5 XL 是一个 30 亿参数的大型语言模型，经过多种语言的训练。[您可以在模型表中按型号 ID 搜索的模型详细信息中找到 Flan T5 XL 支持的语言列表。 JumpStart](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html#built-in-algorithms-with-pre-trained-model-table)  | 
| huggingface-text2text-flan-t5-xxll | FlanT5XXL |  [https://huggingface.co/docs/transformers/model_doc/t5](https://huggingface.co/docs/transformers/model_doc/t5) 模型系列是一组大型语言模型，可在多个任务中进行微调，并可进一步训练。这些模型非常适合语言翻译、文本生成、句子补全、词义消歧、摘要或问题解答等任务。Flan T5 XXL 是一个 110 亿参数模型。[您可以在模型表中按型号 ID 搜索的模型详细信息中找到 Flan T5 XXL 支持的语言列表。 JumpStart](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html#built-in-algorithms-with-pre-trained-model-table)  | 
| meta-textgeneration-llama-2-7b | Llama2-7B |  Llama 2 是一组经过预训练和微调的文本生成模型，参数规模从 70 亿到 700 亿不等。Llama2-7B 是用于英语的 70 亿参数模型，可适用于各种自然语言生成任务。  | 
| meta-textgeneration-llama-2-7b-f | Llama2-7BChat |  Llama 2 是一组经过预训练和微调的文本生成模型，参数规模从 70 亿到 700 亿不等。Llama2-7B 是 70 亿参数聊天模型，针对对话使用场景进行了优化。  | 
| meta-textgeneration-llama-2-13b | Llama2-13B |  Llama 2 是一组经过预训练和微调的文本生成模型，参数规模从 70 亿到 700 亿不等。Llama2-13B 是用于英语的 130 亿参数模型，适用于各种自然语言生成任务。  | 
| meta-textgeneration-llama-2-13b-f | Llama2-13BChat |  Llama 2 是一组经过预训练和微调的文本生成模型，参数规模从 70 亿到 700 亿不等。Llama2-13B 是 130 亿参数聊天模型，针对对话使用场景进行了优化。  | 
| huggingface-llm-mistral-7b | Mistral7B |  Mistral 7B 是一个 70 亿参数代码和通用英语文本生成模型。它可用于各种使用场景，包括文本摘要、分类、文本补全或代码补全。  | 
| huggingface-llm-mistral-7b-instruct | Mistral7BInstruct |  Mistral 7B Instruct 是 Mistral 7B 的微调版本，适用于对话使用场景。它是利用各种公开的英语会话数据集专门设计的。  | 
| huggingface-textgeneration1-mpt-7b-bf16 | MPT7B |  MPT 7B 是一个具有 67 亿个参数的解码器式转换器大型语言模型，在 1 万亿个英语文本和代码词块上从头开始预训练。它可以处理较长的上下文。  | 
| huggingface-textgeneration1-mpt-7b-instruct-bf16 | MPT7BInstruct |  MPT 7B Instruct 是一种针对任务的简短指导模式。它是通过在 [databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k) 和 [Anthropic Helpful and Harmless (HH-RLHF)](https://huggingface.co/datasets/Anthropic/hh-rlhf) 数据集基础上对 MPT 7B 进行微调而构建的。  | 

# 数据集文件类型和输入数据格式
<a name="autopilot-llms-finetuning-data-format"></a>

基于指令的微调使用带标签的数据集来提高针对特定自然语言处理 (NLP) 任务 LLMs 进行预训练的性能。标注示例的格式为提示-回答对，措辞为指示。



要了解支持的数据集文件类型，请参阅[支持的数据集文件类型](#autopilot-llms-finetuning-dataset-format)。

要了解输入数据格式，请参阅[基于指令的微调的输入数据格式](#autopilot-llms-finetuning-input-format)。

## 支持的数据集文件类型
<a name="autopilot-llms-finetuning-dataset-format"></a>

Autopilot 支持基于指令的微调数据集，格式为 CSV 文件（默认）或 Parquet 文件。
+ **CSV**（逗号分隔值）是一种基于行的文件格式，以人类可读的明文形式存储数据。
+ **Parquet** 是一种基于列的二进制文件格式，与 CSV 等人类可读文件格式相比，这种格式存储和处理数据的效率更高。这使它成为解决大数据问题的更好选择。

**注意**  
数据集可能包含多个文件，每个文件都必须符合特定的模板。有关如何格式化输入数据的信息，请参阅[基于指令的微调的输入数据格式](#autopilot-llms-finetuning-input-format)。

## 基于指令的微调的输入数据格式
<a name="autopilot-llms-finetuning-input-format"></a>

数据集中的每个文件都必须符合以下格式：
+ 数据集必须正好包含以逗号分隔的两个命名列，分别名为 `input` 和 `output`。Autopilot 不允许增加任何栏。
+ `input` 列包含提示，其对应的 `output` 包含预期答案。`input` 和 `output` 均为字符串格式。

以下示例说明了 Autopilot 中基于指令的微调的输入数据格式。

```
input,output
"<prompt text>","<expected generated text>"
```

**注意**  
我们建议使用至少包含 1000 行的数据集，以确保模型的最佳学习效果和性能。

此外，Autopilot 会根据所使用的模型类型，对数据集中的行数和上下文长度设置最大值限制。
+ 数据集中的行数限制适用于数据集中所有文件（包括多个文件）的累计行数。如果定义了两个[通道类型](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html)（一个用于训练，一个用于验证），则限制适用于两个通道中所有数据集的行总数。当行数超过阈值时，作业会因验证错误而失败。
+ 当数据集中某行的输入或输出长度超过在语言模型上下文中设置的限制时，则会自动截断其内容。如果数据集中超过 60% 的行被截断，无论是在输入还是输出中，Autopilot 都会因验证错误而使作业失败。

下表列出了每种模型的限制。


| JumpStart 型号 | API 请求中的 `BaseModelName` | 行限制 | 上下文长度限制 | 
| --- | --- | --- | --- | 
| huggingface-textgeneration-dolly-v2-3b-bf16 | Dolly3B | 1 万行 | 1024 个令牌 | 
| huggingface-textgeneration-dolly-v2-7b-bf16 | Dolly7B | 1 万行 | 1024 个令牌 | 
| huggingface-textgeneration-dolly-v2-12b-bf16 | Dolly12B | 1 万行 | 1024 个令牌 | 
| huggingface-llm-falcon-7b-bf16 | Falcon7B | 1000 行 | 1024 个令牌 | 
| huggingface-llm-falcon-7b-instruct-bf16 | Falcon7BInstruct | 1000 行 | 1024 个令牌 | 
| huggingface-llm-falcon-40b-bf16 | Falcon40B | 1 万行 | 1024 个令牌 | 
| huggingface-llm-falcon-40b-instruct-bf16 | Falcon40BInstruct | 1 万行 | 1024 个令牌 | 
| huggingface-text2text-flan-t5-large | FlanT5L | 1 万行 | 1024 个令牌 | 
| huggingface-text2text-flan-t5-xl | FlanT5XL | 1 万行 | 1024 个令牌 | 
| huggingface-text2text-flan-t5-xxll | FlanT5XXL | 1 万行 | 1024 个令牌 | 
| meta-textgeneration-llama-2-7b | Llama2-7B | 1 万行 | 2048 个令牌 | 
| meta-textgeneration-llama-2-7b-f | Llama2-7BChat | 1 万行 | 2048 个令牌 | 
| meta-textgeneration-llama-2-13b | Llama2-13B | 7000 行 | 2048 个令牌 | 
| meta-textgeneration-llama-2-13b-f | Llama2-13BChat | 7000 行 | 2048 个令牌 | 
| huggingface-llm-mistral-7b | Mistral7B | 1 万行 | 2048 个令牌 | 
| huggingface-llm-mistral-7b-instruct | Mistral7BInstruct | 1 万行 | 2048 个令牌 | 
| huggingface-textgeneration1-mpt-7b-bf16 | MPT7B | 1 万行 | 1024 个令牌 | 
| huggingface-textgeneration1-mpt-7b-instruct-bf16 | MPT7BInstruct | 1 万行 | 1024 个令牌 | 

# 优化文本生成模型学习过程的超参数
<a name="autopilot-llms-finetuning-hyperparameters"></a>

您可以通过调整以下超参数的任意组合来优化基础模型的学习过程。这些参数适用于所有模型。
+ **历时计数**：`epochCount` 超参数决定了模型对整个训练数据集的遍历次数。它影响训练时间，如果设置得当，可以防止过度拟合。大量的历时可能会增加微调工作的总体运行时间。我们建议在 `[TextGenerationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)` 的 `CompletionCriteria` 内设置较大的 `MaxAutoMLJobRuntimeInSeconds`，以避免微调作业过早停止。
+ **批量大小**：`batchSize` 超参数定义了每次迭代训练中使用的数据样本数量。它会影响收敛速度和内存使用量。随着批量规模的扩大，内存不足（OOM）错误的风险也会增加，这可能会在 Autopilot 中以内部服务器错误的形式出现。要检查是否存在此类错误，请检查 Autopilot 作业启动的训练作业的 `/aws/sagemaker/TrainingJobs` 日志组。您可以 CloudWatch 从 AWS 管理控制台中访问这些登录信息。选择**日志**，然后选择 `/aws/sagemaker/TrainingJobs` **日志组**。要纠正 OOM 错误，请缩小批量。

  我们建议从批量大小为 1 开始，然后逐步增加，直到出现内存不足的错误。作为参考，10 个纪元通常需要 72 小时才能完成。
+ **学习率**：`learningRate` 超参数控制模型参数在训练过程中的更新步长。它决定了模型参数在训练过程中更新的快慢。高学习率意味着参数更新的步长较大，这可以加快收敛速度，但也可能导致优化过程偏离最优解，变得不稳定。较低的学习率意味着参数更新的步长较小，这可能导致更稳定的收敛，但代价是学习速度较慢。
+ **学习率预热步数**：`learningRateWarmupSteps` 超参数指定了学习率在达到目标或最大值之前逐渐增加的训练步数。这有助于模型更有效地收敛，避免因初始学习率过高而出现的发散或收敛缓慢等问题。

要了解如何在 Autopilot 中为微调实验调整超参数并发现其可能的值，请参阅 [如何设置超参数以优化模型的学习过程](autopilot-create-experiment-finetune-llms.md#autopilot-llms-finetuning-set-hyperparameters)。

# 在 Autopilot 中微调大型语言模型的指标
<a name="autopilot-llms-finetuning-metrics"></a>

下一节描述了可用于了解经过微调的大型语言模型的指标（LLMs）。Autopilot 可使用您的数据集直接微调目标 LLM，以增强默认目标指标--交叉熵损失。

交叉熵损失是一种广泛使用的指标，用于评测预测的概率分布与训练数据中实际单词分布之间的差异。通过尽可能减少交叉熵损失，模型可以学习做出更准确、与上下文更相关的预测，尤其是在与文本生成相关的任务中。

微调 LLM 后，您可以使用一系列 ROUGE 分数来评估其生成文本的质量。此外，作为评估过程的一部分，您可以分析困惑度、交叉熵训练和验证损失。
+ 困惑度损失衡量模型预测文本序列中下一个单词的准确程度，较低的值表示对语言和上下文的理解更好。
+ Recall-Oriented Understudy for Gisting Evaluation (ROUGE) 是一套用于自然语言处理（NLP）和机器学习领域的指标，用于评估机器生成文本（如文本摘要或文本生成）的质量。它主要评测生成文本与验证数据集的基本参考（人类撰写）文本之间的相似性。ROUGE 测量方法旨在评测文本相似性的各个方面，包括系统生成文本和参考文本中 n-grams（连续的单词序列）的精确度和召回率。其目标是评测模型采集参考文本中所提供信息的效果如何。

  根据所使用的 n-grams 类型和所评估文本质量的具体方面，ROUGE 指标有多种变体。

  以下列表包含 Autopilot 微调大型语言模型后可用的 ROUGE 指标的名称和说明。  
**`ROUGE-1`, `ROUGE-2`**  
ROUGE-N 是主要的 ROUGE 指标，用于衡量系统生成文本与参考文本之间的 n-grams 重叠度。ROUGE-N 可以调整为不同的 `n` 值（此处为 `1` 或 `2`），以评估系统生成的文本对参考文本中的 n-grams 的捕捉程度。  
**`ROUGE-L`**  
ROUGE-L（ROUGE-Longest 公共子序列）计算系统生成的文本与参考文本之间的最长公共子序列。除了内容重叠之外，此变体还考虑单词顺序。  
**`ROUGE-L-Sum`**  
ROUGE-L-SUM（用于摘要的最长共同后缀）是为评估文本摘要系统而设计的。它侧重于测量机器生成的摘要与参考摘要之间的最长公共子序列。ROUGE-L-SUM 考虑了文本中的词序，这在文本摘要任务中非常重要。

# Autopilot 模型部署和预测
<a name="autopilot-llms-finetuning-deploy-models"></a>

微调大型语言模型（LLM）后，您可以通过设置端点来获取交互式预测，从而部署该模型用于实时文本生成。

**注意**  
为了获得更好的性能，我们建议在 `ml.g5.12xlarge` 上运行实时推理作业。或者，`ml.g5.8xlarge` 实例适用于 Falcon-7B-Instruct 和 MPT-7B-Instruct 文本生成任务。  
在 Amazon EC2 提供的实例类型选择中，您可以在[加速计算](https://aws.amazon.com/ec2/instance-types/)类别中找到这些实例的具体信息。

## 实时文本生成
<a name="autopilot-llms-finetuning-realtime"></a>

您可以使用手动 SageMaker APIs 将经过微调的模型部署到 SageMaker AI Host [ing 实时推理端点](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints.html)，然后通过调用终端节点开始进行预测，如下所示。

**注意**  
或者，当您在 Autopilot 中创建微调实验时，也可选择自动部署选项。有关设置模型自动部署的信息，请参阅[如何启用自动部署](autopilot-create-experiment-finetune-llms.md#autopilot-llms-finetuning-auto-model-deployment)。  
您还可以使用 SageMaker Python SDK 和`JumpStartModel`类对由自动驾驶仪微调的模型进行推断。为此，您可以在 Amazon S3 中为模型的构件指定自定义位置。有关将模型定义为模型并部署 JumpStart 模型进行推理的信息，请参阅[使用类进行低代码部署](https://sagemaker.readthedocs.io/en/stable/overview.html#deploy-a-pre-trained-model-directly-to-a-sagemaker-endpoint)。 JumpStartModel 

1. **获取候选推理容器定义**

   你可以在从 [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html#API_DescribeAutoMLJobV2_ResponseSyntax) API 调用的响应中检索到的`BestCandidate`对象中找到的。`InferenceContainerDefinitions`用于推理的容器定义是指设计用于部署和运行经训练模型以进行预测的容器化环境。

   以下 AWS CLI 命令示例使用 [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) API 获取作业名称的推荐容器定义。

   ```
   aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name job-name --region region
   ```

1. **创建 A SageMaker I 模型**

   使用上一步中的容器定义通过 [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)AP SageMaker I 创建 AI 模型。以以下 AWS CLI 命令为例。使用 `CandidateName` 作为您的模型名称。

   ```
   aws sagemaker create-model --model-name '<your-candidate-name>' \
                       --primary-container '<container-definition' \
                       --execution-role-arn '<execution-role-arn>' --region '<region>
   ```

1. **创建端点配置**

   以下 AWS CLI 命令示例使用 [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html)API 创建终端节点配置。
**注意**  
为防止由于模型下载时间过长而导致端点创建超时，建议设置 `ModelDataDownloadTimeoutInSeconds = 3600` 和 `ContainerStartupHealthCheckTimeoutInSeconds = 3600`。

   ```
   aws sagemaker create-endpoint-config --endpoint-config-name '<your-endpoint-config-name>' \
                       --production-variants '<list-of-production-variants>' ModelDataDownloadTimeoutInSeconds=3600 ContainerStartupHealthCheckTimeoutInSeconds=3600 \
                       --region '<region>'
   ```

1. **创建端点** 

   以下 AWS CLI 示例使用 [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html)API 创建终端节点。

   ```
   aws sagemaker create-endpoint --endpoint-name '<your-endpoint-name>' \
                       --endpoint-config-name '<endpoint-config-name-you-just-created>' \
                       --region '<region>'
   ```

   使用 [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html)API 检查您的终端节点部署进度。以以下 AWS CLI 命令为例。

   ```
   aws sagemaker describe-endpoint —endpoint-name '<endpoint-name>' —region <region>
   ```

   将 `EndpointStatus` 更改为 `InService` 后，端点即可用于实时推理。

1. **调用端点** 

   以下命令调用端点以进行实时推理。您的提示需要编码为字节。
**注意**  
输入提示的格式取决于语言模型。有关文本生成提示格式的更多信息，请参阅[文本生成模型实时推理的请求格式](#autopilot-llms-finetuning-realtime-prompt-examples)。

   ```
   aws sagemaker invoke-endpoint --endpoint-name '<endpoint-name>' \ 
                     --region '<region>' --body '<your-promt-in-bytes>' [--content-type] 'application/json' <outfile>
   ```

## 文本生成模型实时推理的请求格式
<a name="autopilot-llms-finetuning-realtime-prompt-examples"></a>

不同的大型语言模型 (LLMs) 可能有特定的软件依赖关系、运行时环境和硬件要求，这会影响 Autopilot 推荐的容器来托管模型以进行推理。此外，每个模型都规定了所需的输入数据格式以及预测和输出的预期格式。

以下是一些模型的示例输入和推荐的容器。
+ 对于推荐了容器 `huggingface-pytorch-tgi-inference:2.0.1-tgi1.0.3-gpu-py39-cu118-ubuntu20.04` 的 Falcon 模型：

  ```
  payload = {
      "inputs": "Large language model fine-tuning is defined as",
      "parameters": {
          "do_sample": false,
          "top_p": 0.9,
          "temperature": 0.1,
          "max_new_tokens": 128,
          "stop": ["<|endoftext|>", "</s>"]
      }
  }
  ```
+ 对于所有其他模型，建议使用容器 `djl-inference:0.22.1-fastertransformer5.3.0-cu118`：

  ```
  payload= {
      "text_inputs": "Large language model fine-tuning is defined as"
  }
  ```

# 使用 Studio Classic 用户界面为表格数据创建回归或分类 Autopilot 实验
<a name="autopilot-automate-model-development-create-experiment-ui"></a>

**重要**  
自 2023 年 11 月 30 日起，作为更新后的亚马逊 [ SageMaker Studio 体验的一部分，Autopilot 的用户界面将迁移到亚马逊 SageMaker ](studio-updated.md) [Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas.html)。 SageMaker Canvas 为分析师和公民数据科学家提供了无需代码的功能，可以完成数据准备、特征工程、算法选择、训练和调整、推理等任务。用户可以利用内置的可视化和假设分析功能来探索数据和不同场景，并通过自动预测功能轻松生成模型。Canvas 支持各种使用场景，包括计算机视觉、需求预测、智能搜索和生成式人工智能。  
 [Amazon SageMaker Studio Classic](studio.md)（之前的 [Studio](studio-updated.md) 使用体验）的用户可以继续使用 Studio Classic 中的自动驾驶用户界面。有编码经验的用户可以继续使用任何支持的 SDK 中的所有 [API 参考](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html)进行技术实施。  
如果您之前一直在 Studio Classic 中使用 Autopilot 并想迁移到 SageMaker Canvas，则可能需要向您的用户个人资料或 IAM 角色授予其他权限，这样您才能创建和使用 SageMaker Canvas 应用程序。有关更多信息，请参阅 [（可选）从 Studio 经典版中的自动驾驶仪迁移到 SageMaker Canvas](studio-updated-migrate-ui.md#studio-updated-migrate-autopilot)。  
[在迁移到 Amazon Canvas 之前，本指南中所有与 UI 相关的说明都与 Autopilot 的独立功能有关。 SageMaker ](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas.html)按照这些说明操作的用户应使用 [Studio Classic](studio.md)。

您可以使用 Amazon SageMaker Studio Classic 用户界面针对表格数据的分类或回归问题创建自动驾驶实验。用户界面可帮助您指定实验名称，提供输入和输出数据的位置，并指定要预测的目标数据。您还可以选择指定要解决的问题类型（回归、分类、多分类器）、选择建模策略（*堆叠集合*或*超参数优化*）、选择 Autopilot 任务用于训练数据的算法列表等。

UI 包含描述、切换开关、下拉菜单、单选按钮等，可引导您浏览如何创建候选模型。实验运行后，您可以比较试验，并深入研究每个模型的预处理步骤、算法和超参数范围的详细信息。您还可以选择下载它们的[解释功能](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-explainability.html)和[性能](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-insights.html)报告。使用提供的[笔记本](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-notebook-output.html )查看自动数据探索的结果或候选模型定义。

 或者，您也可以使用 [使用 AutoML API 为表格数据创建回归或分类作业](autopilot-automate-model-development-create-experiment.md) 中的 Autopilot AutoML API。

# 配置 Autopilot 实验的默认参数（面向管理员）
<a name="autopilot-set-default-parameters-create-experiment"></a>

当您使用 Studio Classic 用户界面创建 SageMaker 自动驾驶实验时，Autopilot 支持设置默认值以简化 Amazon Autopilot 的配置。管理员可以使用 Studio Classic [生命周期配置](studio-lcc.md) (LCC)，在配置文件中设置基础设施、联网和安全设置的值，并预先填充 `AutoML` 作业的[高级设置](autopilot-automate-model-development-create-experiment-ui.md#advanced-settings)。

这样，他们就可以完全控制网络连接以及与 Amazon SageMaker Studio Classic 关联的资源的访问权限，包括 SageMaker AI 实例、数据源、输出数据和其他相关服务。具体而言，管理员可以针对 Studio Classic 域或个人用户配置文件，配置 Amazon VPC、子网和安全组等所需的网络架构。在使用 Studio Classic 用户界面创建 Autopilot 实验时，数据科学家就可以专注于数据科学的特定参数。此外，管理员可以通过设置默认加密密钥，来管理运行 Autopilot 实验的实例上的数据加密。

**注意**  
此功能目前在选择亚太地区（香港）和中东（巴林）区域时不可用。

在以下各部分中，您可以找到在使用 Studio Classic 用户界面创建 Autopilot 实验时，支持设置默认值的完整参数列表，并学习如何设置这些默认值。

**Topics**
+ [支持的默认参数列表](#autopilot-list-default-parameters-create-experiment)
+ [设置默认 Autopilot 实验参数](#autopilot-set-default-parameters-create-experiment-howto)

## 支持的默认参数列表
<a name="autopilot-list-default-parameters-create-experiment"></a>

以下参数支持通过配置文件设置默认值，以便使用 Studio Classic 用户界面创建 Autopilot 实验。设置完成后，在 Studio Classic 用户界面中，这些值会自动填充 Autopilot 的**创建实验**选项卡中的相应字段。有关每个字段的完整描述，请参阅[高级设置（可选）](autopilot-automate-model-development-create-experiment-ui.md#advanced-settings)。
+ **安全：**Amazon VPC、子网和安全组。
+ **访问权限：** AWS IAM 角色 ARNs。
+ **加密：** AWS KMS 密钥 IDs。
+ **标签：**用于标记和组织 SageMaker AI 资源的键值对。

## 设置默认 Autopilot 实验参数
<a name="autopilot-set-default-parameters-create-experiment-howto"></a>

管理员可以在配置文件中设置默认值，然后手动将该文件放在特定用户的 Studio Classic 环境中的建议位置，也可以将文件传递给生命周期配置 (LCC) 脚本，以自动针对给定域或用户配置文件自定义 Studio Classic 环境。
+ 要设置配置文件，请先填写其默认参数。

  要配置 [支持的默认参数列表](#autopilot-list-default-parameters-create-experiment) 中列出的任意或所有默认值，管理员可以创建名为 `config.yaml` 的配置文件，其结构应与此[示例配置文件](https://sagemaker.readthedocs.io/en/stable/overview.html#configuration-file-structure)相符。以下代码片段显示了一个包含所有支持的 `AutoML` 参数的示例配置文件。有关此文件格式的更多信息，请参阅[完整架构](https://github.com/aws/sagemaker-python-sdk/blob/master/src/sagemaker/config/config_schema.py)。

  ```
  SchemaVersion: '1.0'
  SageMaker:
    AutoMLJob:
      # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html
      AutoMLJobConfig:
        SecurityConfig:
          EnableInterContainerTrafficEncryption: true
          VolumeKmsKeyId: 'kms-key-id'
          VpcConfig:
            SecurityGroupIds:
              - 'security-group-id-1'
              - 'security-group-id-2'
            Subnets:
              - 'subnet-1'
              - 'subnet-2'
      OutputDataConfig:
        KmsKeyId: 'kms-key-id'
      RoleArn: 'arn:aws:iam::111222333444:role/Admin'
      Tags:
      - Key: 'tag_key'
        Value: 'tag_value'
  ```
+ 然后，通过[手动将文件复制到](#autopilot-intelligent-defaults-manual-setup)其推荐路径或使用[生命周期配置](#autopilot-intelligent-defaults-lcc-setup) (LCC)，将该文件放在建议的位置。

  在用户的 Studio Classic 环境中，至少以下位置之一中必须有配置文件。默认情况下， SageMaker AI 在两个位置搜索配置文件：
  + 首先在 `/etc/xdg/sagemaker/config.yaml` 中。我们将此文件称为*管理员配置文件*。
  + 然后在 `/root/.config/sagemaker/config.yaml` 中。我们将此文件称为*用户配置文件*。

  使用*管理员*配置文件，管理员可以定义一组默认值。或者，他们可以使用*用户*配置文件来覆盖在*管理员*配置文件中设置的值，或者用于设置其他默认参数值。

   以下代码片段显示了一个脚本示例，该脚本将默认参数配置文件写入用户 Studio Classic 环境中的*管理员*位置。您可以将 `/etc/xdg/sagemaker` 替换为 `/root/.config/sagemaker`，从而将文件写入*用户*位置。

  ```
  ## Sample script with AutoML intelligent defaults
  #!/bin/bash
  
  sudo mkdir -p /etc/xdg/sagemaker
  
  echo "SchemaVersion: '1.0'
  CustomParameters:
    AnyStringKey: 'AnyStringValue'
  SageMaker:
    AutoMLJob:
      # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html
      AutoMLJobConfig:
        SecurityConfig:
          EnableInterContainerTrafficEncryption: true
          VolumeKmsKeyId: 'kms-key-id'
          VpcConfig:
            SecurityGroupIds:
              - 'security-group-id-1'
              - 'security-group-id-2'
            Subnets:
              - 'subnet-1'
              - 'subnet-2'
      OutputDataConfig:
        KmsKeyId: 'kms-key-id'
      RoleArn: 'arn:aws:iam::111222333444:role/Admin'
      Tags:
      - Key: 'tag_key'
        Value: 'tag_value'
  " | sudo tee /etc/xdg/sagemaker/config.yaml
  ```
  + **手动复制文件**：要手动复制配置文件，请从 Studio Classic 终端运行上一步中创建的[脚本](#autopilot-intelligent-defaults-manual-setup)。在本例中，执行脚本的用户配置文件可以使用仅适用于自身的默认值，创建 Autopilot 实验。
  + **创建 A SageMaker I 生命周期配置** — 或者，您可以使用[生命周期配置](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc.html) (LCC) 自动自定义 Studio Classic 环境。LCC 是由 Amazon SageMaker Studio Classic 生命周期事件（例如启动 Studio Classic 应用程序）触发的 s 此自定义包括安装自定义软件包、配置笔记本扩展、预先加载数据集、设置源代码存储库或者（在本例中）预先填充默认参数。管理员可以将 LCC 附加到 Studio Classic 域，以自动配置该域中每个用户配置文件的默认值。

    以下各部分详细介绍了如何创建生命周期配置，以便用户在启动 Studio Classic 时可以自动加载 Autopilot 默认参数。您可以选择使用 SageMaker AI 控制台或创建 LCC。 AWS CLI

------
#### [ Create a LCC from the SageMaker AI Console ]

    使用以下步骤创建包含默认参数的 LCC，将 LCC 附加到域或用户配置文件，然后使用 AI 控制台启动预填充了 LCC 设置的默认参数的 Studio Classic 应用程序。 SageMaker 
    + **使用 A SageMaker I 控制台创建运行包含默认值的[脚本](#autopilot-intelligent-defaults-script)的生命周期配置**
      + 打开 SageMaker AI 控制台，网址为[https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)。
      + 在左侧导航至**管理员配置**，然后导航至**生命周期配置**。
      + 在**生命周期配置**页面，导航至 Studio Classic 选项卡，然后选择**创建配置**。
      + 对于**名称**，请键入使用字母数字字符和 -（但不能含空格）的名称。名称最多可包含 63 个字符。
      + 将您的[脚本](#autopilot-intelligent-defaults-script)粘贴到**脚本**部分。
      + 选择**创建配置**，创建生命周期配置。这样就创建了一个 `Kernel gateway app` 类型的 LCC。
    +  **要将生命周期配置附加到 Studio Classic 域、空间或用户配置文件**

      按照[将生命周期配置附加到 Studio Classic 域或用户配置文件](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc-create-console.html#studio-lcc-create-console-step2)中的步骤，将 LCC 附加到 Studio Classic 域或特定用户配置文件。
    +  **要使用生命周期配置启动 Studio Classic 应用程序**

      将 LCC 附加到域或用户配置文件后，受影响的用户就可以从 Studio 中的 Studio Classic 登录页面启动 Studio Classic 应用程序，自动获取 LCC 设置的默认值。这会在创建 Autopilot 实验时自动填充 Studio Classic 用户界面。

------
#### [ Create a LCC from the AWS CLI ]

    使用 AWS CLI，通过以下代码片段启动运行您[脚本](#autopilot-intelligent-defaults-manual-setup)的 Studio Classic 应用程序。请注意，`lifecycle_config.sh` 是本示例中向脚本提供的名称。

    开始使用之前：
    +  AWS CLI 通过完成[从中创建生命周期配置中所述的先决条件，确保您已进行更新和配置 AWS CLI](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc-create-cli.html)。
    + 安装 [OpenSSL](https://www.openssl.org/source/) 文档。该 AWS CLI 命令使用开源库 *OpenSSL* 将您的脚本编码为 Base64 格式。此要求可防止因空格和换行编码而出现错误。

    现在，您可以按照以下三个步骤操作：
    +  **创建新生命周期配置，引用配置脚本 `lifecycle_config.sh`**

      ```
      LCC_CONTENT=`openssl base64 -A -in lifecycle_config.sh`
      
      ## Create a new lifecycle config 
      aws sagemaker create-studio-lifecycle-config --region region \
      --studio-lifecycle-config-name lcc-name \
      --studio-lifecycle-config-content $LCC_CONTENT \
      --studio-lifecycle-config-app-type default
      ```

      请记录为新创建的生命周期配置返回的 ARN。将生命周期配置附加到应用程序时需要此 ARN。
    +  **将生命周期配置附加到您的 `JupyterServerApp`**

      下面的示例说明如何创建一个附加了生命周期配置的新用户配置文件。要更新现有用户配置文件，请使用 AWS CLI [update-user-profile](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-user-profile.html)命令。要创建或更新域，请参阅 [create-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-domain.html) 和 [update-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-domain.html)。将上一步中的生命周期配置 ARN 添加到 `JupyterServerAppSettings` 应用程序类型的设置中。您可以使用生命周期配置列表，一次添加多个生命周期配置。

      ```
      # Create a new UserProfile
      aws sagemaker create-user-profile --domain-id domain-id \
      --user-profile-name user-profile-name \
      --region region \
      --user-settings '{
      "JupyterServerAppSettings": {
        "LifecycleConfigArns":
          ["lifecycle-configuration-arn"]
        }
      }'
      ```

      将 LCC 附加到域或用户个人资料后，受影响的用户可以按照关闭并更新 [Amazon Studio Classic 中的步骤关闭并更新其现有的 Studio Class SageMaker i](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-tasks-update-studio.html) c 应用程序，或者从 AWS 控制台启动新的 Studio Classic 应用程序以自动获取 LCC 设置的默认设置。这会在创建 Autopilot 实验时自动填充 Studio Classic 用户界面。或者，他们也可以使用以下方式启动新的 Studio Classic 应用程序。 AWS CLI 
    +  **使用生命周期配置启动您的 Studio Classic 应用程序 AWS CLI**

      ```
      # Create a Jupyter Server application
      aws sagemaker create-app --domain-id domain-id \
      --user-profile-name user-profile-name \
      --region region \
      --app-type JupyterServer \
      --resource-spec LifecycleConfigArn=lifecycle-configuration-arn \
      --app-name default
      ```

      有关使用 AWS CLI创建生命周期配置的更多信息，请参阅[从 AWS CLI创建生命周期配置](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc-create-cli.html)。

------

**要使用 Studio Classic 用户界面创建 Autopilot 实验**

1. 登录 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)，从左侧导航窗格中选择 **Studio**，选择您的域和用户个人资料，然后选择 Ope **n Studio**。

1. 在 Studio 中，选择左上角导航窗格中的 Studio Classic 图标。这将打开 Studio Classic 应用程序。

1. 从您选择的空间运行或打开 Studio Classic 应用程序，或**创建 Studio Classic 空间**。在**主页**选项卡上，选择 **AutoML** 卡片。这将打开新的 **AutoML** 选项卡。

1. 选择**创建 AutoML 实验**。这将打开新的**创建实验**选项卡。

1. 在**实验和数据详细信息**部分中，输入以下信息：

   1. **实验名称**-当前账户必须是唯一的， AWS 区域 并且最多包含 63 个字母数字字符。可以包括连字符 (-)，但不能包括空格。

   1. **输入数据** – 提供存储输入数据的 Amazon Simple Storage Service (Amazon S3) 存储桶的位置。此 S3 存储桶必须位于您当前的 AWS 区域中。网址必须采用 Amazon A SageMaker I 具有写入权限的`s3://`格式。文件必须采用 CSV 或 Parquet 格式，并且至少包含 500 行。选择**浏览**可滚动浏览可用路径，选择**预览**可查看输入数据的样本。

   1. **您的 S3 输入是清单文件吗？** – 清单文件包括输入数据的元数据。元数据可指定数据在 Amazon S3 中的位置。它还指定了如何格式化数据以及训练模型时要使用数据集中的哪些属性。在 `Pipe` 模式下流式传输已标注数据时，您可以使用清单文件作为预处理的替代方法。

   1. **自动拆分数据？** – Autopilot 可以将您的数据按照 80%-20% 的比例拆分，用于训练数据和验证数据。如果您偏好自定义拆分，则可以选择**指定拆分比例**。要为验证使用自定义数据集，请选择**提供验证集**。

   1. **输出数据位置（S3 存储桶）**– 存储输出数据的 S3 存储桶位置的名称。此存储桶的 URL 必须采用 Amazon A SageMaker I 具有写入权限的 Amazon S3 格式。S3 存储桶必须在当前 AWS 区域中。Autopilot 还可以在与输入数据相同的位置为您创建此内容。

1. 选择**下一步：目标和特征**。**目标和特征**选项卡打开。

1. 在**目标和特征**部分中：
   + 选择要设置为模型预测目标的列。
   + 或者，您可以在**样本权重**部分中传递样本权重列的名称，以请求在训练和评估期间对数据集行进行加权。有关可用目标指标的更多信息，请参阅 [Autopilot 加权指标](autopilot-metrics-validation.md#autopilot-weighted-metrics)。
**注意**  
只有[组合模式](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html#autopilot-training-mode)支持样本加权。
   + 您还可以选择要训练的特征并更改其数据类型。以下数据类型可用：`Text`、`Numerical`、`Categorical`、`Datetime`、`Sequence` 和 `Auto`。所有特征均默认选定。

1. 选择**下一步：训练方法**。**训练方法**选项卡打开。

1. 在**训练方法**部分中，选择您的训练选项：**组合**、**超参数优化 (HPO)**，也可以选择**自动**以便让 Autopilot 根据数据集大小自动选择训练方法。每种训练模式都会在数据集中运行一组预定义的算法来训练候选模型。默认情况下，Autopilot 会预先选择给定训练模式的所有可用算法。您可以使用所有算法进行 Autopilot 训练实验，也可以自行选择算法子集。

   有关训练模式和可用算法的更多信息，请参阅[训练模式和算法](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html)页面中的 **Autopilot 训练模式**部分。

1. 选择**下一步：部署和高级设置**，打开**部署和高级设置**选项卡。设置中包括自动显示端点名称、机器学习问题类型以及用于运行实验的其他选项。

   1. **部署设置** – Autopilot 可以为您自动创建端点并部署模型。

      要自动部署到自动生成的端点，或者要提供端点名称以进行自定义部署，请将**自动部署？**下的切换开关设置为**是**。如果您要从 Amazon Data Wrangler 导入 SageMaker 数据，则无论是否使用 Data Wrangler 的转换，您都有其他选项可以自动部署最佳模型。
**注意**  
如果您的 Data Wrangler 流程包含多行操作（例如 `groupby`、`join` 或 `concatenate`），则无法在使用这些转换时进行自动部署。有关更多信息，请参阅[根据您的数据流自动训练模型](https://docs.aws.amazon.com/sagemaker/latest/dg/data-wrangler-autopilot.html)。

   1. **高级设置（可选）** – Autopilot 提供了额外的控件来手动设置实验参数，例如定义问题类型、Autopilot 作业和试验时间限制、安全以及加密设置。
**注意**  
 Autopilot 支持设置默认值，以简化使用 Studio Classic 用户界面进行 Autopilot 实验的配置。管理员可以使用 Studio Classic [生命周期配置](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc.html) (LCC)，在配置文件中设置基础设施、联网和安全设置的值，并预先填充 `AutoML` 作业的*高级设置*。  
要了解管理员如何自动对 Autopilot 实验进行自定义，请参阅[配置 Autopilot 实验的默认参数（面向管理员）](autopilot-set-default-parameters-create-experiment.md)。

      1. **机器学习问题类型** – Autopilot 可以从您的数据集中自动推断有监督学习问题的类型。如果您偏好手动选择，则可以使用**选择机器学习问题类型**下拉菜单。请注意，该项默认为**自动**。在某些情况下， SageMaker AI 无法准确推断。出现这种情况时，您必须为作业提供值以使其成功。具体而言，您可以从以下类型中选择：
         + **二元分类** – 二元分类根据输入数据的属性，将输入数据分配到两个预定义的互斥类别之一，例如基于诊断测试结果的医学诊断，确定某人是否患有疾病。
         + **回归** – 回归在输入变量（也称为自变量或特征）与目标变量（也称为因变量）之间建立关系。这种关系是通过将输入变量映射到连续输出的数学函数或模型来捕获的。它通常适用的任务类型包括根据房间面积和浴室数量等特征预测房价，预测股票市场趋势或估算销售数字等。
         + **多元分类** – 多元分类根据输入数据的属性，将输入数据分配到几个类别之一，例如按照政治、金融或哲学等类别，预测与文本文档最相关的话题。

      1. **运行时间** – 您可以定义最大时间限制。达到时间限制后，超过时间限制的试验和作业将自动停止。

      1. **访问权限** — 您可以选择由 Amazon SageMaker Studio Classic 担任的角色来代表您获得临时访问权限 AWS 服务 （特别是 A SageMaker I 和 Amazon S3）。如果没有明确定义角色，Studio Classic 会自动使用附加到您的用户配置文件的默认 SageMaker AI 执行角色。

      1. **加密**：为了增强静态数据的安全性并保护其免受未经授权的访问，您可以指定加密密钥，对您的 Amazon S3 存储桶和连接到 Studio Classic 域的 Amazon Elastic Block Store (Amazon EBS) 卷中的数据进行加密。

      1. **安全** — 您可以选择运行 SageMaker 人工智能任务的虚拟私有云 (Amazon VPC)。确保 Amazon VPC 可以访问您的输入和输出 Amazon S3 存储桶。

      1. **项目** — 指定要与此自动驾驶实验和模型输出关联的 A SageMaker I 项目的名称。当您指定项目时，Autopilot 会将该项目标记为实验。这可以让您知道哪些模型输出与此项目相关联。

      1. **标签** – 标签是键/值对数组。使用标签对您的资源进行分类 AWS 服务，例如其用途、所有者或环境。

   1. 选择**下一步：查看并创建**，以便在创建 Autopilot 实验之前查看其摘要。

1. 选择**创建实验**。创建实验会启动 A SageMaker I 中的自动驾驶作业。Autopilot 提供实验状态、笔记本中数据探索过程和候选模型的相关信息、生成的模型及其报告的列表以及用于创建这些模型的作业配置文件。

   有关 Autopilot 作业生成的笔记本的信息，请参阅[为管理 AutoML 任务生成的 Autopilot 笔记本](autopilot-automate-model-development-notebook-output.md)。有关每个候选模型及其报告的详细信息，请参阅 [查看模型详细信息](autopilot-models-details.md)和 [查看 Autopilot 模型性能报告](autopilot-model-insights.md)。

**注意**  
为避免产生不必要的费用：如果您部署的模型不再需要，请删除该部署期间创建的端点和资源。有关按地区划分的实例定价信息，请访问 [Amazon Pric SageMaker ing](https://aws.amazon.com/sagemaker/pricing/)。

# Amazon SageMaker Autopilot 示例笔记本
<a name="autopilot-example-notebooks"></a>

以下笔记本可作为实用动手操作示例，用于处理 Autopilot 的各种使用场景。

在 SageMaker AI GitHub 示例存储库的 [https://github.com/aws/amazon-sagemaker-examples/tree/main/autopilot](https://github.com/aws/amazon-sagemaker-examples/tree/main/autopilot) 目录中，您可以找到 Autopilot 的所有笔记本。

我们建议在 Studio Classic 中克隆完整的 Git 仓库，以便直接访问和运行笔记本。有关如何在 Studio Classic 中克隆 Git 仓库的信息，请参见 [在 Amazon SageMaker Studio 经典版中克隆 Git 存储库](studio-tasks-git.md)。


| **使用案例** | **描述** | 
| --- | --- | 
| [无服务器推理](https://github.com/aws/amazon-sagemaker-examples/tree/main/autopilot/autopilot-serverless-inference) |  默认情况下，Autopilot 允许将生成的模型部署到实时推理端点。在此存储库中，笔记本说明了如何将在 `ENSEMBLING` 和 `HYPERPARAMETER OPTIMIZATION (HPO)` 模式下训练的 Autopilot 模型部署到无服务器端点。无服务器端点会自动启动计算资源，并根据流量横向扩展和缩减，而无需选择实例类型或管理扩展策略。  | 
|  [自定义特征选择](https://github.com/aws/amazon-sagemaker-examples/tree/main/autopilot/custom-feature-selection)  |  Autopilot 会检查您的数据集，并运行多个候选模型，以找出数据预处理步骤、机器学习算法和超参数的最佳组合。您可以轻松地将其部署在实时端点，也可用于批量处理。 在某些情况下，您可能希望能够灵活地将自定义数据处理代码引入 Autopilot。例如，您的数据集可能包含大量自变量，您可能希望加入一个自定义特征选择步骤，以便首先移除不相关的变量。这样得到的较小的数据集可用于启动 Autopilot 作业。最终，您可能还希望包括自定义处理代码和来自 Autopilot 的模型，以进行实时或批量处理。  | 
|  [管道示例](https://github.com/aws/amazon-sagemaker-examples/tree/main/autopilot/sagemaker-autopilot-pipelines)  |  虽然 Autopilot 简化了构建 ML 模型的过程，但 MLOps 工程师仍负责在生产环境中创建、自动化和管理端到端 ML 工作流。SageMaker Pipelines 可以协助自动执行 ML 生命周期的各种步骤，例如数据预处理、模型训练、超参数调整、模型评估和部署。本笔记本演示了如何将 Autopilot 整合到 SageMaker Pipelines 的端到端 AutoML 训练工作流中。要在 Pipelines 中启动 Autopilot 实验，您必须使用 Pipelines [Lambda](https://docs.aws.amazon.com/sagemaker/latest/dg/build-and-manage-steps.html#step-type-lambda) 或[处理](https://docs.aws.amazon.com/sagemaker/latest/dg/build-and-manage-steps.html#step-type-processing)步骤编写自定义集成代码，从而创建模型构建工作流。有关更多信息，请参阅[使用 Amazon SageMaker Pipelines 将 Amazon SageMaker Autopilot ML 模型从实验转移到生产](https://aws.amazon.com/blogs/machine-learning/move-amazon-sagemaker-autopilot-ml-models-from-experimentation-to-production-using-amazon-sagemaker-pipelines/)。 或者，在[组合模式下](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html)使用 Autopilot 时，您可以参考笔记本示例，该示例演示了如何使用 [SageMaker 管道的原生 AutoML 步骤](https://github.com/aws/amazon-sagemaker-examples/blob/main/autopilot/sagemaker-autopilot-pipelines/autopilot_pipelines_demo_notebook.ipynb)中的原生 AutoML 步骤。由于 Pipelines 支持将 Autopilot 作为原生步骤，您现在可以在 Pipelines 中添加自动训练步骤 ([AutoMLStep](https://docs.aws.amazon.com/sagemaker/latest/dg/build-and-manage-steps.html#step-type-automl))，然后在组合模式下调用 Autopilot 实验。  | 
| [使用 Amazon SageMaker Autopilot 进行直销](https://sagemaker-examples.readthedocs.io/en/latest/autopilot/sagemaker_autopilot_direct_marketing.html)。 |  本笔记本介绍了如何使用[银行营销数据集](https://archive.ics.uci.edu/ml/datasets/bank+marketing)来预测客户是否会在银行注册定期存款。您可以对此数据集使用 Autopilot，通过探索各种候选管道中包含的选项来获得最精确的 ML 管道。Autopilot 在一个两步过程中生成每个候选模型。第一步对数据集执行自动实施的特征工程。第二步训练和优化算法以生成模型。此笔记本包含了说明，介绍如何训练模型以及如何部署模型以使用最佳候选模型执行批量推理。  | 
| [利用 Amazon SageMaker Autopilot 预测客户流失率](https://sagemaker-examples.readthedocs.io/en/latest/autopilot/autopilot_customer_churn.html) |  本笔记本介绍了使用机器学习自动识别不满意客户的方法，也称为客户流失预测。此示例说明如何分析公开提供的数据集并对其执行特征工程。接下来，它展示如何通过选择性能最佳的管道以及用于训练算法的最佳超参数来优化模型。最后，它演示如何将模型部署到托管端点，以及如何根据基本事实评估其预测结果。但是，ML 模型很少能给出完美的预测。因此，此笔记本还演示了在确定使用 ML 的财务结果时，如何考虑预测错误的相对成本。  | 
| [利用 Amazon SageMaker Autopilot 和批量转换（Python SDK）预测最佳候选客户流失率](https://sagemaker-examples.readthedocs.io/en/latest/autopilot/autopilot_customer_churn_high_level_with_evaluation.html) |  本笔记本还介绍了利用机器学习自动识别不满意客户的方法，也称为客户流失预测。此笔记本演示了如何配置模型以获取推理概率、选择前 N 个模型以及在留存测试集上进行批量转换以进行评估。  此笔记本适用于 2020 年 6 月 19 日发布的 SageMaker Python SDK 版本 1.65.1 及更高版本。   | 
| [将您自己的数据处理代码引入 Amazon SageMaker Autopilot](https://sagemaker-examples.readthedocs.io/en/latest/autopilot/custom-feature-selection/Feature_selection_autopilot.html) |  本笔记本介绍了如何在使用 Amazon SageMaker Autopilot 时整合和部署自定义数据处理代码。它添加了自定义特征选择步骤，以删除 Autopilot 作业中不相关的变量。然后，它展示了如何在实时端点上部署自定义处理代码和 Autopilot 生成的模型，或者用于批处理。  | 
| 更多笔记本 | 在根目录中，您可以找到更多说明其他使用场景的笔记本，例如[批量转换](https://github.com/aws/amazon-sagemaker-examples/blob/main/autopilot/ap-batch-transform.ipynb)、[时间序列预测](https://github.com/aws/amazon-sagemaker-examples/blob/main/autopilot/autopilot_time_series.ipynb)等。 | 

# 视频：使用 Autopilot 自动执行和探索机器学习流程
<a name="autopilot-videos"></a>

以下是介绍使用 Studio Classic 的亚马逊 SageMaker 自动驾驶功能的视频系列。它们介绍了如何启动 AutoML 作业，分析和预处理数据，如何对候选模型进行特征工程和超参数优化，以及如何可视化和比较生成的模型指标。

**Topics**
+ [使用 Amazon Autopilot 开始自动驾驶任务 SageMaker](#autopilot-video-start-automl-job)
+ [了解 Autopilot 中自动实施的数据探究和特征工程。](#autopilot-video-generated-notebooks)
+ [调整模型以优化性能](#autopilot-video-optimizing-model-performance)
+ [选择和部署最佳模型](#autopilot-video-choose-and-deploy-the-best-model)
+ [Amazon SageMaker 自动驾驶教程](#autopilot-walkthrough)

## 使用 Amazon Autopilot 开始自动驾驶任务 SageMaker
<a name="autopilot-video-start-automl-job"></a>

该视频介绍了如何使用 Autopilot 启动 AutoML 作业。（长度：8:41）

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/qMEtqJPhqpA/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/qMEtqJPhqpA)


## 了解 Autopilot 中自动实施的数据探究和特征工程。
<a name="autopilot-video-generated-notebooks"></a>

该视频向您展示了如何查看由 Amazon A SageMaker utopilot 生成的数据探索和候选定义笔记本。（长度：10:04）

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/WsfRAeGzgm8/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/WsfRAeGzgm8)


## 调整模型以优化性能
<a name="autopilot-video-optimizing-model-performance"></a>

该视频介绍了如何在训练过程中使用超参数调整以优化模型性能。（长度：4:59）

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/KZSTsWrDGXs/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/KZSTsWrDGXs)


## 选择和部署最佳模型
<a name="autopilot-video-choose-and-deploy-the-best-model"></a>

该视频介绍了如何使用作业指标来选择最佳模型，然后介绍了如何进行部署。（长度：5:20）

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/vRHyX3kDstI/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/vRHyX3kDstI)


## Amazon SageMaker 自动驾驶教程
<a name="autopilot-walkthrough"></a>

该视频将引导您完成端到端的演示，在此演示中，我们首先使用 Amazon A SageMaker utopilot 自动构建二进制分类模型。我们将看到如何使用自动生成的笔记本构建和优化候选模型。我们还将研究亚马逊 SageMaker 实验的热门候选人。最后，我们部署最佳候选对象（基于 XGBoost），并使用 M SageMaker odel Monitor 配置数据捕获。

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/DRjOOaR2prQ/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/DRjOOaR2prQ)


# Autopilot 配额
<a name="autopilot-quotas"></a>

在使用 Amazon SageMaker Autopilot 时，有些配额限制了您可用的资源。其中一些限额可以增加，另一些则不行。

**注意**  
以下各节中记录的资源配额适用于 Amazon SageMaker Studio Classic 3.22.2 及更高版本。有关更新 SageMaker Studio Classic 版本的信息，请参阅 [关闭并更新 Amazon SageMaker Studio 经典版和应用程序](studio-tasks-update.md)。

**Topics**
+ [您可以提高的配额](#autopilot-quotas-limits-increasable)
+ [资源配额](#autopilot-quotas-resource-limits)

## 您可以提高的配额
<a name="autopilot-quotas-limits-increasable"></a>

下表包含可增加配额的资源限制：


| 资源 | 区域 | 默认限制 | 最多可增加到 | 
| --- | --- | --- | --- | 
| 输入数据集的大小 | 全部 | 100 GB | 数百 GB | 
| 单个镶木地板文件的大小 \$1 | 全部 | 2 GB | 不适用 | 
| 用于子采样的目标数据集大小 \$1\$1 | 全部 | 5 GB | 数百 GB | 
| 并发 Autopilot 作业数量 | us-east-1、us-east-2、us-west-2、ap-northeast-1、eu-west-1、eu-central-1 | 4 | 数百 | 
| 并发 Autopilot 作业数量 | ap-northeast-2、ap-southeast-2、eu-west-2、ap-southeast-1 | 2 | 数百 | 
| 并发 Autopilot 作业数量 | 所有其他区域 | 1 | 几十 | 

**注意**  
\$1 这个 2 GB 的大小限制适用于单个压缩的 Parquet 文件。您可以提供一个包含多个压缩 Parquet 文件的 Parquet 数据集，其大小不超过输入数据集的最大值。解压文件后，它们可能会扩展到更大的大小。  
\$1\$1Autopilot 会自动对大于目标数据集大小的输入数据集进行子采样，同时考虑到类别不平衡并保留稀少类标签。

**要请求提高配额，请执行以下操作：**

1. 打开 [ 服务限额控制台](https://console.aws.amazon.com/servicequotas/home/services/sagemaker/quotas)。

1. 选择要增加的配额，然后选择**请求增加账户配额**。

1. 在**增加配额值**中，输入您请求的新限额值。

1. 选择**请求**。

## 资源配额
<a name="autopilot-quotas-resource-limits"></a>

下表包含 AWS 区域中 Amazon SageMaker Autopilot 作业的运行时间资源限制。


| 资源 | 各 Autopilot 作业的限制 | 
| --- | --- | 
| Autopilot 作业的最大运行时间 | 30 天 | 

# Autopilot API 参考指南
<a name="autopilot-reference"></a>

本节提供 HTTP 服务 REST API 子集，用于以编程方式创建和管理 Amazon SageMaker Autopilot 资源（AutoML 作业）。

如果您选择的语言是 Python，则可以直接参考 Amazon SageMaker Python SDK 的 [适用于 Python (Boto3) 的 AWS SDK](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html) 或 [AutoMLV2 对象](https://sagemaker.readthedocs.io/en/stable/api/training/automlv2.html#sagemaker.automl.automlv2.AutoMLV2)。

## AutoML API 操作
<a name="autopilot-api-actions"></a>

此列表详细介绍了参考 API 中可用于以编程方式管理 AutoML 作业的操作。
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListAutoMLJobs.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListAutoMLJobs.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidatesForAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidatesForAutoMLJob.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopAutoMLJob.html)

**注意**  
[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html) 和 [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) 是 [CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html) 和 [DescribeAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html) 的新版本，提供向后兼容性。  
我们建议使用 `CreateAutoMLJobV2`。`CreateAutoMLJobV2` 可以管理与其先前版本 `CreateAutoMLJob` 相同的表格问题类型，以及非表格问题类型，例如图像或文本分类或者时间序列预测。  
在[将 CreateAutoMLJob 迁移到 CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-create-experiment.html#autopilot-create-experiment-api-migrate-v1-v2) 中可找到如何将 `CreateAutoMLJob` 迁移到 `CreateAutoMLJobV2` 的指南。

## AutoML API 数据类型
<a name="autopilot-api-data-types"></a>

此列表详细介绍了上述操作用作入站请求或出站响应的 API AutoML 对象。
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateStep.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateStep.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLContainerDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLContainerDefinition.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSource.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSource.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLInferenceContainerDefinitions.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLInferenceContainerDefinitions.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobArtifacts.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobArtifacts.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobCompletionCriteria.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobCompletionCriteria.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobInputDataConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobInputDataConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobObjective.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobObjective.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobStepMetadata.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobStepMetadata.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobSummary.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobSummary.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLProblemTypeConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLProblemTypeConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobCompletionCriteria.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobCompletionCriteria.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobSummary.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobSummary.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLPartialFailureReason.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLPartialFailureReason.html) 
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLProblemTypeConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLProblemTypeConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLProblemTypeResolvedAttributes.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLProblemTypeResolvedAttributes.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLResolvedAttributes.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLResolvedAttributes.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLSecurityConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLSecurityConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLS3DataSource.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLS3DataSource.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html) 
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateProperties.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateProperties.html) 
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_FinalAutoMLJobObjectiveMetric.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_FinalAutoMLJobObjectiveMetric.html) 
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HolidayConfigAttributes.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HolidayConfigAttributes.html) 
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ImageClassificationJobConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ImageClassificationJobConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_MetricDatum.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_MetricDatum.html) 
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html) 
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployResult.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployResult.html) 
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ResolvedAttributes.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ResolvedAttributes.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularResolvedAttributes.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularResolvedAttributes.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationResolvedAttribute.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationResolvedAttribute.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesTransformations.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesTransformations.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TuningJobCompletionCriteria.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TuningJobCompletionCriteria.html)

# SageMaker JumpStart 预训练模型
<a name="studio-jumpstart"></a>

Amazon SageMaker JumpStart 为各种问题类型提供预训练的开源模型，以帮助您开始使用机器学习。在部署之前，您可以逐步训练和调整这些模型。 JumpStart 还提供了用于为常见用例设置基础架构的解决方案模板，以及用于通过 SageMaker AI 进行机器学习的可执行示例笔记本。

在更新后的 Studio 体验中，您可以通过模型登录页面部署、微调和评估来自热门模型中心的预训练模型。

您还可以通过 Amazon SageMaker Studio Classic 中的模型登录页面访问预训练模型、解决方案模板和示例。

以下步骤展示了如何使用亚马逊 SageMaker Studio 和 Amazon Studio Class SageMaker ic 访问 JumpStart 模型。

您也可以使用 SageMaker Python 软件开发工具包访问 JumpStart 模型。有关如何以编程方式使用 JumpStart 模型的信息，请参阅在[预训练模型中使用 SageMaker JumpStart 算法](https://sagemaker.readthedocs.io/en/stable/overview.html#use-sagemaker-jumpstart-algorithms-with-pretrained-models)。

## JumpStart 在工作室中打开
<a name="jumpstart-open-studio"></a>

在 Amazon SageMaker Studio 中，通过**主页**或左侧面板中的**演员**项目打开演员登录页面。这将打开**SageMaker 模型**登录页面，您可以在其中浏览中的模型 SageMakerPublicHub、Private Hubs 或 Curated Hubs 中的模型以及自定义模型。
+ 在**主页**上，在**启动**模型自定义工作流程窗格中选择浏览**模型**。
+ 从左侧面板的菜单中导航到**模型**节点。

有关开始使用 Amazon SageMaker Studio 的更多信息，请参阅[亚马逊 SageMaker Studio](studio-updated.md)。

![\[Amazon SageMaker Studio 界面可以访问 JumpStart。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/jumpstart/jumpstart-studio-nav.png)


## JumpStart 在工作室中使用
<a name="jumpstart-use-studio"></a>

**重要**  
在下载或使用第三方内容之前：您有责任查看和遵守任何适用的许可证条款，并确保您的使用案例可以接受这些条款。  
2026 年 3 月 13 日，我们从不同地区的 JumpStart 目录中删除了几款车型，以提高可发现性，并专注于高质量、支持良好的选项。除名模型的现有端点将保持正常运行。有关已除名的开放式车型的许可信息，请参阅相应型号的 Hugging Face 清单。

在 Studio 的**SageMaker 模型**登录页面上，您可以浏览专有和公开模型提供商提供的 JumpStart 基础模型。您可以直接搜索模型，按特定模型提供商进行筛选，或者根据提供的用例和操作列表进行筛选。

![\[亚马逊 SageMaker Studio Models 登录页面。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/jumpstart/jumpstart-studio-landing.png)


选择一个模型，查看其模型详情卡。在模型详细信息卡的右上角，选择**微调**、**自定义**、**部署**或**评估**，分别开始微调、部署或评估工作流程。请注意，并非所有型号都可用于定制、微调或评估。有关这些选项的更多信息，请参阅 [在 Studio 中使用基础模型](jumpstart-foundation-models-use-studio-updated.md)。

您还可以通过**专用选项卡访问 “专用” 或 “策划中心**” 模型。它们的工作原理与 JumpStart 基础模型完全一样，单击模型卡片将带您进入详细信息页面，那里有可用的操作。

此外，选择 “**我的模型**” 以访问经过微调和注册的模型。自定义作业的输出可以在此处的 “**已记录**的模型” 选项卡下找到。也可以在这里找到@@ **可部署**的模型。

## JumpStart 在 Studio 经典版中打开并使用
<a name="jumpstart-open-use"></a>

以下各节提供了有关如何通过 Amazon SageMaker Studio Classic 用户界面打开、使用和管理 JumpStart 的信息。

**重要**  
截至 2023 年 11 月 30 日，之前的亚马逊 SageMaker Studio 体验现在被命名为 Amazon St SageMaker udio Classic。以下部分专门介绍如何使用 Studio Classic 应用程序。有关使用更新的 Studio 体验的信息，请参阅 [亚马逊 SageMaker Studio](studio-updated.md)。  
Studio Classic 仍针对现有工作负载进行维护，但不再可供入门使用。您只能停止或删除现有的 Studio Classic 应用程序，不能创建新的应用程序。我们建议您将[工作负载迁移到全新 Studio 体验](studio-updated-migrate.md)。

### JumpStart 在经典工作室中打开
<a name="jumpstart-open"></a>

**在 Amazon SageMaker Studio Classic 中，通过左侧面板上的**主页或主页**菜单打开 JumpStart 登录页面。**
+ 在**主页**上，您可以：
  + **JumpStart**在 “**预构建和自动解决方案**” 窗格中进行选择。这将打开**SageMaker JumpStart**登录页面。
  + 直接在**SageMaker JumpStart**登录页面中选择一个模型，或者选择 “**全部浏览**” 选项以查看可用的解决方案或特定类型的模型。
+ 在左侧面板的**主页**菜单中，您可以：
  + 导航到**SageMaker JumpStart**节点，然后选择 “**模型”、“笔记本”、“解决方案**”。这将打开**SageMaker JumpStart**登录页面。
  + 导航到该**JumpStart**节点，然后选择**已启动的 JumpStart 资源**。

    **已启动的 JumpStart 资产**页面列出了您当前启动的解决方案、已部署的模型端点以及使用创建的训练作业 JumpStart。您可以通过单击该选项卡右上角的 “**浏览 JumpStart**” 按钮从该选项卡访问 JumpStart 登录页面。

 JumpStart 登录页面列出了可用的 end-to-end机器学习解决方案、预训练模型和示例笔记本。在任何单独的解决方案或模型页面中，您可以选择选项卡右上角的 “**浏览**” JumpStart 按钮 (![\[Button labeled "Browse JumpStart" with an icon indicating a browsing action.\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/jumpstart/jumpstart-browse-button.png)) 返回该**SageMaker JumpStart**页面。

![\[SageMaker Studio Classic 界面可 JumpStart访问\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/jumpstart/jumpstart-assets.png)


**重要**  
在下载或使用第三方内容之前：您有责任查看和遵守任何适用的许可证条款，并确保您的使用案例可以接受这些条款。  
2026 年 3 月 13 日，我们从不同地区的 JumpStart 目录中删除了几款车型，以提高可发现性，并专注于高质量、支持良好的选项。除名模型的现有端点将保持正常运行。有关已除名的开放式车型的许可信息，请参阅相应型号的 Hugging Face 清单。

### JumpStart 在经典工作室中使用
<a name="jumpstart-using"></a>

在**SageMaker JumpStart**登录页面上，您可以浏览解决方案、型号、笔记本和其他资源。

![\[SageMaker Studio 经典版 JumpStart 登录页面。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/jumpstart/jumpstart-use.png)


您可以使用搜索栏或浏览每个类别来查找 JumpStart 资源。使用选项卡按类别筛选可用的解决方案：
+  **解决方案** — 只需一个步骤，即可启动将 SageMaker AI 与其他解决方案联系起来的全面机器学习解决方案 AWS 服务。选择**浏览所有解决方案**以查看所有可用的解决方案。
+  **资源** – 使用示例笔记本、博客和视频教程来了解和开始处理您的问题类型。
  +  **博客** – 阅读机器学习专家提供的详细信息和解决方案。
  +  **视频教程** — 观看来自机器学习专家的 SageMaker AI 功能和机器学习用例的视频教程。
  +  **示例笔记本** — 运行使用 SageMaker AI 功能（例如 Spot Instance 训练和实验）的示例笔记本，对各种模型类型和用例进行实验。
+  **数据类型** – 按数据类型（例如，视觉、文本、表格、音频、文本生成）查找模型。选择**浏览所有模型**以查看所有可用的模型。
+  **ML 任务** – 按问题类型（例如，图像分类、图像嵌入、对象检测、文本生成）查找模型。选择**浏览所有模型**以查看所有可用的模型。
+  **笔记本电脑** — 查找在多种型号类型和用例中使用 SageMaker AI 功能的示例笔记本电脑。选择**浏览所有笔记本**以查看所有可用的示例笔记本。
+  **框架** — 按框架查找模型（例如，， PyTorch TensorFlow，Hugging Face）。

### 使用 Stud JumpStart io 经典版管理
<a name="jumpstart-managing"></a>

在左侧面板**的主**页菜单中，导航到 **SageMaker JumpStart**，然后选择已**启动的 JumpStart 资源**，以列出您当前启动的解决方案、部署的模型端点以及使用创建的训练作业 JumpStart。

**Topics**
+ [JumpStart 在工作室中打开](#jumpstart-open-studio)
+ [JumpStart 在工作室中使用](#jumpstart-use-studio)
+ [JumpStart 在 Studio 经典版中打开并使用](#jumpstart-open-use)
+ [亚马逊 SageMaker JumpStart 基金会模型](jumpstart-foundation-models.md)
+ [用于基础模型访问控制的私人策划中心 JumpStart](jumpstart-curated-hubs.md)
+ [Studio 经典版 SageMaker JumpStart 中的亚马逊](jumpstart-studio-classic.md)

# 亚马逊 SageMaker JumpStart 基金会模型
<a name="jumpstart-foundation-models"></a>

Amaz state-of-the-art on SageMaker JumpStart 为内容编写、代码生成、问题解答、文案撰写、摘要、分类、信息检索等用例提供基础模型。使用 JumpStart 基础模型构建自己的生成式 AI 解决方案，并将自定义解决方案与其他 SageMaker AI 功能集成。有关更多信息，请参阅 [Amazon 入门 SageMaker JumpStart](https://aws.amazon.com/sagemaker/jumpstart/getting-started/)。

基础模型是一种大型的预训练模型，可进行调整以用于许多下游任务，通常用作开发更专业化模型的起点。基础模型的示例包括 ma LLa -3-70b、BLOOM 176B、FLAN-T5 XL 或 GPT-J 6B，它们已针对大量文本数据进行了预训练，可以针对特定的语言任务进行微调。

Amaz SageMaker JumpStart on 载入并维护公开可用的基础模型，供您访问、自定义和集成到您的机器学习生命周期中。有关更多信息，请参阅 [公开可用的基础模型](jumpstart-foundation-models-latest.md#jumpstart-foundation-models-latest-publicly-available)。Amazon SageMaker JumpStart 还包括来自第三方提供商的专有基础模型。有关更多信息，请参阅 [专有基础模型](jumpstart-foundation-models-latest.md#jumpstart-foundation-models-latest-proprietary)。

要开始探索和尝试可用模型，请参阅[JumpStart 基础模型用法](jumpstart-foundation-models-use.md)。所有基础模型均可通过编程方式与 SageMaker Python SDK 一起使用。有关更多信息，请参阅 [在 SageMaker Python SDK 中使用基础模型](jumpstart-foundation-models-use-python-sdk.md)。

有关选择模型时注意事项的更多信息，请参阅[示范源和许可协议](jumpstart-foundation-models-choose.md)。

有关自定义和微调基础模型的具体信息，请参阅[基础模型自定义](jumpstart-foundation-models-customize.md)。

有关基础模型的更多一般信息，请参阅白皮书[关于基础模型的机遇和风险](https://arxiv.org/abs/2108.07258)。

**Topics**
+ [可用的基础模型](jumpstart-foundation-models-latest.md)
+ [JumpStart 基础模型用法](jumpstart-foundation-models-use.md)
+ [示范源和许可协议](jumpstart-foundation-models-choose.md)
+ [基础模型自定义](jumpstart-foundation-models-customize.md)
+ [评估 Studio 中的文本生成基础模型](jumpstart-foundation-models-evaluate.md)
+ [示例笔记本](jumpstart-foundation-models-example-notebooks.md)

# 可用的基础模型
<a name="jumpstart-foundation-models-latest"></a>

Amazon SageMaker JumpStart 提供 state-of-the-art内置的公开可用和专有基础模型，用于自定义并集成到您的生成式 AI 工作流程中。

## 公开可用的基础模型
<a name="jumpstart-foundation-models-latest-publicly-available"></a>

Amaz SageMaker JumpStart on 载入并维护来自第三方来源的开源基础模型。要开始使用其中一种公开可用的模型，请查看[JumpStart 基础模型用法](jumpstart-foundation-models-use.md)或浏览可用的[示例笔记本](jumpstart-foundation-models-example-notebooks.md)之一。在公开可用模型的给定示例笔记本中，尝试切换模型 ID，以实验同一模型系列中的不同模型。

有关使用软件开发 SageMaker Python工具包部署公开 JumpStart 基础模型的模型 IDs 和资源的更多信息，请参阅[在 SageMaker Python SDK 中使用基础模型](jumpstart-foundation-models-use-python-sdk.md)。

按照定义，基础模型可以根据多种下游任务进行调整。基础模型在大量的通用领域数据上进行训练，可以针对多种使用案例实施相同的模型或进行自定义。选择基础模型时，首先要定义一项特定任务，例如文本生成或映像生成。

### 公开可用的时间序列预测模型
<a name="jumpstart-foundation-models-choose-task-time-series-forecasting"></a>

时间序列预测模型旨在分析和预测一段时间内的序列数据。这些模型可应用于金融、天气预报或能源需求预测等多个领域。Chronos 模型专为时间序列预测任务定制，可根据历史数据规律进行准确预测。


| 模型名称 | 模型 ID | 模型来源 | 可微调 | 
| --- | --- | --- | --- | 
| Chronos T5 Small | autogluon-forecasting-chronos-t5-small | Amazon | 否 | 
| Chronos T5 Base | autogluon-forecasting-chronos-t5-base | Amazon | 否 | 
| Chronos T5 Large | autogluon-forecasting-chronos-t5-large | Amazon | 否 | 
| Chronos-Bolt Small | autogluon-forecasting-chronos-bolt-small | Amazon |  否  | 
| Chronos-Bolt Base | autogluon-forecasting-chronos-bolt-base | Amazon |  否  | 

### 公开可用的文本生成模型
<a name="jumpstart-foundation-models-choose-task-text-generation"></a>

文本生成基础模型可用于多种下游任务，包括文本摘要、文本分类、问题回答、长篇内容生成、简短文案写作、信息提取等。

要探索最新的文本生成 JumpStart 基础模型，请使用 [Amazon 入门 SageMaker JumpStart](https://aws.amazon.com/sagemaker/jumpstart/getting-started/?sagemaker-jumpstart-cards.sort-by=item.additionalFields.priority&sagemaker-jumpstart-cards.sort-order=asc&awsf.sagemaker-jumpstart-filter-product-type=product-type%23foundation-model&awsf.sagemaker-jumpstart-filter-text=ml-task-type%23text-generation&awsf.sagemaker-jumpstart-filter-vision=*all&awsf.sagemaker-jumpstart-filter-tabular=*all&awsf.sagemaker-jumpstart-filter-audio-tasks=*all&awsf.sagemaker-jumpstart-filter-multimodal=*all&awsf.sagemaker-jumpstart-filter-RL=*all&awsm.page-sagemaker-jumpstart-cards=1)产品描述页面上的 “**文本生成**” 筛选器。您也可以直接在 Amazon SageMaker Studio 用户界面或 SageMaker Studio Classic 用户界面中根据任务探索基础模型。只有一部分公开可用的文本生成模型可供微调。 JumpStart有关更多信息，请参阅 [在 Amazon SageMaker Studio 经典版中使用基础模型](jumpstart-foundation-models-use-studio.md)。

### 公开可用的映像生成模型
<a name="jumpstart-foundation-models-choose-task-image-generation"></a>

JumpStart 提供了各种各样的 Stable Diffusion 图像生成基础模型，包括来自 Stability AI 的基础模型以及用于特定 text-to-image任务的预训练模型。Hugging Face如果你需要微调 text-to-image基础模型，你可以使用 Stability AI 中的 Stable Diffusion 2.1 基础版。如果您想探索已经接受过特定美术风格训练的模型，可以Hugging Face直接在 Amazon SageMaker Studio 用户界面或 SageMaker Studio Classic 用户界面中探索众多第三方模型中的一个。

要探索最新的图片生成 JumpStart 基础模型，请使用 [Amazon 入门 SageMaker JumpStart](https://aws.amazon.com/sagemaker/jumpstart/getting-started/?sagemaker-jumpstart-cards.sort-by=item.additionalFields.priority&sagemaker-jumpstart-cards.sort-order=asc&awsf.sagemaker-jumpstart-filter-product-type=product-type%23foundation-model&awsf.sagemaker-jumpstart-filter-text=*all&awsf.sagemaker-jumpstart-filter-vision=*all&awsf.sagemaker-jumpstart-filter-tabular=*all&awsf.sagemaker-jumpstart-filter-audio-tasks=*all&awsf.sagemaker-jumpstart-filter-multimodal=ml-task-type%23txt2img&awsf.sagemaker-jumpstart-filter-RL=*all&awsm.page-sagemaker-jumpstart-cards=1)产品描述页面上的 “**文字转图片**” 筛选器。要开始使用您选择 text-to-image的基础模型，请参阅[JumpStart 基础模型用法](jumpstart-foundation-models-use.md)。

## 专有基础模型
<a name="jumpstart-foundation-models-latest-proprietary"></a>

亚马逊允许访问第三方 SageMaker JumpStart 提供商提供的专有基础模型，例如[AI21 实验室](https://www.ai21.com/)、[Coher](https://cohere.com/) e 和。[LightOn](https://www.lighton.ai/)

要开始使用这些专有模型之一，请参阅[JumpStart 基础模型用法](jumpstart-foundation-models-use.md)。要使用专有基础模型，您必须先在 AWS Marketplace中订阅该模型。订阅模型后，在 Studio 或 SageMaker Studio Classic 中找到基础模型。有关更多信息，请参阅 [SageMaker JumpStart 预训练模型](studio-jumpstart.md)。

要探索适用于各种用例的最新专有基础模型，请参阅 [Amazon 入门 SageMaker JumpStart](https://aws.amazon.com/sagemaker/jumpstart/getting-started/?sagemaker-jumpstart-cards.sort-by=item.additionalFields.priority&sagemaker-jumpstart-cards.sort-order=asc&awsf.sagemaker-jumpstart-filter-product-type=product-type%23foundation-model&awsf.sagemaker-jumpstart-filter-text=*all&awsf.sagemaker-jumpstart-filter-vision=*all&awsf.sagemaker-jumpstart-filter-tabular=*all&awsf.sagemaker-jumpstart-filter-audio-tasks=*all&awsf.sagemaker-jumpstart-filter-multimodal=*all&awsf.sagemaker-jumpstart-filter-RL=*all&sagemaker-jumpstart-cards.q=proprietary&sagemaker-jumpstart-cards.q_operator=AND)。

# JumpStart 基础模型用法
<a name="jumpstart-foundation-models-use"></a>

通过 Amazon Studio 或 Amazon SageMaker Studio Class SageMaker ic 选择、训练或部署 JumpStart 基础模型，通过 SageMaker Python软件开发工具包以编程方式使用 JumpStart 基础模型，或者直接通过 SageMaker AI 控制台发现基础模型。

**Topics**
+ [在 Studio 中使用基础模型](jumpstart-foundation-models-use-studio-updated.md)
+ [在 Amazon SageMaker Studio 经典版中使用基础模型](jumpstart-foundation-models-use-studio.md)
+ [在 SageMaker Python SDK 中使用基础模型](jumpstart-foundation-models-use-python-sdk.md)
+ [在 SageMaker AI 控制台中探索基础模型](jumpstart-foundation-models-use-console.md)

# 在 Studio 中使用基础模型
<a name="jumpstart-foundation-models-use-studio-updated"></a>

Amazon SageMaker Studio 允许您直接通过 Studio 用户界面微调、部署和评估公开和专有 JumpStart 基础模型。

**重要**  
截至 2023 年 11 月 30 日，之前的亚马逊 SageMaker Studio 体验现在被命名为 Amazon St SageMaker udio Classic。以下部分专门介绍如何使用更新后的 Studio 体验。有关使用 Studio Classic 应用程序的信息，请参阅 [亚马逊 SageMaker Studio 经典版](studio.md)。

要开始使用，请导航至 Amazon SageMaker Studio 的 JumpStart 登录页面。您可以从**主页**页面或左侧面板菜单访问它。在**JumpStart**登录页面上，您可以浏览公开和专有模型提供商提供的模型中心，并搜索模型。

在每个模型中心中，您可以按**最喜欢次数**、**下载次数最多**、**最近更新次数**对模型进行排序，也可以按任务对模型进行筛选。选择一个模型，查看其详情卡。在模型详情卡上，您可以根据可用选项选择**微调**、**部署**或**评估**模型。请注意，并非所有模型都可用于微调或评估。

有关开始使用 Amazon SageMaker Studio 的更多信息，请参阅[亚马逊 SageMaker Studio](studio-updated.md)。

**Topics**
+ [在 Studio 中微调模型](jumpstart-foundation-models-use-studio-updated-fine-tune.md)
+ [在 Studio 中部署模型](jumpstart-foundation-models-use-studio-updated-deploy.md)
+ [在 Studio 中评估模型](jumpstart-foundation-models-use-studio-updated-evaluate.md)
+ [在 Amazon Bedrock 中使用你的 SageMaker JumpStart 模型](jumpstart-foundation-models-use-studio-updated-register-bedrock.md)

# 在 Studio 中微调模型
<a name="jumpstart-foundation-models-use-studio-updated-fine-tune"></a>

微调过程在新数据集上训练已经预训练的模型，而无需从头开始训练。这个过程也称为转移学习，可以使用较小数据集和较短的训练时间生成准确模型。要微调 JumpStart基础模型，请导航到 Studio 用户界面中的模型详细信息卡。有关如何在 Studio JumpStart 中打开的更多信息，请参阅[JumpStart 在工作室中打开](studio-jumpstart.md#jumpstart-open-studio)。导航到您选择的模型详情卡后，选择右上角的**训练**。请注意，并非所有模型都有微调功能。

**重要**  
有些基础模型要求在微调前明确接受最终用户许可协议 (EULA)。有关更多信息，请参阅 [亚马逊 SageMaker Studio 接受最终用户许可协议](jumpstart-foundation-models-choose.md#jumpstart-foundation-models-choose-eula-studio)。

## 模型设置
<a name="jumpstart-foundation-models-use-studio-updated-fine-tune-model"></a>

在 Amazon SageMaker Studio 中使用预训练 JumpStart 的基础模型时，默认情况下会填充**模型构件位置（Amazon S3 URI）**。要编辑默认的 Amazon S3 URI，请选择**输入模型构件位置**。并非所有模型都支持更改模型构件的位置。

## 数据设置
<a name="jumpstart-foundation-models-use-studio-updated-fine-tune-data"></a>

在**数据**字段中，提供指向您的训练数据集位置的 Amazon S3 URI。默认的 Amazon S3 URI 指向一个示例训练数据集。要编辑默认的 Amazon S3 URI，请选择**输入训练数据集**并更改 URI。请务必查看 Amazon SageMaker Studio 中的模型详情卡，了解有关格式化训练数据的信息。

## 超参数
<a name="jumpstart-foundation-models-use-studio-updated-fine-tune-hyperparameters"></a>

您可以自定义用于微调模型的训练作业的超参数。每个可微调模型的可用超参数因模型而异。

以下超参数在模型中很常见：
+ **纪元** – 一个纪元是遍历整个数据集的一个周期。通过多个时间间隔完成一个批次，通过多个批次最终完成一个纪元。系统运行多个纪元，直到模型的准确性达到可接受的水平，或者说当错误率降至可接受的水平以下时。
+ **学习率** – 各个纪元之间应该变化的值的数量。随着模型的优化，其内部权重将被调整，并检查错误率以确定模型是否有所改善。典型的学习率为 0.1 或 0.01，其中 0.01 是一个小得多的调整，可能会导致训练需要很长时间才能收敛，而 0.1 则要大得多，可能会导致训练过度。这是在训练模型时可能会调整的主要超参数之一。请注意，对于文本模型，小得多的学习率（BERT 为 5e-5）可以生成更准确的模型。
+ **Batch siz** e — 要从数据集中为每个间隔选择的记录数量，然后发送到 GPUs 进行训练。

查看 Studio 用户界面中模型详情卡的工具提示和其他信息，了解所选模型特定超参数的更多信息。

有关可用超参数的更多信息，请参阅 [通常支持的微调超参数](jumpstart-foundation-models-fine-tuning.md#jumpstart-foundation-models-fine-tuning-hyperparameters)。

## 部署
<a name="jumpstart-foundation-models-use-studio-updated-fine-tune-instance"></a>

为训练作业指定训练实例类型和输出构件位置。在微调 Studio 用户界面中，您只能选择与所选模型兼容的实例。默认输出项目位置是 SageMaker AI 默认存储桶。要更改输出构件位置，请选择**输入输出构件位置**，然后更改 Amazon S3 URI。

## 安全性
<a name="jumpstart-foundation-models-use-studio-updated-fine-tune-security"></a>

指定用于训练任务的安全设置，包括 A SageMaker I 用于训练模型的 IAM 角色、您的训练作业是否应连接到虚拟私有云 (VPC)，以及用于保护数据的任何加密密钥。

## 附加信息
<a name="jumpstart-foundation-models-use-studio-updated-fine-tune-additional-info"></a>

在**其他信息**字段中，您可以编辑训练作业名称。您还可以添加和删除键值对形式的标签，以帮助组织和分类您的微调训练作业。

提供微调配置信息后，选择**提交**。如果您选择微调的预训练基础模型要求在训练前明确同意最终用户许可协议 (EULA)，则会在弹出窗口中提供 EULA。要接受 EULA 的条款，请选择**接受**。在下载或使用模型之前，您有责任查看和遵守任何适用的许可证条款，并确保您的使用场景可以接受这些条款。

# 在 Studio 中部署模型
<a name="jumpstart-foundation-models-use-studio-updated-deploy"></a>

要部署 JumpStart 基础模型，请导航到 Studio 用户界面中的模型详细信息卡。有关如何在 Studio JumpStart 中打开的更多信息，请参阅[JumpStart 在工作室中打开](studio-jumpstart.md#jumpstart-open-studio)。导航到所选模型的详情页面后，在 Studio 用户界面的右上角选择**部署**。然后，按照[使用 SageMaker Studio 部署模型中的步骤进行](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints-deploy-models.html#deploy-models-studio)操作。

**重要**  
一些基础模型在部署之前，要求明确接受最终用户许可协议 (EULA)。有关更多信息，请参阅 [亚马逊 SageMaker Studio 接受最终用户许可协议](jumpstart-foundation-models-choose.md#jumpstart-foundation-models-choose-eula-studio)。

# 在 Studio 中评估模型
<a name="jumpstart-foundation-models-use-studio-updated-evaluate"></a>

亚马逊 SageMaker JumpStart 已与 Studio 中的 Cl SageMaker arify 基础模型评估 (FME) 集成。如果 JumpStart 模型具有内置评估功能，则可以在 JumpStart Studio 用户界面中模型详情页面的右上角选择**评估**。有关更多信息，请参阅[评估基础模型](https://docs.aws.amazon.com/sagemaker/latest/dg/jumpstart-foundation-models-evaluate.html)。

# 在 Amazon Bedrock 中使用你的 SageMaker JumpStart 模型
<a name="jumpstart-foundation-models-use-studio-updated-register-bedrock"></a>

您可以将已从亚马逊部署的模型注册 SageMaker JumpStart 到 Amazon Bedrock。您可通过 Amazon Bedrock，在多个端点后面托管模型。您还可以使用 Amazon Bedrock 特征，例如座席和知识库。有关使用 Amazon Bedrock 模型的更多信息，请参阅 [https://docs.aws.amazon.com/bedrock/latest/userguide/amazon-bedrock-marketplace.html](https://docs.aws.amazon.com/bedrock/latest/userguide/amazon-bedrock-marketplace.html)。

**重要**  
要将您的模型迁移到 Amazon Bedrock，我们建议将[AmazonBedrockFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBedrockFullAccess.html)策略附加到您的 IAM 角色。如果无法附加托管策略，请确保您的 IAM 角色拥有下列权限：  

****  

```
{
    	"Version":"2012-10-17",		 	 	 
    	"Statement": [
    		{
    			"Sid": "BedrockAll",
    			"Effect": "Allow",
    			"Action": [
    				"bedrock:*"
    			],
    			"Resource": "*"
    		},
    		{
    			"Sid": "DescribeKey",
    			"Effect": "Allow",
    			"Action": [
    				"kms:DescribeKey"
    			],
    			"Resource": "arn:*:kms:*:::*"
    		},
    		{
    			"Sid": "APIsWithAllResourceAccess",
    			"Effect": "Allow",
    			"Action": [
    				"iam:ListRoles",
    				"ec2:DescribeVpcs",
    				"ec2:DescribeSubnets",
    				"ec2:DescribeSecurityGroups"
    			],
    			"Resource": "*"
    		},
    		{
    			"Sid": "MarketplaceModelEndpointMutatingAPIs",
    			"Effect": "Allow",
    			"Action": [
    				"sagemaker:CreateEndpoint",
    				"sagemaker:CreateEndpointConfig",
    				"sagemaker:CreateModel",
    				"sagemaker:CreateInferenceComponent",
    				"sagemaker:DeleteInferenceComponent",
    				"sagemaker:DeleteEndpoint",
    				"sagemaker:UpdateEndpoint"
    			],
    			"Resource": [
    				"arn:aws:sagemaker:*:*:endpoint/*",
    				"arn:aws:sagemaker:*:*:endpoint-config/*",
    				"arn:aws:sagemaker:*:*:model/*"
    			],
    			"Condition": {
    				"StringEquals": {
    					"aws:CalledViaLast": "bedrock.amazonaws.com"
    				}
    			}
    		},
    		{
    			"Sid": "BedrockEndpointTaggingOperations",
    			"Effect": "Allow",
    			"Action": [
    				"sagemaker:AddTags",
    				"sagemaker:DeleteTags"
    			],
    			"Resource": [
    				"arn:aws:sagemaker:*:*:endpoint/*",
    				"arn:aws:sagemaker:*:*:endpoint-config/*",
    				"arn:aws:sagemaker:*:*:model/*"
    			]
    		},
    		{
    			"Sid": "MarketplaceModelEndpointNonMutatingAPIs",
    			"Effect": "Allow",
    			"Action": [
    				"sagemaker:DescribeEndpoint",
    				"sagemaker:DescribeEndpointConfig",
    				"sagemaker:DescribeModel",
    				"sagemaker:DescribeInferenceComponent",
    				"sagemaker:ListEndpoints",
    				"sagemaker:ListTags"
    			],
    			"Resource": [
    				"arn:aws:sagemaker:*:*:endpoint/*",
    				"arn:aws:sagemaker:*:*:endpoint-config/*",
    				"arn:aws:sagemaker:*:*:model/*"
    			],
    			"Condition": {
    				"StringEquals": {
    					"aws:CalledViaLast": "bedrock.amazonaws.com"
    				}
    			}
    		},
    		{
    			"Sid": "BedrockEndpointInvokingOperations",
    			"Effect": "Allow",
    			"Action": [
    				"sagemaker:InvokeEndpoint",
    				"sagemaker:InvokeEndpointWithResponseStream"
    			],
    			"Resource": [
    				"arn:aws:sagemaker:*:*:endpoint/*"
    			],
    			"Condition": {
    				"StringEquals": {
    					"aws:CalledViaLast": "bedrock.amazonaws.com"
    				}
    			}
    		},
    		{
    			"Sid": "DiscoveringMarketplaceModel",
    			"Effect": "Allow",
    			"Action": [
    				"sagemaker:DescribeHubContent"
    			],
    			"Resource": [
    				"arn:aws:sagemaker:*:aws:hub-content/SageMakerPublicHub/Model/*",
    				"arn:aws:sagemaker:*:aws:hub/SageMakerPublicHub"
    			]
    		},
    		{
    			"Sid": "AllowMarketplaceModelsListing",
    			"Effect": "Allow",
    			"Action": [
    				"sagemaker:ListHubContents"
    			],
    			"Resource": "arn:aws:sagemaker:*:aws:hub/SageMakerPublicHub"
    		},
    		{
    			"Sid": "RetrieveSubscribedMarketplaceLicenses",
    			"Effect": "Allow",
    			"Action": [
    				"license-manager:ListReceivedLicenses"
    			],
    			"Resource": [
    				"*"
    			]
    		},
    		{
    			"Sid": "PassRoleToSageMaker",
    			"Effect": "Allow",
    			"Action": [
    				"iam:PassRole"
    			],
    			"Resource": [
    				"arn:aws:iam::*:role/*Sagemaker*ForBedrock*"
    			],
    			"Condition": {
    				"StringEquals": {
    					"iam:PassedToService": [
    						"sagemaker.amazonaws.com",
    						"bedrock.amazonaws.com"
    					]
    				}
    			}
    		},
    		{
    			"Sid": "PassRoleToBedrock",
    			"Effect": "Allow",
    			"Action": [
    				"iam:PassRole"
    			],
    			"Resource": "arn:aws:iam::*:role/*AmazonBedrock*",
    			"Condition": {
    				"StringEquals": {
    					"iam:PassedToService": [
    						"bedrock.amazonaws.com"
    					]
    				}
    			}
    		}
    	]
    }
```
Amazon Bedrock Full Access 策略仅提供对 Amazon Bedrock API 的权限。要在中使用 Amazon Bedrock AWS 管理控制台，您的 IAM 角色还必须具有以下权限：  

```
{
        "Sid": "AllowConsoleS3AccessForBedrockMarketplace",
        "Effect": "Allow",
        "Action": [
          "s3:GetObject",
          "s3:GetBucketCORS",
          "s3:ListBucket",
          "s3:ListBucketVersions",
          "s3:GetBucketLocation"
        ],
        "Resource": "*"
    }
```
如果您要自行编写策略，则必须附上支持对资源执行 Amazon Bedrock Marketplace 操作的策略声明。例如，以下策略支持 Amazon Bedrock 对已部署到端点的模型使用 `InvokeModel` 操作。  

****  

```
{
    
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Sid": "BedrockAll",
                "Effect": "Allow",
                "Action": [
                    "bedrock:InvokeModel"
                ],
                "Resource": [
                "arn:aws:bedrock:us-east-1:111122223333:marketplace/model-endpoint/all-access"
                ]
            },
            {
                "Sid": "VisualEditor1",
                "Effect": "Allow",
                "Action": ["sagemaker:InvokeEndpoint"],
                "Resource": "arn:aws:sagemaker:us-east-1:111122223333:endpoint/*",
                "Condition": {
                    "StringEquals": {
                        "aws:ResourceTag/project": "example-project-id",
                        "aws:CalledViaLast": "bedrock.amazonaws.com"
                    }
                }
            }
        ]
    
}
```

部署模型后，您可能就能够在 Amazon Bedrock 中使用该模型了。要查看是否可以在 Amazon Bedrock 中使用该模型，请导航至 Studio 用户界面中的模型详情卡。如果模型卡片上写着 **Bedrock 就绪**，则可以在 Amazon Bedrock 中注册该模型。

**重要**  
默认情况下，Amazon SageMaker JumpStart 会禁用您部署的模型的网络访问权限。如果您启用了网络访问权限，则将无法在 Amazon Bedrock 中使用该模型。如果您想在 Amazon Bedrock 中使用该模型，则必须在禁用网络访问权限的情况下重新部署该模型。

要在 Amazon Bedrock 中使用该模型，请导航至**端点详细信息**页面，然后在 Studio 用户界面右上角选择**配合 Bedrock 使用**。看到弹出窗口后，选择**注册到 Bedrock**。

# 在 Amazon SageMaker Studio 经典版中使用基础模型
<a name="jumpstart-foundation-models-use-studio"></a>

您可以通过 Studio Classic 用户界面微调和部署公开和专有 JumpStart基础模型。

**重要**  
截至 2023 年 11 月 30 日，之前的亚马逊 SageMaker Studio 体验现在被命名为 Amazon St SageMaker udio Classic。以下部分专门介绍如何使用 Studio Classic 应用程序。有关使用更新的 Studio 体验的信息，请参阅 [亚马逊 SageMaker Studio](studio-updated.md)。  
Studio Classic 仍针对现有工作负载进行维护，但不再可供入门使用。您只能停止或删除现有的 Studio Classic 应用程序，不能创建新的应用程序。我们建议您将[工作负载迁移到全新 Studio 体验](studio-updated-migrate.md)。

要通过 Studio Classic 开始使用，请参阅 [推出亚马逊 SageMaker Studio 经典版](studio-launch.md)。

 ![\[JumpStart foundation models available in Amazon SageMaker Studio Classic.\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/jumpstart/jumpstart-fm-studio.png) 

打开 Amazon SageMaker Studio Classic 后**，在导航窗格的 SageMaker JumpStart 部分选择型号、笔记本电脑、解决方案**。然后，根据您的使用案例，向下滚动以找到**基础模型：文本生成**或**基础模型：图像生成**部分。

您可以在建议的基础模型卡片上选择**查看模型**，也可以选择**浏览所有模型**以查看所有可用于文本生成或图像生成的基础模型。如果您选择查看所有可用模型，则可以按任务、数据类型、内容类型或框架进一步筛选可用模型。您还可以直接在**搜索栏**中搜索模型名称。如果您需要有关选择模型的指导，请参阅[可用的基础模型](jumpstart-foundation-models-latest.md)。

**重要**  
某些基础模型要求明确接受最终用户许可协议 (EULA)。有关更多信息，请参阅 [亚马逊 SageMaker Studio 接受最终用户许可协议](jumpstart-foundation-models-choose.md#jumpstart-foundation-models-choose-eula-studio)。

当您在 Studio Classic 中为所选基础模型选择了**查看模型**后，可以部署该模型。有关更多信息，请参阅 [部署模型](jumpstart-deploy.md)。

您也可以选择**在笔记本中运行**部分中的**打开笔记本**，直接在 Studio Classic 中运行基础模型的示例笔记本。

**注意**  
要在 Studio Classic 中部署专有基础模型，您必须先在 AWS Marketplace中订阅该模型。该 AWS Marketplace 链接在 Studio Classic 中的相关示例笔记本中提供。

如果模型可以微调，您也可以对模型进行微调。有关更多信息，请参阅 [微调模型](jumpstart-fine-tune.md)。有关哪些 JumpStart 基础模型可以微调的列表，请参阅。[用于微调的基础模型和超参数](jumpstart-foundation-models-fine-tuning.md)

# 在 SageMaker Python SDK 中使用基础模型
<a name="jumpstart-foundation-models-use-python-sdk"></a>

所有 JumpStart 基础模型均可用于使用 SageMaker Python SDK 进行编程部署。

要部署公开可用的基础模型，您可以使用其模型 ID。您可以在[带有预训练模型表 IDs 的内置算法中找到所有公开基础模型的模型](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html)。在**搜索**栏中搜索基础模型名称。使用**显示条目**下拉列表或分页控件浏览可用的模型。

在 AWS Marketplace中订阅模型后，必须使用模型软件包信息部署专有模型。

您可以在中找到 JumpStart 可用型号的列表[可用的基础模型](jumpstart-foundation-models-latest.md)。

**重要**  
某些基础模型要求明确接受最终用户许可协议 (EULA)。有关更多信息，请参阅 [使用 SDK 接受最终用户许可协议 SageMaker Python](jumpstart-foundation-models-choose.md#jumpstart-foundation-models-choose-eula-python-sdk)。

下面几节将介绍如何使用 `JumpStartEstimator` 类微调公开可用的基础模型，使用 `JumpStartModel` 类部署公开可用的基础模型，以及使用 `ModelPackage` 类部署专有基础模型。

**Topics**
+ [使用 `JumpStartEstimator` 类微调公开可用的基础模型](jumpstart-foundation-models-use-python-sdk-estimator-class.md)
+ [使用 `JumpStartModel` 类部署公开可用的基础模型](jumpstart-foundation-models-use-python-sdk-model-class.md)
+ [使用 `ModelPackage` 类部署专有基础模型](jumpstart-foundation-models-use-python-sdk-proprietary.md)

# 使用 `JumpStartEstimator` 类微调公开可用的基础模型
<a name="jumpstart-foundation-models-use-python-sdk-estimator-class"></a>

**注意**  
有关在私有策管中心微调基础模型的说明，请参阅 [微调策管中心模型](jumpstart-curated-hubs-fine-tune.md)。

使用 SDK，您只需几行代码即可对内置算法或预训练模型进行微调。 SageMaker Python

1. 首先，在[内置算法与预训练模型表](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html)中找到所选模型的模型 ID。

1. 使用模型 ID 将您的训练作业定义为 JumpStart估算器。

   ```
   from sagemaker.jumpstart.estimator import JumpStartEstimator
   
   model_id = "huggingface-textgeneration1-gpt-j-6b"
   estimator = JumpStartEstimator(model_id=model_id)
   ```

1. 在模型上运行 `estimator.fit()`，指向用于微调的训练数据。

   ```
   estimator.fit(
       {"train": training_dataset_s3_path, "validation": validation_dataset_s3_path}
   )
   ```

1. 然后，使用 `deploy` 方法自动部署模型进行推理。在此示例中，我们使用 Hugging Face 的 GPT-J 6B 模型。

   ```
   predictor = estimator.deploy()
   ```

1. 然后，您就可以使用 `predict` 方法对已部署的模型进行推理。

   ```
   question = "What is Southern California often abbreviated as?"
   response = predictor.predict(question)
   print(response)
   ```

**注意**  
此示例使用基础模型 GPT-J 6B，该模型适用于各种文本生成使用场景，包括问题解答、命名实体识别、摘要等。有关模型使用场景的更多信息，请参阅 [可用的基础模型](jumpstart-foundation-models-latest.md)。

创建 `JumpStartEstimator` 时，您可以选择指定模型版本或实例类型。有关该`JumpStartEstimator `类及其参数的更多信息，请参见[JumpStartEstimator](https://sagemaker.readthedocs.io/en/stable/api/inference/model.html#sagemaker.jumpstart.estimator.JumpStartEstimator)。

## 检查默认实例类型
<a name="jumpstart-foundation-models-use-python-sdk-estimator-class-instance-types"></a>

在使用 `JumpStartEstimator` 类对预训练模型进行微调时，您可以选择包含特定的模型版本或实例类型。所有 JumpStart 模型都有默认的实例类型。使用以下代码读取默认训练实例类型：

```
from sagemaker import instance_types

instance_type = instance_types.retrieve_default(
    model_id=model_id,
    model_version=model_version,
    scope="training")
print(instance_type)
```

您可以使用`instance_types.retrieve()`方法查看给定 JumpStart 模型的所有支持的实例类型。

## 检查默认超参数
<a name="jumpstart-foundation-models-use-python-sdk-estimator-class-hyperparameters"></a>

要检查用于训练的默认超参数，可以使用 `hyperparameters` 类中的 `retrieve_default()` 方法。

```
from sagemaker import hyperparameters

my_hyperparameters = hyperparameters.retrieve_default(model_id=model_id, model_version=model_version)
print(my_hyperparameters)

# Optionally override default hyperparameters for fine-tuning
my_hyperparameters["epoch"] = "3"
my_hyperparameters["per_device_train_batch_size"] = "4"

# Optionally validate hyperparameters for the model
hyperparameters.validate(model_id=model_id, model_version=model_version, hyperparameters=my_hyperparameters)
```

有关可用超参数的更多信息，请参阅 [通常支持的微调超参数](jumpstart-foundation-models-fine-tuning.md#jumpstart-foundation-models-fine-tuning-hyperparameters)。

## 检查默认指标定义
<a name="jumpstart-foundation-models-use-python-sdk-estimator-class-metric-definitions"></a>

您还可以检查默认指标定义：

```
print(metric_definitions.retrieve_default(model_id=model_id, model_version=model_version))
```

# 使用 `JumpStartModel` 类部署公开可用的基础模型
<a name="jumpstart-foundation-models-use-python-sdk-model-class"></a>

使用 SageMaker Python SDK，只需几行代码即可将内置算法或预训练模型部署到 SageMaker AI 终端节点。

1. 首先，在[内置算法与预训练模型表](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html)中找到所选模型的模型 ID。

1. 使用模型 ID 将您的模型定义为 JumpStart 模型。

   ```
   from sagemaker.jumpstart.model import JumpStartModel
   
   model_id = "huggingface-text2text-flan-t5-xl"
   my_model = JumpStartModel(model_id=model_id)
   ```

1. 使用 `deploy` 方法自动部署模型进行推理。在本例中，我们使用了来自 Hugging Face 的 FLAN-T5 XL 模型。

   ```
   predictor = my_model.deploy()
   ```

1. 然后，您就可以使用 `predict` 方法对已部署的模型进行推理。

   ```
   question = "What is Southern California often abbreviated as?"
   response = predictor.predict(question)
   print(response)
   ```

**注意**  
此示例使用的基础模型 FLAN-T5 XL 适用于各种文本生成使用场景，包括问题解答、摘要、聊天机器人创建等。有关模型使用场景的更多信息，请参阅 [可用的基础模型](jumpstart-foundation-models-latest.md)。

有关该`JumpStartModel `类及其参数的更多信息，请参见[JumpStartModel](https://sagemaker.readthedocs.io/en/stable/api/inference/model.html#sagemaker.jumpstart.model.JumpStartModel)。

## 检查默认实例类型
<a name="jumpstart-foundation-models-use-python-sdk-model-class-instance-types"></a>

在使用 `JumpStartModel` 类对预训练模型进行部署时，您可以选择包含特定的模型版本或实例类型。所有 JumpStart 模型都有默认的实例类型。使用以下代码读取默认部署实例类型：

```
from sagemaker import instance_types

instance_type = instance_types.retrieve_default(
    model_id=model_id,
    model_version=model_version,
    scope="inference")
print(instance_type)
```

使用`instance_types.retrieve()`方法查看给定 JumpStart 模型的所有支持的实例类型。

## 使用推理组件将多个模型部署到共享端点
<a name="jumpstart-foundation-models-use-python-sdk-model-class-endpoint-types"></a>

推理组件是一个 SageMaker AI 托管对象，可用于将一个或多个模型部署到终端节点，以提高灵活性和可扩展性。您必须将 JumpStart 模型更改`endpoint_type`为， inference-component-based而不是默认的基于模型的端点。

```
predictor = my_model.deploy(
    endpoint_name = 'jumpstart-model-id-123456789012', 
    endpoint_type = EndpointType.INFERENCE_COMPONENT_BASED
)
```

有关使用推理组件创建端点和部署 SageMaker AI 模型的更多信息，请参阅[多种模式的资源共享利用](realtime-endpoints-deploy-models.md#deployed-shared-utilization)。

## 检查有效的输入和输出推理格式
<a name="jumpstart-foundation-models-use-python-sdk-model-class-input-output"></a>

要检查有效的数据输入和输出格式以进行推理，您可以使用 `Serializers` 和 `Deserializers` 类中的 `retrieve_options()` 方法。

```
print(sagemaker.serializers.retrieve_options(model_id=model_id, model_version=model_version))
print(sagemaker.deserializers.retrieve_options(model_id=model_id, model_version=model_version))
```

## 检查支持的内容和接受类型
<a name="jumpstart-foundation-models-use-python-sdk-model-class-content-types"></a>

同样，您也可以使用 `retrieve_options()` 方法来检查模型支持的内容和接受类型。

```
print(sagemaker.content_types.retrieve_options(model_id=model_id, model_version=model_version))
print(sagemaker.accept_types.retrieve_options(model_id=model_id, model_version=model_version))
```

有关实用程序的更多信息，请参阅[实用工具 APIs](https://sagemaker.readthedocs.io/en/stable/api/utility/index.html)。

# 使用 `ModelPackage` 类部署专有基础模型
<a name="jumpstart-foundation-models-use-python-sdk-proprietary"></a>

在 AWS Marketplace中订阅模型后，必须使用模型软件包信息部署专有模型。有关 SageMaker 人工智能和的更多信息 AWS Marketplace，请参阅[中的买入和出售 Amazon SageMaker AI 算法和模型 AWS Marketplace](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-marketplace.html)。要查找最新专有机型的 AWS Marketplace 链接，请参阅 [Amazon 入门 SageMaker JumpStart](https://aws.amazon.com/sagemaker/jumpstart/getting-started/?sagemaker-jumpstart-cards.sort-by=item.additionalFields.priority&sagemaker-jumpstart-cards.sort-order=asc&awsf.sagemaker-jumpstart-filter-product-type=product-type%23foundation-model&awsf.sagemaker-jumpstart-filter-text=*all&awsf.sagemaker-jumpstart-filter-vision=*all&awsf.sagemaker-jumpstart-filter-tabular=*all&awsf.sagemaker-jumpstart-filter-audio-tasks=*all&awsf.sagemaker-jumpstart-filter-multimodal=*all&awsf.sagemaker-jumpstart-filter-RL=*all&sagemaker-jumpstart-cards.q=proprietary&sagemaker-jumpstart-cards.q_operator=AND)。

在中订阅您选择的模型后 AWS Marketplace，您可以使用与模型提供者关联的 SageMaker Python SDK 和软件开发工具包来部署基础模型。例如， AI21 Labs、Cohere 和 Cohere 分别 LightOn 使用`"ai21[SM]"``cohere-sagemaker`、和`lightonsage`软件包。

例如，要使用 AI21实验室中的 Jurassic-2 Jumbo Instruct 定义 JumpStart 模型，请使用以下代码：

```
import sagemaker
import ai21

role = get_execution_role()
sagemaker_session = sagemaker.Session()
model_package_arn = "arn:aws:sagemaker:us-east-1:865070037744:model-package/j2-jumbo-instruct-v1-1-43-4e47c49e61743066b9d95efed6882f35"

my_model = ModelPackage(
    role=role, model_package_arn=model_package_arn, sagemaker_session=sagemaker_session
)
```

 step-by-step例如，在 SageMaker Studio Classic 中查找并运行与您选择的专有基础型号相关的笔记本电脑。请参阅[在 Amazon SageMaker Studio 经典版中使用基础模型](jumpstart-foundation-models-use-studio.md)了解更多信息。有关 SageMaker Python SDK 的更多信息，请参阅[https://sagemaker.readthedocs.io/en/stable/api/inference/model.html#sagemaker.model.ModelPackage](https://sagemaker.readthedocs.io/en/stable/api/inference/model.html#sagemaker.model.ModelPackage)。

# 在 SageMaker AI 控制台中探索基础模型
<a name="jumpstart-foundation-models-use-console"></a>

您可以直接通过 Amazon A SageMaker I 控制台探索 JumpStart 基础模型。

1. 打开 Amazon A SageMaker I 控制台，网址为[https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)。

1. 在左侧导航面板**JumpStart**上查找，然后选择**基础模型**。

1. 浏览模型或搜索特定模型。如果您需要有关选择模型的指导，请参阅[可用的基础模型](jumpstart-foundation-models-latest.md)。选择**查看模型**可查看所选基础模型的模型详情页面。

1. 如果模型是专有模型，请在模型详细信息页面右上角选择**订阅**以在 AWS Marketplace中订阅该模型。您应该会收到一封确认您订阅了所选模型的电子邮件。有关 SageMaker 人工智能和的更多信息 AWS Marketplace，请参阅[中的买入和出售 Amazon SageMaker AI 算法和模型 AWS Marketplace](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-marketplace.html)。公开可用的基础模型不需要订阅。

1. 要在中查看示例笔记本 GitHub，请选择模型详情页面右上角的**查看代码**。

1. 要直接在 Amazon SageMaker Studio Classic 中查看和运行示例**笔记本，请选择模型详情页面右上角的 “在 Studio 中打开笔记本**”。

# 示范源和许可协议
<a name="jumpstart-foundation-models-choose"></a>

Amaz SageMaker JumpStart on 允许访问来自第三方来源和合作伙伴的数百种公开和专有的基础模型。你可以直接在 SageMaker AI 控制台、Studio 或 Studio Classic 中浏览 JumpStart 基础模型的选择。

## 许可证和模型来源
<a name="jumpstart-foundation-models-choose-source"></a>

Amazon SageMaker JumpStart 提供对公开和专有基础模型的访问权限。基础模型由第三方开源和专有提供商载入和维护。因此，它们在根据模型来源指定的不同许可证下发布。请确保检查您使用的任何基础模型的许可证。在下载或使用内容之前，您有责任查看和遵守任何适用的许可证条款，并确保您的使用案例可以接受这些条款。常见基础模型许可证的一些示例包括：
+ Alexa Teacher Model
+ Apache 2.0
+ BigScience 负责任的人工智能许可证 v1.0
+ CreativeML Open RAIL\$1\$1-M 许可证

同样，对于任何专有基础模型，请确保查看并遵守模型提供商的任何使用条款和使用指南。如果您对特定专有模型的许可证信息有疑问，请直接联系模型提供商。在 AWS Marketplace中，您可以在每个模型的**支持**选项卡中找到模型提供商的联系信息。

## 最终用户许可协议
<a name="jumpstart-foundation-models-choose-eula"></a>

某些 JumpStart 基础模型要求在使用前明确接受最终用户许可协议 (EULA)。

### 亚马逊 SageMaker Studio 接受最终用户许可协议
<a name="jumpstart-foundation-models-choose-eula-studio"></a>

在 Studio 中微调、部署或评估 JumpStart 基础模型之前，系统可能会提示您接受最终用户许可协议。要开始使用 Studio 中的 JumpStart 基础模型，请参阅[在 Studio 中使用基础模型](jumpstart-foundation-models-use-studio-updated.md)。

**重要**  
截至 2023 年 11 月 30 日，之前的亚马逊 SageMaker Studio 体验现在被命名为 Amazon St SageMaker udio Classic。以下部分专门介绍如何使用更新后的 Studio 体验。有关使用 Studio Classic 应用程序的信息，请参阅 [亚马逊 SageMaker Studio 经典版](studio.md)。

某些 JumpStart 基础模型要求在部署之前接受最终用户许可协议。如果这适用于您选择使用的基础模型，Studio 会提示您一个包含 EULA 内容的窗口。在下载或使用模型之前，您有责任查看和遵守任何适用的许可证条款，并确保您的使用场景可以接受这些条款。

#### 亚马逊 SageMaker Studio 经典版接受最终用户许可协议
<a name="jumpstart-foundation-models-choose-eula-studio-classic"></a>

在 Studio Classic 中部署 JumpStart 基础模型或打开基础型号笔记本电脑之前， JumpStart 系统可能会提示您接受最终用户许可协议。要开始使用 Studio Classic 中的 JumpStart 基础模型，请参阅[在 Amazon SageMaker Studio 经典版中使用基础模型](jumpstart-foundation-models-use-studio.md)。

**重要**  
截至 2023 年 11 月 30 日，之前的亚马逊 SageMaker Studio 体验现在被命名为 Amazon St SageMaker udio Classic。以下部分专门介绍如何使用 Studio Classic 应用程序。有关使用更新的 Studio 体验的信息，请参阅 [亚马逊 SageMaker Studio](studio-updated.md)。  
Studio Classic 仍针对现有工作负载进行维护，但不再可供入门使用。您只能停止或删除现有的 Studio Classic 应用程序，不能创建新的应用程序。我们建议您将[工作负载迁移到全新 Studio 体验](studio-updated-migrate.md)。

某些 JumpStart 基础模型要求在部署之前接受最终用户许可协议。如果您选择使用的基础模型也有此要求，则在您选择**部署**或**打开笔记本**之后，Studio Classic 会显示一个标题为**查看以下最终用户许可协议 (EULA) 和可接受使用政策 (AUP)** 的窗口。在下载或使用模型之前，您有责任查看和遵守任何适用的许可证条款，并确保您的使用场景可以接受这些条款。

### 使用 SDK 接受最终用户许可协议 SageMaker Python
<a name="jumpstart-foundation-models-choose-eula-python-sdk"></a>

以下各节介绍如何在使用 SDK 部署或微调 JumpStart 模型时明确声明接受 EULA。 SageMaker Python有关使用 SageMaker Python SDK 开始使用 JumpStart 基础模型的更多信息，请参阅[在 SageMaker Python SDK 中使用基础模型](jumpstart-foundation-models-use-python-sdk.md)。

在开始之前，请确保完成了以下操作：
+ 升级到您使用的模型的最新版本。
+ 安装最新版本的 SageMaker Python SDK。

**重要**  
要使用以下工作流程，必须安装版本为 [2.198.0](https://github.com/aws/sagemaker-python-sdk/releases/tag/v2.198.0) 或更高版本的 SDK。 SageMaker Python

#### 部署模型时接受最终用户许可协议 JumpStart
<a name="jumpstart-foundation-models-choose-eula-python-sdk-deploy"></a>

对于需要接受最终用户许可协议的型号，您必须在部署 JumpStart模型时明确声明接受最终用户许可协议。

```
from sagemaker.jumpstart.model import JumpStartModel
model_id = "meta-textgeneration-llama-2-13b"
my_model = JumpStartModel(model_id=model_id)

# Declare EULA acceptance when deploying your JumpStart model
predictor = my_model.deploy(accept_eula=True)
```

默认情况下 `accept_eula` 的值为 `None`，并且必须明确重新定义为 `True` 以接受最终用户许可协议。有关更多信息，请参阅 [JumpStartModel](https://sagemaker.readthedocs.io/en/stable/api/inference/model.html#sagemaker.jumpstart.model.JumpStartModel)。

#### 微调模型时接受 EULA JumpStart
<a name="jumpstart-foundation-models-choose-eula-python-sdk-fine-tune"></a>

对于需要接受最终用户许可协议的微调模型，在为估算器运行该`fit()`方法时，必须明确声明接受 EULA。 JumpStart 对预训练模型进行微调后，原始模型的权重会发生变化。因此，以后部署微调的模型时，无需接受 EULA。

**注意**  
以下示例设置 `accept_eula=False`。要接受 EULA，您应该手动将该值更改为 `True`。

```
from sagemaker.jumpstart.estimator import JumpStartEstimator
model_id = "meta-textgeneration-llama-2-13b"

# Declare EULA acceptance when defining your JumpStart estimator
estimator = JumpStartEstimator(model_id=model_id)
estimator.fit(accept_eula=False,
{"train": training_dataset_s3_path, "validation": validation_dataset_s3_path}
)
```

默认情况下 `accept_eula` 的值为 `None`，并且必须明确在 `fit()` 方法中重新定义为 `"true"` 以接受最终用户许可协议。有关更多信息，请参阅 [JumpStartEstimator](https://sagemaker.readthedocs.io/en/stable/api/training/estimators.html#sagemaker.jumpstart.estimator.JumpStartEstimator)。

#### EULA 接受 SageMaker Python SDK 版本低于 2.198.0
<a name="jumpstart-foundation-models-choose-eula-python-sdk-previous-version"></a>

**重要**  
使用低于 [2.198.0](https://github.com/aws/sagemaker-python-sdk/releases/tag/v2.198.0) 的 SageMaker Python SDK 版本时，必须使用 SageMaker `Predictor`类来接受模型最终用户许可协议。

使用 SageMaker Python SDK 以编程方式部署 JumpStart 基础模型后，您可以使用类对已部署的终端节点进行推理。 SageMaker `[Predictor](https://sagemaker.readthedocs.io/en/stable/api/inference/predictors.html)`对于需要接受最终用户许可协议的模型，您必须在调用 `Predictor` 类时明确声明接受 EULA：

```
predictor.predict(payload, custom_attributes="accept_eula=true")
```

默认情况下 `accept_eula` 的值为 `false`，并且必须明确重新定义为 `true` 以接受最终用户许可协议。如果在 `accept_eula` 设置为 `false` 时尝试运行推理，则预测器会返回错误信息。有关使用 SageMaker Python SDK 开始使用 JumpStart 基础模型的更多信息，请参阅[在 SageMaker Python SDK 中使用基础模型](jumpstart-foundation-models-use-python-sdk.md)。

**重要**  
`custom_attributes` 参数接受 `"key1=value1;key2=value2"` 格式的键值对。如果您多次使用同一个键，则推理服务器将使用与该键关联的最后一个值。例如，如果您将 `"accept_eula=false;accept_eula=true"` 传递给 `custom_attributes` 参数，则推理服务器会将值 `true` 与 `accept_eula` 键相关联。

# 基础模型自定义
<a name="jumpstart-foundation-models-customize"></a>

基础模型是非常强大的模型，能够处理各种任务。为了有效地解决大多数任务，这些模型需要进行某种形式的自定义。

根据特定使用案例，推荐用于自定义基础模型的第一种方法是通过提示工程。为基础模型提供精心设计、具有丰富上下文的提示可以帮助实现预期的结果，而无需微调或对模型权重进行任何更改。有关更多信息，请参阅 [适用于基础模型的提示工程](jumpstart-foundation-models-customize-prompt-engineering.md)。

如果仅靠提示工程不足以根据特定任务自定义基础模型，则可以根据其他特定于领域的数据对基础模型进行微调。有关更多信息，请参阅 [用于微调的基础模型和超参数](jumpstart-foundation-models-fine-tuning.md)。微调过程涉及到更改模型权重。

如果您想使用知识库中的信息自定义模型而不进行任何重新训练，请参阅[检索增强生成](jumpstart-foundation-models-customize-rag.md)。

# 适用于基础模型的提示工程
<a name="jumpstart-foundation-models-customize-prompt-engineering"></a>

提示工程是针对语言模型，设计和完善提示或输入刺激以生成特定类型输出的过程。提示工程涉及到选择适当的关键字、提供上下文，并以促进模型生成所需响应的方式塑造输入，这是一项主动塑造基础模型行为和输出的重要技术。

有效的提示工程对于指导模型行为和实现所需的响应至关重要。通过提示工程，您可以控制模型的语气、风格和领域专业知识，而无需进行诸如微调之类的更多自定义措施。我们建议您在考虑根据其他数据对模型进行微调之前，专门用一些时间来设计提示工程。目标是为模型提供足够的背景信息和指导，使其能够对没见过或有限数据的场景进行概括并有好的表现。

## 零样本学习
<a name="jumpstart-foundation-models-customize-prompt-engineering-zero-shot"></a>

零样本学习涉及训练模型以对没见过的类或任务进行概括和预测。要在零样本学习环境中执行提示工程，我们建议您构造提示，明确提供有关目标任务和所需输出格式的信息。例如，如果您要使用基础模型，对模型在训练期间未看到的一组类进行零样本文本分类，则良好设计的提示可能是：`"Classify the following text as either sports, politics, or entertainment: [input text]."`。通过明确指定目标类和预期的输出格式，您可以指导模型即使对没见过的类也能做出准确的预测。

## 少样本学习
<a name="jumpstart-foundation-models-customize-prompt-engineering-few-shot"></a>

少样本学习涉及使用有限的数据量训练模型，以用于新课程或任务。在少样本学习环境中，提示工程侧重于设计能够高效利用有限的可用训练数据的提示。例如，如果您使用基础模型执行图像分类任务，并且只有几个新图像类的样本，则可以设计一个提示，在其中包含可用的已标注样本，并带有用于目标类的占位符。例如，提示可能是：`"[image 1], [image 2], and [image 3] are examples of [target class]. Classify the following image as [target class]"`。通过纳入有限的已标注样本并明确指定目标类，即使训练数据极少，您也可以指导模型进行概括并做出准确的预测。

## 支持的推理参数
<a name="jumpstart-foundation-models-customize-prompt-engineering-inference-params"></a>

更改推理参数也可能会影响对提示的响应。您可以尽量为提示添加具体内容和上下文，也可以尝试使用支持的推理参数。以下是一些常用的推理参数的示例：


| 推理参数 | 说明 | 
| --- | --- | 
| `max_new_tokens` | 基础模型响应的最大输出长度。有效值：整数，范围：正整数。 | 
| `temperature` | 控制输出的随机性。较高的温度会导致输出序列中包含低概率词，而较低的温度会生成带有高概率词的输出序列。如果是 `temperature=0`，则响应只由概率最高的单词组成（贪婪解码）。有效值：浮点型，范围：正浮点数。 | 
| `top_p` | 在文本生成的每一步中在文本生成的每个步骤中，模型都会以 `top_p` 的累积概率从尽可能小的词集中采样。有效值：浮点型，范围：0.0，1.0。 | 
| `return_full_text` | 如果 `True`，则输入文本是生成的输出文本的一部分。有效值：布尔值，默认值：False。 | 

有关基础模型推理的更多信息，请参见 [使用 `JumpStartModel` 类部署公开可用的基础模型](jumpstart-foundation-models-use-python-sdk-model-class.md)。

如果提示工程不足以根据特定的业务需求、特定领域的语言、目标任务或其他要求来调整基础模型，您可以考虑根据其他数据微调模型，或者使用检索增强生成 (RAG)，通过来自存档知识来源的增强上下文来增强模型架构。有关更多信息，请参阅 [用于微调的基础模型和超参数](jumpstart-foundation-models-fine-tuning.md)或 [检索增强生成](jumpstart-foundation-models-customize-rag.md)。

# 用于微调的基础模型和超参数
<a name="jumpstart-foundation-models-fine-tuning"></a>

基础模型的计算成本很高，并且是在大型的、未标注的语料库上训练的。微调预训练的基础模型是一种经济实惠的方式，可以利用其广泛的功能，同时根据自己的小型语料库来自定义模型。微调是一种自定义方法，它涉及进一步的训练，并且会改变模型的权重。

如果您有以下要求，微调可能会很有用：
+ 根据特定业务需求自定义模型
+ 让模型可以成功处理特定于领域的语言，例如行业术语、技术术语或其他专业词汇
+ 针对特定任务增强性能
+ 在应用中提供准确、相对的和感知上下文的响应
+ 更真实、毒性更小、更符合具体要求的响应

根据使用案例和所选的基础模型，您可以采用两种主要方法进行微调。

1. 如果您有兴趣根据特定于领域数据微调模型，请参阅[利用领域适应性微调大型语言模型（LLM）](jumpstart-foundation-models-fine-tuning-domain-adaptation.md)。

1. 如果您对使用提示和响应样本进行基于指令的微调感兴趣，请参阅[使用提示指令微调大型语言模型（LLM）](jumpstart-foundation-models-fine-tuning-instruction-based.md)。

## 可进行微调的基础模型
<a name="jumpstart-foundation-models-fine-tuning-models"></a>

您可以微调以下任何 JumpStart 基础模型：
+ Bloom 3B
+ Bloom 7B1
+ BloomZ 3B FP16
+ BloomZ 7B1 FP16
+ Code Llama 13B
+ Code Llama 13B Python
+ Code Llama 34B
+ Code Llama 34B Python
+ Code Llama 70B
+ Code Llama 70B Python
+ Code Llama 7B
+ Code Llama 7B Python
+ CyberAgentLM2-7B-Chat (-7B-Chat) CALM2
+ Falcon 40B BF16
+ Falcon 40B Instruct BF16
+ Falcon 7B BF16
+ Falcon 7B Instruct BF16
+ Flan-T5 Base
+ Flan-T5 Large
+ Flan-T5 Small
+ Flan-T5 XL
+ Flan-T5 XXL
+ Gemma 2B
+ Gemma 2B Instruct
+ Gemma 7B
+ Gemma 7B Instruct
+ GPT-2 XL
+ GPT-J 6B
+ GPT-Neo 1.3B
+ GPT-Neo 125M
+ GPT-NEO 2.7B
+ LightGPT Instruct 6B
+ Llama 2 13B
+ Llama 2 13B Chat
+ Llama 2 13B Neuron
+ Llama 2 70B
+ Llama 2 70B Chat
+ Llama 2 7B
+ Llama 2 7B Chat
+ Llama 2 7B Neuron
+ Mistral 7B
+ Mixtral 8x7B
+ Mixtral 8x7B Instruct
+ RedPajama Incite Base 3B V1
+ RedPajama Incite Base 7B V1
+ RedPajama INCITE Chat 3B V1
+ RedPajama INCITE Chat 7B V1
+ RedPajama INCITE Instruct 3B V1
+ RedPajama INCITE Instruct 7B V1
+ Stable Diffusion 2.1

## 通常支持的微调超参数
<a name="jumpstart-foundation-models-fine-tuning-hyperparameters"></a>

微调时，不同的基础模型支持不同的超参数。以下是常用的超参数，可在训练过程中进一步自定义模型：


| 推理参数 | 说明 | 
| --- | --- | 
| `epoch` | 模型在训练过程中通过微调数据集的次数。必须是大于 1 的整数。 | 
| `learning_rate` |  完成每批微调训练样本后，更新模型权重的速度。必须是大于 0 的正浮点数。 | 
| `instruction_tuned` |  是否对模型进行指令训练。必须为 `'True'` 或 `'False'`。 | 
| `per_device_train_batch_size` |  用于训练的每个 GPU 内核或 CPU 的批量大小。其值必须为正整数。 | 
| `per_device_eval_batch_size` |  用于评估的每个 GPU 内核或 CPU 的批量大小。其值必须为正整数。 | 
| `max_train_samples` |  为了调试或加快训练速度，请将训练样本的数量截断为该值。值 -1 表示模型使用了所有训练样本。必须是正整数或 -1。 | 
| `max_val_samples` |  为了调试或加快训练速度，请将验证样本的数量截断为该值。值 -1 表示模型使用了所有验证样本。必须是正整数或 -1。 | 
| `max_input_length` |  令牌化后输入序列的最大总长度。长度超过此值的序列将被截断。如果为 -1，`max_input_length` 将被设置为 1024 和分词器定义的 `model_max_length` 的最小值。如果设置为正值，`max_input_length` 将被设置为所提供值和分词器定义的 `model_max_length` 的最小值。必须是正整数或 -1。 | 
| `validation_split_ratio` |  如果没有验证通道，则训练 - 验证的比例将从训练数据中拆分。必须介于 0 和 1 之间。 | 
| `train_data_split_seed` |  如果不存在验证数据，则将输入的训练数据随机拆分为模型使用的训练数据和验证数据。必须是整数。 | 
| `preprocessing_num_workers` |  用于预处理的进程数。如果 `None`，则使用主进程进行预处理。 | 
| `lora_r` |  低秩适应 (LoRA) r 值，作为权重更新的缩放因子。其值必须为正整数。 | 
| `lora_alpha` |  低秩适应 (LoRA) 阿尔法值，作为权重更新的缩放因子。一般是 `lora_r` 的 2 到 4 倍。其值必须为正整数。 | 
| `lora_dropout` |  低秩适应 (LoRA) 层的释放参数必须是介于 0 和 1 之间的正浮点数。 | 
| `int8_quantization` |  如果 `True`，则模型将以 8 位精度加载，以进行训练。 | 
| `enable_fsdp` |  如果 `True`，则训练使用完全分片数据并行。 | 

在 Studio 中微调模型时，您可以指定超参数值。有关更多信息，请参阅 [在 Studio 中微调模型](jumpstart-foundation-models-use-studio-updated-fine-tune.md)。

使用 SDK 微调模型时，您也可以覆盖默认的超参数值。 SageMaker Python有关更多信息，请参阅 [使用 `JumpStartEstimator` 类微调公开可用的基础模型](jumpstart-foundation-models-use-python-sdk-estimator-class.md)。

# 利用领域适应性微调大型语言模型（LLM）
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation"></a>

通过领域适应微调，您可以利用预先训练的基础模型，并使用有限的特定于领域的数据，根据特定任务来调整模型。如果通过提示工程无法提供足够的自定义，则可以使用领域适应微调，让您的模型处理特定于领域的语言，例如行业术语、技术术语或其他专业数据。这个微调过程修改模型的权重。

要在特定领域的数据集上微调模型：

1. 准备训练数据。有关说明，请参阅[准备和上传训练数据以进行领域适应微调](#jumpstart-foundation-models-fine-tuning-domain-adaptation-prepare-data)。

1. 创建您的微调训练作业。有关说明，请参阅[创建基于指令的微调的训练作业](#jumpstart-foundation-models-fine-tuning-domain-adaptation-train)。

您可以在中找到 end-to-end示例[示例笔记本](#jumpstart-foundation-models-fine-tuning-domain-adaptation-examples)。

领域适应微调适用于以下基础模型：

**注意**  
一些 JumpStart 基础模型，例如 Llama 2 7B，要求在微调和执行推理之前接受最终用户许可协议。有关更多信息，请参阅 [最终用户许可协议](jumpstart-foundation-models-choose.md#jumpstart-foundation-models-choose-eula)。
+ Bloom 3B
+ Bloom 7B1
+ BloomZ 3B FP16
+ BloomZ 7B1 FP16
+ GPT-2 XL
+ GPT-J 6B
+ GPT-Neo 1.3B
+ GPT-Neo 125M
+ GPT-NEO 2.7B
+ Llama 2 13B
+ Llama 2 13B Chat
+ Llama 2 13B Neuron
+ Llama 2 70B
+ Llama 2 70B Chat
+ Llama 2 7B
+ Llama 2 7B Chat
+ Llama 2 7B Neuron

## 准备和上传训练数据以进行领域适应微调
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation-prepare-data"></a>

域适应微调的训练数据可以采用 CSV、JSON 或 TXT 文件格式提供。所有训练数据必须放在单个文件夹内的单个文件中。

训练数据取自 CSV 或 JSON 训练数据文件的**文本**列。如果没有标记为**文本**的列，则训练数据将从 CSV 或 JSON 训练数据文件的第一列中获取。

以下是用于微调的 TXT 文件正文示例：

```
This report includes estimates, projections, statements relating to our
business plans, objectives, and expected operating results that are “forward-
looking statements” within the meaning of the Private Securities Litigation
Reform Act of 1995, Section 27A of the Securities Act of 1933, and Section 21E
of ....
```

### 拆分数据用于训练和测试
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation-split-data"></a>

您可以选择提供另一个包含验证数据的文件夹。此文件夹还应包含一个 CSV、JSON 或 TXT 文件。如果未提供验证数据集，则会留出一定量的训练数据用于验证。在选择用于微调模型的超参数时，可以调整用于验证的训练数据比例。

### 将微调数据上传到 Amazon S3
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation-upload-data"></a>

将准备好的数据上传到亚马逊简单存储服务 (Amazon S3)，以便在微调 JumpStart 基础模型时使用。您可以使用以下命令上传数据：

```
from sagemaker.s3 import S3Uploader
import sagemaker
import random

output_bucket = sagemaker.Session().default_bucket()
local_data_file = "train.txt"
train_data_location = f"s3://{output_bucket}/training_folder"
S3Uploader.upload(local_data_file, train_data_location)
S3Uploader.upload("template.json", train_data_location)
print(f"Training data: {train_data_location}")
```

## 创建基于指令的微调的训练作业
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation-train"></a>

将数据上传到 Amazon S3 后，您可以微调和部署 JumpStart 基础模型。要在 Studio 中微调您的模型，请参阅 [在 Studio 中微调模型](jumpstart-foundation-models-use-studio-updated-fine-tune.md)。要使用 SageMaker Python SDK 微调模型，请参阅[使用 `JumpStartEstimator` 类微调公开可用的基础模型](jumpstart-foundation-models-use-python-sdk-estimator-class.md)。

## 示例笔记本
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation-examples"></a>

有关域适应微调的更多信息，请参阅以下示例笔记本：
+ [SageMaker JumpStart 基础模型——微调特定领域数据集上的文本生成 GPT-J 6B 模型](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/domain-adaption-finetuning-gpt-j-6b.html)
+ [微调 LLa MA 2 机型 JumpStart](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/llama-2-finetuning.html)

# 使用提示指令微调大型语言模型（LLM）
<a name="jumpstart-foundation-models-fine-tuning-instruction-based"></a>

基于指令的微调使用已标注的样本，提高预训练基础模型在特定任务上的性能。已标注样本采用提示和响应对的格式，可解析为指令。这个微调过程修改模型的权重。有关基于指令的微调的更多信息，请参阅 [FLAN 简介：具有指令微调的更具通用性的语言模型](https://ai.googleblog.com/2021/10/introducing-flan-more-generalizable.html)和[缩放指令微调语言模型](https://arxiv.org/abs/2210.11416)。

经过微调的 LAnguage 网络 (FLAN) 模型使用指令调整来使模型更适合解决一般的下游 NLP 任务。Amazon 在 FLAN 模型系列中 SageMaker JumpStart 提供了许多基础模型。例如，FLAN-T5 模型针对广泛的任务进行了指令微调，以提高各种常见使用案例的零样本性能。通过额外的数据和微调，基于指令的模型可以针对在预训练期间未考虑过的更具体的任务进一步进行调整。

要在特定任务中使用提示 - 响应对任务指令对 LLM 进行微调：

1. 在 JSON 文件中编写指令。有关提示 - 响应对文件所需格式和数据文件夹结构的更多信息，请参阅 [准备并上传训练数据，以便进行基于指令的微调](#jumpstart-foundation-models-fine-tuning-instruction-based-prepare-data)。

1. 创建您的微调训练作业。有关说明，请参阅[创建基于指令的微调的训练作业](#jumpstart-foundation-models-fine-tuning-instruction-based-train)。

您可以在中找到 end-to-end示例[示例笔记本](#jumpstart-foundation-models-fine-tuning-instruction-based-examples)。

只有一部分 JumpStart 基础模型与基于指令的微调兼容。基于指令的微调适用于以下基础模型：

**注意**  
一些 JumpStart 基础模型，例如 Llama 2 7B，要求在微调和执行推理之前接受最终用户许可协议。有关更多信息，请参阅 [最终用户许可协议](jumpstart-foundation-models-choose.md#jumpstart-foundation-models-choose-eula)。
+ Flan-T5 Base
+ Flan-T5 Large
+ Flan-T5 Small
+ Flan-T5 XL
+ Flan-T5 XXL
+ Llama 2 13B
+ Llama 2 13B Chat
+ Llama 2 13B Neuron
+ Llama 2 70B
+ Llama 2 70B Chat
+ Llama 2 7B
+ Llama 2 7B Chat
+ Llama 2 7B Neuron
+ Mistral 7B
+ RedPajama Incite Base 3B V1
+ RedPajama Incite Base 7B V1
+ RedPajama INCITE Chat 3B V1
+ RedPajama INCITE Chat 7B V1
+ RedPajama INCITE Instruct 3B V1
+ RedPajama INCITE Instruct 7B V1

## 准备并上传训练数据，以便进行基于指令的微调
<a name="jumpstart-foundation-models-fine-tuning-instruction-based-prepare-data"></a>

基于指令的微调所需的训练数据必须以 JSON 行文本文件格式提供，其中每一行都是一个字典。所有训练数据必须放在一个文件夹中。此文件夹可包含多个 .jsonl 文件。

训练文件夹还可以包含一个模板 JSON 文件 (`template.json`)，用于描述数据的输入和输出格式。如果未提供模板文件，则使用以下模板文件：

```
{
  "prompt": "Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.\n\n### Instruction:\n{instruction}\n\n### Input:\n{context}",
  "completion": "{response}"
}
```

根据 `template.json` 文件，训练数据的每个 .jsonl 条目必须包括 `{instruction}`、`{context}` 和 `{response}` 字段。

如果您提供了自定义模板 JSON 文件，请使用 `"prompt"` 和 `"completion"` 键定义自己的必填字段。根据以下自定义模板 JSON 文件，训练数据的每个 .jsonl 条目必须包括 `{question}`、`{context}` 和 `{answer}` 字段：

```
{
  "prompt": "question: {question} context: {context}",
  "completion": "{answer}"
}
```

### 拆分数据用于训练和测试
<a name="jumpstart-foundation-models-fine-tuning-instruction-based-split-data"></a>

您可以选择提供另一个包含验证数据的文件夹。此文件夹还应包含一个或多个 .jsonl 文件。如果未提供验证数据集，则会留出一定量的训练数据用于验证。在选择用于微调模型的超参数时，可以调整用于验证的训练数据比例。

### 将微调数据上传到 Amazon S3
<a name="jumpstart-foundation-models-fine-tuning-instruction-based-upload-data"></a>

将准备好的数据上传到亚马逊简单存储服务 (Amazon S3)，以便在微调 JumpStart 基础模型时使用。您可以使用以下命令上传数据：

```
from sagemaker.s3 import S3Uploader
import sagemaker
import random

output_bucket = sagemaker.Session().default_bucket()
local_data_file = "train.jsonl"
train_data_location = f"s3://{output_bucket}/dolly_dataset"
S3Uploader.upload(local_data_file, train_data_location)
S3Uploader.upload("template.json", train_data_location)
print(f"Training data: {train_data_location}")
```

## 创建基于指令的微调的训练作业
<a name="jumpstart-foundation-models-fine-tuning-instruction-based-train"></a>

将数据上传到 Amazon S3 后，您可以微调和部署 JumpStart 基础模型。要在 Studio 中微调您的模型，请参阅 [在 Studio 中微调模型](jumpstart-foundation-models-use-studio-updated-fine-tune.md)。要使用 SageMaker Python SDK 微调模型，请参阅[使用 `JumpStartEstimator` 类微调公开可用的基础模型](jumpstart-foundation-models-use-python-sdk-estimator-class.md)。

## 示例笔记本
<a name="jumpstart-foundation-models-fine-tuning-instruction-based-examples"></a>

有关基于指令的微调的更多信息，请参阅以下示例笔记本：
+ [微调 LLa MA 2 机型 JumpStart](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/llama-2-finetuning.html)
+ [简介 SageMaker JumpStart -使用 Mistral 模型生成文本](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/mistral-7b-instruction-domain-adaptation-finetuning.html)
+ [简介 SageMaker JumpStart -使用 Falcon 模型生成文本](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/falcon-7b-instruction-domain-adaptation-finetuning.html)
+ [SageMaker JumpStart 基础模型- HuggingFace Text2Text 指令微调](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/instruction-fine-tuning-flan-t5.html)

# 检索增强生成
<a name="jumpstart-foundation-models-customize-rag"></a>

基础模型通常是离线训练的，这使得模型不了解在模型训练后创建的任何数据。此外，基础模型在非常通用的领域语料库上训练，这使得它们在特定于领域的任务中的效率较低。您可以使用检索增强生成 (RAG) 在基础模型的外部检索数据，并通过在上下文中添加检索到的相关数据来增强提示。有关 RAG 模型架构的更多信息，请参阅[知识密集型 NLP 任务的检索增强生成](https://arxiv.org/abs/2005.11401)。

使用 RAG，用于增强提示的外部数据可以来自多个数据源，例如文档存储库、数据库或。 APIs第一步是将您的文档和任何用户查询转换为兼容的格式，以执行相关性搜索。为了使格式兼容，需要使用嵌入式语言模型，将文档集合或知识库以及用户提交的查询转换为数字表示形式。*嵌入*是在向量空间中对文本进行数字表示的过程。RAG 模型架构比较知识库向量中用户查询的嵌入情况。然后，将知识库中类似文档的相关上下文附加到原始用户提示中。接下来，此增强提示将发送到基础模型。您可以异步更新知识库及其相关嵌入。

 ![\[A model architecture diagram of Retrieval Augmented Generation (RAG).\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/jumpstart/jumpstart-fm-rag.jpg) 

检索到的文件应足够大，以便包含有用的上下文，帮助增强提示信息，但又应足够小，以适应提示信息的最大序列长度。您可以使用特定于任务的 JumpStart 模型（例如中的通用文本嵌入 (GTE) 模型）来为提示和知识库文档提供嵌入内容。Hugging Face在比较提示和文档嵌入找到最相关的文档后，利用补充上下文构建新的提示。然后，将增强后的提示传递给您选择的文本生成模型。

## 示例笔记本
<a name="jumpstart-foundation-models-customize-rag-examples"></a>

有关 RAG 基础模型解决方案的更多信息，请参阅以下示例笔记本：
+ [检索增强生成：使用 LangChain和 Cohere 的生成和嵌入模型进行问答 SageMaker JumpStart](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/question_answering_Cohere+langchain_jumpstart.html)
+ [检索增强生成：使用- LLama 2、Pinecone 和自定义数据集回答问题](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/question_answering_pinecone_llama-2_jumpstart.html)
+ [检索增强生成：基于开源库的自定义数据集问答 LangChain ](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/question_answering_langchain_jumpstart.html)
+ [检索增强生成：基于自定义数据集的问题回答](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/question_answering_jumpstart_knn.html)
+ [检索增强生成：使用 Llama-2 和文本嵌入模型进行问题解答](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/question_answering_text_embedding_llama-2_jumpstart.html)
+ [Amazon SageMaker JumpStart -文本嵌入和句子相似度](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/text-embedding-sentence-similarity.html)

您可以克隆 [Amazon A SageMaker I 示例存储库](https://github.com/aws/amazon-sagemaker-examples/tree/main/introduction_to_amazon_algorithms/jumpstart-foundation-models)，以便在 Studio 中您选择的 Jupyter 环境中运行可用的 JumpStart 基础模型示例。有关可用于在 SageMaker AI 中创建和访问 Jupyter 的应用程序的更多信息，请参阅。[Amazon SageMaker Studio 支持的应用程序](studio-updated-apps.md)

# 评估 Studio 中的文本生成基础模型
<a name="jumpstart-foundation-models-evaluate"></a>

**注意**  
基础模型评估 (FMEval) 是 Amazon Clarif SageMaker y 的预览版，可能会发生变化。

**重要**  
要使用 Clari SageMaker fy 基础模型评估，您必须升级到全新的 Studio 体验。截至 2023 年 11 月 30 日，之前的亚马逊 SageMaker Studio 体验现在被命名为 Amazon St SageMaker udio Classic。基础评估功能只能在更新的体验中使用。有关如何更新 Studio 的信息，请参阅 [从亚马逊 SageMaker Studio 经典版迁移](studio-updated-migrate.md)。有关使用 Studio Classic 应用程序的信息，请参阅 [亚马逊 SageMaker Studio 经典版](studio.md)。

亚马逊 SageMaker JumpStart 已与 Studio 中的 C SageMaker larify 基础模型评估 (FMEval) 集成。如果 JumpStart 模型具有内置评估功能，则可以在 JumpStart Studio 用户界面中模型详情页面的右上角选择**评估**。有关在 JumpStart Studio 用户界面中导航的更多信息，请参阅 [JumpStart 在工作室中打开](studio-jumpstart.md#jumpstart-open-studio)

使用 Amazon SageMaker JumpStart 来评估基于文本的基础模型。 FMEval您可以使用这些模型评估来比较一个模型、两个模型之间或同一模型的不同版本之间的模型质量和责任指标，以帮助您量化模型风险。 FMEval 可以评估执行以下任务的基于文本的模型：
+  **开放式生成**：对没有预先定义结构的文本做出自然的人类反应。
+  **文本摘要**：生成简明扼要的摘要，同时保留长文本中的含义和关键信息。
+  **问题解答**：用自然语言回答问题。
+  **分类**：根据文本内容，将文本段落分为 `negative` 类和 `positive` 类。

您可以使用 FMEval 根据特定基准自动评估模型响应。您还可以使用自己的提示数据集，根据自己的标准评估模型响应。 FMEval 提供了一个用户界面 (UI)，可指导您完成评估任务的设置和配置。您也可以在自己的代码中使用该 FMEval 库。

每次评估都需要两个实例的配额：
+ 托管实例：托管和部署 LLM 的实例。
+ 评估实例：用于在主机实例上提示和执行 LLM 评估的实例。

如果您的 LLM 已部署，请提供终端节点， SageMaker AI 将使用您的**托管实例来托管**和部署 LLM。

如果您正在评估尚未部署到您的账户的 JumpStart 模型，请在您的账户中为您 FMEval 创建一个临时**托管实例**，并且仅在评估期间保持部署状态。 FMEval 使用为所选 LLM JumpStart 推荐的默认实例作为您的托管实例。您必须拥有足够的配额才能使用此推荐实例。

每次评估都会使用评估实例来提示 LLM 的响应并为其打分。您还必须拥有足够的配额和内存来运行评估算法。评估实例的配额和内存需求通常小于托管实例的需求。我们建议选择 `ml.m5.2xlarge` 实例。有关配额和内存的更多信息，请参阅 [解决在 Amazon A SageMaker I 中创建模型评估任务时出现的错误](clarify-foundation-model-evaluate-troubleshooting.md)。

自动评估可用于对以下维度 LLMs 进行评分：
+ 准确性：适用于文本摘要、问答和文本分类
+ 语义稳健性：适用于开放式生成、文本摘要和文本分类任务
+ 事实知识：适用于开放式一代
+ 提示定式：适用于开放式一代 
+  毒性：适用于开放式生成、文本摘要和问答

您还可以使用人工评估来手动评估模型响应。 FMEval 用户界面将引导您完成选择一个或多个模型、配置资源、为员工编写说明和联系员工的工作流程。人体评估完成后，结果将显示在中 FMEval。

您可以通过 Studio 的 JumpStart 登录页面访问模型评估，方法是选择要评估的模型，然后选择**评估**。请注意，并非所有 JumpStart 模型都具有可用的评估功能。有关如何配置、配置和运行的更多信息 FMEval，请参阅[什么是基础模型评估？](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-foundation-model-evaluate.html)

# 示例笔记本
<a name="jumpstart-foundation-models-example-notebooks"></a>

有关如何在 SageMaker Python SDK 中使用公开 JumpStart 基础模型的 step-by-step示例，请参阅以下关于文本生成、图像生成和模型自定义的笔记本。

**注意**  
专有和公开 JumpStart 的基础模型具有不同的 SageMaker AI Python SDK 部署工作流程。通过 Amazon SageMaker Studio Classic 或 A SageMaker I 控制台探索专有的基础模型示例笔记本电脑。有关更多信息，请参阅 [JumpStart 基础模型用法](jumpstart-foundation-models-use.md)。

您可以克隆 [Amazon A SageMaker I 示例存储库](https://github.com/aws/amazon-sagemaker-examples/tree/main/introduction_to_amazon_algorithms/jumpstart-foundation-models)，以便在 Studio 中您选择的 Jupyter 环境中运行可用的 JumpStart 基础模型示例。有关可用于在 SageMaker AI 中创建和访问 Jupyter 的应用程序的更多信息，请参阅。[Amazon SageMaker Studio 支持的应用程序](studio-updated-apps.md)

## 时间序列预测
<a name="jumpstart-foundation-models-example-notebooks-time-series"></a>

您可以使用 Chronos 模型来预测时间序列数据。它们基于语言模型架构。使用 [Chronos 笔记本上的时间序列预测简介](https://github.com/aws/amazon-sagemaker-examples/blob/default/%20%20%20%20generative_ai/sm-jumpstart_time_series_forecasting.ipynb)开始使用。 SageMaker JumpStart 

有关可用的 Chronos 更多信息，请参阅 [可用的基础模型](jumpstart-foundation-models-latest.md)。

## 文本生成
<a name="jumpstart-foundation-models-example-notebooks-text-generation"></a>

探索文本生成示例笔记本，包括一般文本生成工作流、多语言文本分类、实时批量推理、少样本学习、聊天机器人交互等方面的指导。
+ [SageMaker JumpStart 基础模型——以 FLAN-T5 XL 为例生成 HuggingFace Text2Text](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/text2text-generation-flan-t5.html)
+ [SageMaker JumpStart 基础模型——BloomZ：多语言文本分类、问答、代码生成、段落改写等](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/text2text-generation-bloomz.html)
+ [SageMaker JumpStart 基础模型- HuggingFace Text2Text 生成批量转换和实时批量推理](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/text2text-generation-Batch-Transform.html)
+ [SageMaker JumpStart 基础模型——GPT-J、GPT-neo Few-shot Learning](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/text-generation-few-shot-learning.html)
+ [SageMaker JumpStart 基础模型-聊天机器人](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/text-generation-chatbot.html)
+ [简介 SageMaker JumpStart -使用 Mistral 模型生成文本](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/mistral-7b-instruction-domain-adaptation-finetuning.html)
+ [简介 SageMaker JumpStart -使用 Falcon 模型生成文本](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/falcon-7b-instruction-domain-adaptation-finetuning.html)

## 图像生成
<a name="jumpstart-foundation-models-example-notebooks-image-generation"></a>

开始使用 text-to-image稳定扩散模型，学习如何部署修复模型，并尝试使用简单的工作流程来生成狗的图像。
+ [简介 JumpStart -文字转图像](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart_text_to_image/Amazon_JumpStart_Text_To_Image.html)
+ [ JumpStart 图像编辑简介-稳定扩散修复术](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart_inpainting/Amazon_JumpStart_Inpainting.html)
+ [为您的狗生成有趣的图片](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart_text_to_image/custom_dog_image_generator.html)

## 模型自定义
<a name="jumpstart-foundation-models-example-notebooks-model-customization"></a>

有时，您的使用案例需要针对特定任务进行更多的基础模型自定义。有关模型自定义方法的更多信息，请参阅[基础模型自定义](jumpstart-foundation-models-customize.md)或浏览以下示例笔记本之一。
+ [SageMaker JumpStart 基础模型——微调特定领域数据集上的文本生成 GPT-J 6B 模型](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/domain-adaption-finetuning-gpt-j-6b.html)
+ [SageMaker JumpStart 基础模型- HuggingFace Text2Text 指令微调](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/instruction-fine-tuning-flan-t5.html)
+ [检索增强生成：使用 LangChain 和 Cohere 的生成和嵌入模型进行问答 SageMaker JumpStart](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/question_answering_Cohere+langchain_jumpstart.html)
+ [检索增强生成：使用- LLama 2、Pinecone 和自定义数据集回答问题](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/question_answering_pinecone_llama-2_jumpstart.html)
+ [检索增强生成：基于开源库的自定义数据集问答 LangChain ](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/question_answering_langchain_jumpstart.html)
+ [检索增强生成：基于自定义数据集的问题回答](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/question_answering_jumpstart_knn.html)
+ [检索增强生成：使用 Llama-2 和文本嵌入模型进行问题解答](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/question_answering_text_embedding_llama-2_jumpstart.html)
+ [Amazon SageMaker JumpStart -文本嵌入和句子相似度](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/text-embedding-sentence-similarity.html)

# 用于基础模型访问控制的私人策划中心 JumpStart
<a name="jumpstart-curated-hubs"></a>

使用私有中心为您的组织策划经过预训练 JumpStart 的基础模型。使用最新的公开基础模型和专有基础模型，同时实施管理防护措施，确保贵组织只能访问经批准的模型。

使用私有模型中心共享模型和笔记本，集中管理模型构件，提高模型的可发现性，并简化组织内的模型使用。管理员可以创建私有中心，其中包括为不同团队、使用场景或安全要求自定义的模型子集。管理员可以使用 SageMaker Python SDK 创建 JumpStart私有模型中心。然后，用户可以使用 Amazon SageMaker Studio 或 SageMaker Python SDK 浏览、训练和部署精选的模型集。

有关创建私有模型中心的更多信息，请参阅 [Amazon 私有模型中心管理员指南 SageMaker JumpStart](jumpstart-curated-hubs-admin-guide.md)。

有关跨账户共享私有模型中心的更多信息，请参阅 [私有模型中心的跨账户共享 AWS Resource Access Manager](jumpstart-curated-hubs-ram.md)。

有关访问私有模型中心的更多信息，请参阅 [用户指南](jumpstart-curated-hubs-user-guide.md)。

# Amazon 私有模型中心管理员指南 SageMaker JumpStart
<a name="jumpstart-curated-hubs-admin-guide"></a>

管理员可以采取一些与组织内用户可以访问的策管模型中心相关的操作。这包括创建、添加、删除和管理私有中心的访问权限。本页还包含了有关为策管的私有中心支持的 AWS 区域以及使用策管的私有模型中心所需的先决条件的信息。

## 支持的 AWS 区域
<a name="jumpstart-curated-hubs-admin-guide-regions"></a>

精心策划的私人中心目前在以下 AWS 商业区域普遍可用：
+ us-east-1
+ us-east-2
+ us-west-2
+ eu-west-1
+ eu-central-1
+ ap-northeast-1
+ ap-northeast-2
+ ap-south-1
+ ap-southeast-1
+ ap-southeast-2
+ il-central-1（仅限 SDK）

默认情况下，单个区域允许的最大中心数量为 50 个。

## 先决条件
<a name="jumpstart-curated-hubs-admin-guide-prerequisites"></a>

要在 Studio 中使用策管的私有中心，您必须具有以下先决条件：
+ 具有管理员访问权限的 AWS 账户
+ 有权访问 Amazon SageMaker Studio 的 AWS Identity and Access Management (IAM) 角色
+ 已 JumpStart 启用的 Amazon SageMaker AI 域
+ 如果您的用户尝试使用专有模型，则他们必须在 AWS Marketplace 中订阅这些模型。
+ AWS 部署专有模型的账户必须在 AWS Marketplace 中订阅这些模型。

有关 Studio 入门的更多信息，请参阅 [亚马逊 SageMaker Studio](studio-updated.md)。

# 创建私有模型中心
<a name="jumpstart-curated-hubs-admin-guide-create"></a>

使用以下步骤创建私有中心，以管理组织预训练 JumpStart 基础模型的访问控制。在创建模型中心之前，您必须安装 SageMaker Python 开发工具包并配置必要的 IAM 权限。

**创建私有中心**

1. 安装 SageMaker Python 软件开发工具包并导入必要的 Python 软件包。

   ```
   # Install the SageMaker Python SDK
   !pip3 install sagemaker --force-reinstall --quiet
   
   # Import the necessary Python packages
   import boto3
   from sagemaker import Session
   from sagemaker.jumpstart.hub.hub import Hub
   ```

1. 初始化 A SageMaker I 会话。

   ```
   sm_client = boto3.client('sagemaker')
   session = Session(sagemaker_client=sm_client)
   session.get_caller_identity_arn()
   ```

1. 配置私有中心的详细信息，例如内部中心名称、用户界面显示名称和用户界面中心描述。
**注意**  
如果您在创建中心时未指定 Amazon S3 存储桶名称，则 SageMaker中心服务会代表您创建一个新的存储桶。新存储桶的命名结构如下：`sagemaker-hubs-REGION-ACCOUNT_ID`。

   ```
   HUB_NAME="Example-Hub"
   HUB_DISPLAY_NAME="Example Hub UI Name"
   HUB_DESCRIPTION="A description of the example private curated hub."
   REGION="us-west-2"
   ```

1. 检查您的**管理员** IAM 角色是否拥有创建私有中心所需的 Amazon S3 权限。如果您的角色没有必要的权限，请导航到 IAM 管理控制台中的**角色**页面。选择**管理员**角色，然后在**权限策略**窗格中选择**添加权限**，即可使用 JSON 编辑器创建具有以下权限的内联策略：

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": [
                   "s3:ListBucket",
                   "s3:GetObject",
                   "s3:GetObjectTagging"
               ],
               "Resource": [
                   "arn:aws:s3:::jumpstart-cache-prod-REGION",
                   "arn:aws:s3:::jumpstart-cache-prod-REGION/*"
               ],
               "Effect": "Allow"
           }
       ]
   }
   ```

------

1. 使用 `hub.create()` **步骤 3** 中的配置创建私有模型中心。

   ```
   hub = Hub(hub_name=HUB_NAME, sagemaker_session=session)
   
   try:
   # Create the private hub
     hub.create(
         description=HUB_DESCRIPTION,
         display_name=HUB_DISPLAY_NAME
     )
     print(f"Successfully created Hub with name {HUB_NAME} in {REGION}")
   # Check that no other hubs with this internal name exist
   except Exception as e:
     if "ResourceInUse" in str(e):
       print(f"A hub with the name {HUB_NAME} already exists in your account.")
     else:
       raise e
   ```

1. 使用以下 `describe` 命令验证新的私有中心配置：

   ```
   hub.describe()
   ```

# 将模型添加到私有中心
<a name="jumpstart-curated-hubs-admin-guide-add-models"></a>

创建私有中心后，您就可以添加已列入许可名单的模型。有关可用 JumpStart 模型的完整列表，请参阅 SageMaker Python SDK 参考中的[带有预训练模型的内置算法表](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html)。

1. 您可以使用 `hub.list_sagemaker_public_hub_models()` 方法以编程方式筛选可用的模型。您可以选择按框架 (`"framework == pytorch"`)、任务（如映像分类 (`"task == ic"`)）等类别进行筛选。有关筛选条件的更多信息，请参阅[https://github.com/aws/sagemaker-python-sdk/blob/master/src/sagemaker/jumpstart/notebook_utils.py](https://github.com/aws/sagemaker-python-sdk/blob/master/src/sagemaker/jumpstart/notebook_utils.py)。在 `hub.list_sagemaker_public_hub_models()` 方法中，筛选条件参数是可选的。

   ```
   filter_value = "framework == meta"
   response = hub.list_sagemaker_public_hub_models(filter=filter_value)
   models = response["hub_content_summaries"]
   while response["next_token"]:
       response = hub.list_sagemaker_public_hub_models(filter=filter_value, next_token=response["next_token"])
       models.extend(response["hub_content_summaries"])
   
   print(models)
   ```

1. 然后，您可以通过在 `hub.create_model_reference()` 方法中指定模型 ARN 来添加筛选后的模型。

   ```
   for model in models:
       print(f"Adding {model.get('hub_content_name')} to Hub")
       hub.create_model_reference(model_arn=model.get("hub_content_arn"), model_name=model.get("hub_content_name"))
   ```

# 更新私有中心中的资源
<a name="jumpstart-curated-hubs-update"></a>

您可以在私有中心中更新资源以更改其元数据。您可以更新的资源包括对 Amazon 模型的 SageMaker JumpStart模型引用、自定义模型、笔记本、数据集和 JsonDoc。

更新模型、笔记本、数据集或 JsonDoc 资源时，您可以更新内容描述、显示名称、关键字和支持状态。更新模型对 JumpStart 模型的引用时，只能更新指定要使用的最低模型版本的字段。
+ “更新模型或笔记本资源” 以包含 DataSet/JsonDoc。在 CLI 命令中， DataSets/JsonDocs 应添加到 hub-content-type参数中。

请按照特定于您希望更新的资源的部分进行操作。

## 更新模型或笔记本资源
<a name="jumpstart-curated-hubs-update-model-notebook"></a>

要更新模型或笔记本资源，请使用 [UpdateHubContent](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateHubContent.html)API。

您可以使用此 API 更新的有效元数据字段如下：
+ `HubContentDescription`：资源的描述。
+ `HubContentDisplayName`：资源的显示名称。
+ `HubContentMarkdown`：资源的描述，采用 Markdown 格式。
+ `HubContentSearchKeywords`：资源的可搜索关键字。
+ `SupportStatus`：资源的当前状态。

在您的请求中，请涵盖针对上述一个或多个字段的更改。如果您尝试更新任何其他字段，例如中心内容类型，则会收到错误消息。

------
#### [ 适用于 Python (Boto3) 的 AWS SDK ]

以下示例说明如何使用 适用于 Python (Boto3) 的 AWS SDK 提交[ UpdateHubContent](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateHubContent.html)请求。

**注意**  
您在请求中指定的 `HubContentVersion` 表示特定版本的元数据已更新。要查找您的中心内容的所有可用版本，您可以使用 [ ListHubContentVersions](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListHubContentVersions.html)API。

```
import boto3
sagemaker_client = boto3.Session(region_name=<AWS-region>).client("sagemaker")

sagemaker_client.update_hub_contents(
    HubName=<hub-name>,
    HubContentName=<resource-content-name>,
    HubContentType=<"Model"|"Notebook">,
    HubContentVersion='1.0.0', # specify the correct version that you want to update
    HubContentDescription=<updated-description-string>
)
```

------
#### [ AWS CLI ]

以下示例说明如何使用 AWS CLI 提交[ update-hub-content](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-hub-content.html)请求。

```
aws sagemaker update-hub-content \
--hub-name <hub-name> \
--hub-content-name <resource-content-name> \
--hub-content-type <"Model"|"Notebook"> \
--hub-content-version "1.0.0" \
--hub-content-description <updated-description-string>
```

------

## 更新模型参考
<a name="jumpstart-curated-hubs-update-model-reference"></a>

要更新模型对 JumpStart 模型的引用，请使用 [ UpdateHubContentReference](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateHubContentReference.html)API。

您只能更新模型参考的 `MinVersion` 字段。

------
#### [ 适用于 Python (Boto3) 的 AWS SDK ]

以下示例说明如何使用 适用于 Python (Boto3) 的 AWS SDK 提交[ UpdateHubContentReference](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateHubContentReference.html)请求。

```
import boto3
sagemaker_client = boto3.Session(region_name=<AWS-region>).client("sagemaker")

update_response = sagemaker_client.update_hub_content_reference(
    HubName=<hub-name>,
    HubContentName=<model-reference-content-name>,
    HubContentType='ModelReference',
    MinVersion='1.0.0'
)
```

------
#### [ AWS CLI ]

以下示例说明如何使用 AWS CLI 提交[ update-hub-content-reference](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-hub-content-reference.html)请求。

```
aws sagemaker update-hub-content-reference \
 --hub-name <hub-name> \
 --hub-content-name <model-reference-content-name> \
 --hub-content-type "ModelReference" \
 --min-version "1.0.0"
```

------

# 私有模型中心的跨账户共享 AWS Resource Access Manager
<a name="jumpstart-curated-hubs-ram"></a>

创建私有模型中心后，您可以使用 AWS Resource Access Manager (AWS RAM) 将该中心共享给必要的帐户。有关创建私有中心的更多信息，请参阅 [创建私有模型中心](jumpstart-curated-hubs-admin-guide-create.md)。下一页将深入介绍与 AWS RAM中私有中心相关的托管权限。有关如何在中创建资源共享的信息 AWS RAM，请参阅[设置跨账户中心共享](jumpstart-curated-hubs-ram-setup.md)。

## 策管的私有中心的托管权限
<a name="jumpstart-curated-hubs-ram-permissions"></a>

可用的访问权限包括读取、读取和使用以及完全访问权限。以下列出了每个权限的权限名称、描述和特定 APIs 可用权限列表：
+ 读取权限 (`AWS RAMPermissionSageMaker AIHubRead`)：读取权限允许资源使用者账户读取共享中心中的内容并查看详细信息和元数据。
  + `DescribeHub`：检索有关中心及其配置的详细信息
  + `DescribeHubContent`：检索有关特定中心可用模型的详细信息
  + `ListHubContent`：列出中心中的所有可用模型
  + `ListHubContentVersions`：列出中心中所有可用模型的版本
+ 读取和使用权限 (`AWS RAMPermissionSageMaker AIHubReadAndUse`)：读取和使用权限允许资源使用者账户读取共享中心中的内容，并部署可用模型进行推理。
  + `DescribeHub`：检索有关中心及其配置的详细信息
  + `DescribeHubContent`：检索有关特定中心可用模型的详细信息
  + `ListHubContent`：列出中心中的所有可用模型
  + `ListHubContentVersions`：列出中心中所有可用模型的版本
  + `DeployHubModel`：支持部署用于推理的可用开放权重中心模型
+ 完全访问权限 (`AWS RAMPermissionSageMaker AIHubFullAccessPolicy`)：完全访问权限允许资源使用者账户读取共享中心中的内容、添加和删除中心内容，并部署用于推理的可用模型。
  + `DescribeHub`：检索有关中心及其配置的详细信息
  + `DescribeHubContent`：检索有关特定中心可用模型的详细信息
  + `ListHubContent`：列出中心中的所有可用模型
  + `ListHubContentVersions`：列出中心中所有可用模型的版本
  + `ImportHubContent`：导入中心内容 
  + `DeleteHubContent`：删除中心内容
  + `CreateHubContentReference`: 创建中心内容引用，将模型从 SageMaker AI **公共模型**中心共享到私有中心 
  + `DeleteHubContentReference`: 删除从 SageMaker AI **公共模型中心到私有中心共享模型**的中心内容引用 
  + `DeployHubModel`：支持部署用于推理的可用开放权重中心模型

专有模型不需要 `DeployHubModel` 权限。

# 设置跨账户中心共享
<a name="jumpstart-curated-hubs-ram-setup"></a>

SageMaker 使用 [AWS Resource Access Manager (AWS RAM)](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html) 帮助您安全地跨账户共享您的私有中心。使用以下说明以及*AWS RAM 用户指南*中的共享[AWS 资源说明来设置跨账户中心共享](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-create)。

**创建资源共享**

1. 通过 [AWS RAM 管理控制台](https://console.aws.amazon.com/ram/home)选择**创建资源共享**。

1. 指定资源共享详细信息时，请选择**SageMaker 集线器**资源类型，然后再选择一个要共享的专用集线器。当您与任何其他账户共享中心时，其所有内容也会被隐式共享。

1. 将权限与资源共享关联。有关托管权限的更多信息，请参阅 [策管的私有中心的托管权限](jumpstart-curated-hubs-ram.md#jumpstart-curated-hubs-ram-permissions)。

1. 使用 AWS 账户指定 IDs 要向其授予共享资源访问权限的账户。

1. 查看您的资源共享配置，然后选择**创建资源共享**。可能需要几分钟时间来完成资源共享和主体关联。

有关更多信息，请参阅《*AWS Resource Access Manager 用户指南》*[中的共享 AWS 资源](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html)。

设置资源共享和主体关联后，指定的 AWS 账户会收到加入资源共享的邀请。 AWS 账号必须接受邀请才能访问任何共享资源。

有关通过接受资源共享邀请的更多信息 AWS RAM，请参阅*AWS Resource Access Manager 用户指南*中的[使用共享 AWS 资源](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-shared.html)。

# 从私有中心删除模型
<a name="jumpstart-curated-hubs-admin-guide-delete-models"></a>

通过在 `hub.delete_model_reference()` 方法中指定模型 ARN，您可以从组织使用的私有中心中删除模型。这就取消了从私有中心访问模型的权限。

```
hub.delete_model_reference(model-name)
```

# 限制对 JumpStart 门控模型的访问权限
<a name="jumpstart-curated-hubs-gated-model-access"></a>

Amazon SageMaker JumpStart 提供对公开和专有基础模型的访问权限。私有 Amazon S3 存储桶中的某些门控模型需要您接受模型的 EULA（最终用户许可协议）后才能访问这些模型。有关更多信息，请参阅 [使用 SDK 接受最终用户许可协议 SageMaker Python](jumpstart-foundation-models-choose.md#jumpstart-foundation-models-choose-eula-python-sdk)。

当前的默认行为是，如果用户接受模型的 EULA，则用户可以访问模型并创建[微调训练作业](jumpstart-foundation-models-use-python-sdk-estimator-class.md)。但是，如果您是管理员，并且想要限制对这些门控模型的微调访问权限，则可以设置一个策略，拒绝在向门控模型发出请求时使用 `CreateTrainingJob` 操作的权限。

以下是管理员可以向用户的 IAM 角色添加的示例 AWS Identity and Access Management (IAM) 策略：

```
{
    "Effect": "Deny",
    "Action": "sagemaker:CreateTrainingJob",
    "Resource": "*",
    "Condition": {
        "Bool": {
            "sagemaker:DirectGatedModelAccess": "true"
        }
    }
}
```

如果您想授予用户访问特定模型的权限，而不提供对门控模型的无限制访问权限，请设置策管中心并将具体的模型添加到该中心。有关更多信息，请参阅 [用于基础模型访问控制的私人策划中心 JumpStart](jumpstart-curated-hubs.md)。

# 移除对 SageMaker **公共模型**中心的访问权限
<a name="jumpstart-curated-hubs-admin-guide-remove-public-hub"></a>

除了在 Studio JumpStart 中添加私有精选中心外，您还可以取消用户对 SageMaker **公共模型**中心的访问权限。 SageMaker **公共模型**中心可以访问所有可用的 JumpStart 基础模型。

如果您删除了对 SageMaker **公共模型**中心的访问权限，并且用户只能访问一个专用中心，则当用户在 Studio 的左侧导航窗格**JumpStart**中进行选择时，他们将直接进入该专用中心。如果用户可以访问多个专用集线器，则当用户在 Studio 的左侧导航窗格**JumpStart**中进行选择时，系统会将该用户带到**集线器**菜单页面。

使用以下内联策略删除用户对 SageMaker **公共模型**中心的访问权限：

**注意**  
您可以在下面的策略中指定您希望中心访问的任何其他 Amazon S3 存储桶。请务必将 *`REGION`* 替换为您中心的区域。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": "s3:*",
            "Effect": "Deny",
            "NotResource": [
                "arn:aws:s3:::jumpstart-cache-prod-us-east-1/*.ipynb",
                "arn:aws:s3:::jumpstart-cache-prod-us-east-1/*eula*",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        },
        {
            "Action": "sagemaker:*",
            "Effect": "Deny",
            "Resource": [
                "arn:aws:sagemaker:us-east-1:aws:hub/SageMakerPublicHub",
                "arn:aws:sagemaker:us-east-1:aws:hub-content/SageMakerPublicHub/*/*"
            ]
        }
    ]
}
```

------

# 删除私有中心
<a name="jumpstart-curated-hubs-admin-guide-delete"></a>

您可以从管理员账户删除私有中心。删除私有中心之前，您必须先删除此中心中的任何内容。使用以下命令删除中心内容和中心：

```
# List the model references in the private hub
response = hub.list_models()
models = response["hub_content_summaries"]
while response["next_token"]:
    response = hub.list_models(next_token=response["next_token"])
    models.extend(response["hub_content_summaries"])

# Delete all model references in the hub
for model in models:
    hub.delete_model_reference(model_name=model.get('HubContentName'))

# Delete the private hub
hub.delete()
```

# 问题排查
<a name="jumpstart-curated-hubs-admin-guide-troubleshooting"></a>

以下几节将介绍有关创建私有模型中心时可能出现的 IAM 权限问题以及如何解决这些问题的信息。

**调用 `CreateModel` 操作时 `ValidationException`：无法访问模型数据**

如果您没有为**管理员**角色配置相应的 Amazon S3 权限，则会出现此异常。有关创建私有中心所需的 Amazon S3 权限的更多信息，请参阅 [创建私有模型中心](jumpstart-curated-hubs-admin-guide-create.md) 中的 **步骤 3**。

**调用 `create()` 时 `Access Denied` 或 `Forbidden`**

如果您没有访问与 SageMaker**公共模型**中心关联的 Amazon S3 存储桶的相应权限，则在创建私有中心时会被拒绝访问。有关创建私有中心所需的 Amazon S3 权限的更多信息，请参阅 [创建私有模型中心](jumpstart-curated-hubs-admin-guide-create.md) 中的 **步骤 3**。

# 用户指南
<a name="jumpstart-curated-hubs-user-guide"></a>

以下主题涵盖了在 Amazon SageMaker JumpStart 策划的模型中心中访问和使用模型。了解如何通过 Amazon SageMaker Studio 界面或使用 Pyth SageMaker on 软件开发工具包以编程方式访问你精心策划的中心模型。此外，了解如何微调策管中心模型，以使其适应您的特定使用案例和业务需求。

**Topics**
+ [访问 Amazon 中精心策划的模型中心 SageMaker JumpStart](jumpstart-curated-hubs-access-hubs.md)
+ [微调策管中心模型](jumpstart-curated-hubs-fine-tune.md)

# 访问 Amazon 中精心策划的模型中心 SageMaker JumpStart
<a name="jumpstart-curated-hubs-access-hubs"></a>

你可以通过 Studio 或 SageMaker Python SDK 访问私有模型中心。

## 访问 Studio 中的私有模型中心
<a name="jumpstart-curated-hubs-user-guide-studio"></a>

**重要**  
截至 2023 年 11 月 30 日，之前的亚马逊 SageMaker Studio 体验现在被命名为 Amazon St SageMaker udio Classic。以下部分专门介绍如何使用更新后的 Studio 体验。有关使用 Studio Classic 应用程序的信息，请参阅 [亚马逊 SageMaker Studio 经典版](studio.md)。

**在 Amazon SageMaker Studio 中，通过左侧面板上的**主页或主页**菜单打开 JumpStart 登录页面。**这将打开**SageMaker JumpStart**登录页面，您可以在其中浏览模型中心并搜索模型。
+ 在 “**主页**” 页面中，**JumpStart**在 “**预构建和自动解决方案**” 窗格中进行选择。
+ 从左侧面板的 “**主页**” 菜单中导航到该**JumpStart**节点。

有关开始使用 Amazon SageMaker Studio 的更多信息，请参阅[亚马逊 SageMaker Studio](studio-updated.md)。

在 Studio 的**SageMaker JumpStart**登录页面上，您可以浏览任何包含贵组织允许名单模型的私有模型中心。如果您只能访问一个模型中心，则**SageMaker JumpStart**登录页面会将您直接带到该中心。如果您有权访问多个中心，则会进入**中心**页面。

有关微调、部署和评估可以在 Studio 中访问的模型的更多信息，请参阅 [在 Studio 中使用基础模型](jumpstart-foundation-models-use-studio-updated.md)。

## 使用 SageMaker Python 软件开发工具包访问你的私有模型中心
<a name="jumpstart-curated-hubs-user-guide-sdk"></a>

你可以使用 SageMaker Python 软件开发工具包访问你的私有模型中心。您的管理员提供您读取、使用或编辑策管的中心的权限。

**注意**  
如果中心是跨账户共享的，则 `HUB_NAME` 必须是中心 ARN。如果中心不是跨账户共享的，则 `HUB_NAME` 可以是中心名称。

1. 安装 SageMaker Python 软件开发工具包并导入必要的 Python 软件包。

   ```
   # Install the SageMaker Python SDK
       !pip3 install sagemaker --force-reinstall --quiet
       
       # Import the necessary Python packages
       import boto3
       from sagemaker import Session
       from sagemaker.jumpstart.hub.hub import Hub
       from sagemaker.jumpstart.model import JumpStartModel
       from sagemaker.jumpstart.estimator import JumpStartEstimator
   ```

1. 初始化 A SageMaker I 会话并使用集线器名称和区域连接到您的私有集线器。

   ```
   # If a hub is shared across accounts, then the HUB_NAME must be the hub ARN
       HUB_NAME="Example-Hub-ARN" 
       REGION="us-west-2" 
       
       # Initialize a SageMaker session
       sm_client = boto3.client('sagemaker') 
       sm_runtime_client = boto3.client('sagemaker-runtime') 
       session = Session(sagemaker_client=sm_client, 
                           sagemaker_runtime_client=sm_runtime_client)
       
       # Initialize the private hub
       hub = Hub(hub_name=HUB_NAME, sagemaker_session=session)
   ```

1. 连接到私有中心后，您可以使用以下命令列出此中心中的所有可用模型：

   ```
   response = hub.list_models()
       models = response["hub_content_summaries"]
       while response["next_token"]:
           response = hub.list_models(next_token=response["next_token"])
           models.extend(response["hub_content_summaries"])
           
       print(models)
   ```

1. 您可以使用以下命令，通过模型名称获取特定模型的更多信息：

   ```
   response = hub.describe_model(model_name="example-model")
       print(response)
   ```

有关微调和部署您可以使用 SageMaker Python SDK 访问的模型的更多信息，请参阅[在 SageMaker Python SDK 中使用基础模型](jumpstart-foundation-models-use-python-sdk.md)。

# 微调策管中心模型
<a name="jumpstart-curated-hubs-fine-tune"></a>

在您的私有策管模型中心中，您可以使用模型参考运行微调训练作业。模型引用指向 SageMaker AI 公共中心中公开可用的 JumpStart 模型，但您可以根据自己的数据针对您的特定用例对模型进行微调。微调作业完成后，您可以访问模型权重，然后可以使用这些权重或将其部署到端点。

使用 Pyth SageMaker on SDK，只需几行代码即可对精心策划的中心模型进行微调。有关微调公开可用 JumpStart模型的更多一般信息，请参阅[用于微调的基础模型和超参数](jumpstart-foundation-models-fine-tuning.md)。

## 先决条件
<a name="jumpstart-curated-hubs-fine-tune-prereqs"></a>

要微调精选中心中的 JumpStart 模型引用，请执行以下操作：

1. 确保您的用户的 IAM 角色附加了 SageMaker AI `TrainHubModel` 权限。有关更多信息，请参阅《AWS IAM 用户指南》**中的[添加和移除 IAM 身份权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)。

   您应将下列示例策略附加到用户的 IAM 角色。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "VisualEditor0",
               "Effect": "Allow",
               "Action": "sagemaker:TrainHubModel",
               "Resource": "arn:aws:sagemaker:*:111122223333:hub/*"
           }
       ]
   }
   ```

------
**注意**  
如果您跨多个账户共享策管中心，并且中心内容归其他账户所有，请确保您的 `HubContent`（模型参考资源）具有基于资源的 IAM 策略，另外向请求的账户授予 `TrainHubModel` 权限，如以下示例所示。  

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowCrossAccountSageMakerAccess",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:root"
               },
               "Action": [
                   "sagemaker:TrainHubModel"
               ],
               "Resource": [
                   "arn:aws:sagemaker:*:111122223333:hub/*"
               ]
           }
       ]
   }
   ```

1. 拥有一个私人策划中心，其中包含对要微调的 JumpStart 模型的模型引用。有关创建私有中心的更多信息，请参阅 [创建私有模型中心](jumpstart-curated-hubs-admin-guide-create.md)。要了解如何向您的私有中心添加公开可用的 JumpStart 模型，请参阅[将模型添加到私有中心](jumpstart-curated-hubs-admin-guide-add-models.md)。
**注意**  
您选择的 JumpStart 模型应该是可微调的。您可以通过查看[内置算法与预训练模型表](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html)来验证模型是否可微调。

1. 有一个要用于微调该模型的训练数据集。数据集应采用适用于您希望微调的模型的训练格式。

## 微调策管中心模型参考
<a name="jumpstart-curated-hubs-fine-tune-pysdk"></a>

以下过程向您展示了如何使用 Pyth SageMaker on SDK 在您的私有策划中心中微调模型引用。

1. 确保你安装了（至少`2.242.0`）最新版本的 SageMaker Python 开发工具包。有关更多信息，请参阅[使用 SageMaker Python 软件开发工具包的 2.x 版本](https://sagemaker.readthedocs.io/en/stable/v2.html)。

   ```
   !pip install --upgrade sagemaker
   ```

1. 从 SageMaker Python 软件开发工具包中导入 适用于 Python (Boto3) 的 AWS SDK 和你需要的模块。

   ```
   import boto3
   from sagemaker.jumpstart.estimator import JumpStartEstimator
   from sagemaker.session import Session
   ```

1. 初始化 Boto3 会话、A SageMaker I 客户端和 Pyth SageMaker on SDK 会话。

   ```
   sagemaker_client = boto3.Session(region_name=<AWS-region>).client("sagemaker")
   sm_session = Session(sagemaker_client=sagemaker_client)
   ```

1. 创建`JumpStartEstimator`并提供 JumpStart 模型 ID、包含模型引用的中心名称以及您的 SageMaker Python SDK 会话。有关模型列表 IDs，请参阅 “[带有预训练模型的内置算法表](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html)”。

   或者，您可以在创建估算器时指定 `instance_type` 和 `instance_count` 字段。如果您不这样做，则训练作业将使用您所使用的模型的默认实例类型和计数。

   您也可以选择指定要存储经过微调的模型权重的 Amazon S3 位置的 `output_path`。如果您未指定`output_path`，则使用账户中该区域的默认 A SageMaker I Amazon S3 存储桶，其命名格式如下：`sagemaker-<region>-<account-id>`。

   ```
   estimator = JumpStartEstimator(
       model_id="meta-textgeneration-llama-3-2-1b",
       hub_name=<your-hub-name>,
       sagemaker_session=sm_session, # If you don't specify an existing session, a default one is created for you
       # Optional: specify your desired instance type and count for the training job
       # instance_type = "ml.g5.2xlarge"
       # instance_count = 1
       # Optional: specify a custom S3 location to store the fine-tuned model artifacts
       # output_path: "s3://<output-path-for-model-artifacts>"
   )
   ```

1. 使用 `training` 键创建字典，其中您指定了微调数据集的位置。此示例指向 Amazon S3 URI。如果您还有其他注意事项，例如使用本地模式或多个训练数据通道，请参阅 SageMaker Python SDK 文档中的 [ JumpStartEstimator.fit ()](https://sagemaker.readthedocs.io/en/stable/api/training/estimators.html#sagemaker.jumpstart.estimator.JumpStartEstimator.fit) 以了解更多信息。

   ```
   training_input = {
       "training": "s3://<your-fine-tuning-dataset>"
   }
   ```

1. 调用估算器的 `fit()` 方法并传入您的训练数据和您的 EULA 接受情况（如果适用）。
**注意**  
以下示例设置 `accept_eula=False.`。要接受 EULA，您应该手动将该值更改为 `True`。

   ```
   estimator.fit(inputs=training_input, accept_eula=False)
   ```

您的微调作业现在应该开始了。

您可以在 SageMaker AI 控制台中或使用 [ListTrainingJobs](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTrainingJobs.html)API 查看训练作业，查看微调作业。

您可以在`JumpStartEstimator`对象中指定的 Amazon S3 `output_path` 上访问经过微调的模型项目（该区域的默认 SageMaker AI Amazon S3 存储桶，或者您指定的自定义 Amazon S3 路径（如果适用））。

# Studio 经典版 SageMaker JumpStart 中的亚马逊
<a name="jumpstart-studio-classic"></a>

**重要**  
截至 2023 年 11 月 30 日，之前的亚马逊 SageMaker Studio 体验现在被命名为 Amazon St SageMaker udio Classic。以下部分专门介绍如何使用 Studio Classic 应用程序。有关使用更新的 Studio 体验的信息，请参阅 [亚马逊 SageMaker Studio](studio-updated.md)。  
Studio Classic 仍针对现有工作负载进行维护，但不再可供入门使用。您只能停止或删除现有的 Studio Classic 应用程序，不能创建新的应用程序。我们建议您将[工作负载迁移到全新 Studio 体验](studio-updated-migrate.md)。

以下 JumpStart 功能仅在 Amazon SageMaker Studio 经典版中可用。
+ [特定于任务的模型](jumpstart-models.md)
+ [共享模型和笔记本](jumpstart-content-sharing.md)
+ [End-to-end JumpStart 解决方案模板](jumpstart-solutions.md)
+ [亚马逊 SageMaker JumpStart 行业：金融](studio-jumpstart-industry.md)

# 特定于任务的模型
<a name="jumpstart-models"></a>

JumpStart 支持十五种最流行的问题类型的任务特定模型。在支持的问题类型中，共有十三种类型与视觉和 NLP 相关。有八种问题类型支持增量训练和微调。有关增量训练和超参数调整的更多信息，请参阅 [SageMaker AI 自动模型](https://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning.html)调整。 JumpStart 还支持四种常用的表格数据建模算法。

您可以从 Studio 或 Studio Classic 的 JumpStart 登录页面搜索和浏览模特。当您选择模型时，模型详细信息页面会提供有关该模型的信息，您可以通过几个步骤来训练和部署模型。描述部分介绍了您可以通过模型完成的任务、预期的输入和输出类型以及微调模型所需的数据类型。

您还可以通过 [SageMaker Python 软件开发工具包](https://sagemaker.readthedocs.io/en/stable/overview.html#use-prebuilt-models-with-sagemaker-jumpstart)以编程方式使用模型。有关所有可用型号的列表，请参阅[JumpStart可用型号表](https://sagemaker.readthedocs.io/en/v2.132.0/doc_utils/pretrainedmodels.html)。

下表汇总了问题类型列表及其示例 Jupyter 笔记本的链接。


| 问题类型  | 支持使用预训练模型进行推理  | 可在自定义数据集上训练  | 支持的框架  | 示例笔记本  | 
| --- | --- | --- | --- | --- | 
| 图像分类  | 支持  | 是  |  PyTorch, TensorFlow  |  [简介 JumpStart -图像分类](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/jumpstart_image_classification/Amazon_JumpStart_Image_Classification.ipynb)  | 
| 对象检测  | 支持  | 是  | PyTorch, TensorFlow, MXNet |  [简介 JumpStart -物体检测](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/jumpstart_object_detection/Amazon_JumpStart_Object_Detection.ipynb)  | 
| 语义分割  | 支持  | 是  | MXNet  |  [简介 JumpStart -语义分割](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/jumpstart_semantic_segmentation/Amazon_JumpStart_Semantic_Segmentation.ipynb)  | 
| 实例分段  | 支持  | 是  | MXNet  |  [简介 JumpStart -实例分割](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/jumpstart_instance_segmentation/Amazon_JumpStart_Instance_Segmentation.ipynb)  | 
| 图像嵌入  | 是  | 否  | TensorFlow, MXNet |  [简介 JumpStart -图像嵌入](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/jumpstart_image_embedding/Amazon_JumpStart_Image_Embedding.ipynb)  | 
| 文本分类  | 支持  | 是  | TensorFlow |  [简介 JumpStart -文本分类](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/jumpstart_text_classification/Amazon_JumpStart_Text_Classification.ipynb)  | 
| 句子对分类  | 支持  | 是  | TensorFlow，Hugging Face |  [简介 JumpStart -句子对分类](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/jumpstart_sentence_pair_classification/Amazon_JumpStart_Sentence_Pair_Classification.ipynb)  | 
| 问题回答  | 支持  | 是  | PyTorch，Hugging Face |  [简介 JumpStart — 问题解答](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/jumpstart_question_answering/Amazon_JumpStart_Question_Answering.ipynb)  | 
| 指定实体识别  | 是  | 否  | Hugging Face  |  [简介 JumpStart -命名实体识别](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/jumpstart_named_entity_recognition/Amazon_JumpStart_Named_Entity_Recognition.ipynb)  | 
| 文本摘要  | 是  | 否  | Hugging Face  |  [简介 JumpStart -文本摘要](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/jumpstart_text_summarization/Amazon_JumpStart_Text_Summarization.ipynb)  | 
| 文本生成  | 是  | 否  | Hugging Face  |  [简介 JumpStart -文本生成](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/jumpstart_text_generation/Amazon_JumpStart_Text_Generation.ipynb)  | 
| 机器翻译  | 是  | 否  | Hugging Face  |  [简介 JumpStart -机器翻译](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/jumpstart_machine_translation/Amazon_JumpStart_Machine_Translation.ipynb)  | 
| 文本嵌入  | 是  | 否  | TensorFlow, MXNet |  [简介 JumpStart -文本嵌入](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/jumpstart_text_embedding/Amazon_JumpStart_Text_Embedding.ipynb)  | 
| 表格分类  | 支持  | 是  | LightGBM、、 AutoGluon-Tabular CatBoost、 XGBoost、Linear Learner TabTransformer |  [简介 JumpStart ——表格分类——LightGBM， CatBoost](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/lightgbm_catboost_tabular/Amazon_Tabular_Classification_LightGBM_CatBoost.ipynb) [简介 JumpStart -表格分类- XGBoost，线性学习器](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/xgboost_linear_learner_tabular/Amazon_Tabular_Classification_XGBoost_LinearLearner.ipynb) [简介 JumpStart -表格分类-学员 AutoGluon](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/autogluon_tabular/Amazon_Tabular_Classification_AutoGluon.ipynb) [简介 JumpStart -表格分类-学员 TabTransformer](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/tabtransformer_tabular/Amazon_Tabular_Classification_TabTransformer.ipynb)  | 
| 表格回归  | 支持  | 是  | LightGBM、、 AutoGluon-Tabular CatBoost、 XGBoost、Linear Learner TabTransformer |  [简介 JumpStart ——表格回归——lightGBM， CatBoost](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/lightgbm_catboost_tabular/Amazon_Tabular_Regression_LightGBM_CatBoost.ipynb) [简介 JumpStart — 表格回归- XGBoost，线性学习器](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/xgboost_linear_learner_tabular/Amazon_Tabular_Regression_XGBoost_LinearLearner.ipynb) [简介 JumpStart — 表格回归-学员 AutoGluon ](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/autogluon_tabular/Amazon_Tabular_Regression_AutoGluon.ipynb) [简介 JumpStart — 表格回归-学员 TabTransformer](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/tabtransformer_tabular/Amazon_Tabular_Regression_TabTransformer.ipynb)  | 

# 部署模型
<a name="jumpstart-deploy"></a>

当您从部署模型时 JumpStart， SageMaker AI 会托管模型并部署可用于推理的终端节点。 JumpStart 还提供了一个示例笔记本，您可以在部署模型后使用它来访问模型。

**重要**  
截至 2023 年 11 月 30 日，之前的亚马逊 SageMaker Studio 体验现在被命名为 Amazon St SageMaker udio Classic。以下部分专门介绍如何使用 Studio Classic 应用程序。有关使用更新的 Studio 体验的信息，请参阅 [亚马逊 SageMaker Studio](studio-updated.md)。  
Studio Classic 仍针对现有工作负载进行维护，但不再可供入门使用。您只能停止或删除现有的 Studio Classic 应用程序，不能创建新的应用程序。我们建议您将[工作负载迁移到全新 Studio 体验](studio-updated-migrate.md)。

**注意**  
有关在 Studio 中部署 JumpStart 模型的更多信息，请参阅 [在 Studio 中部署模型](jumpstart-foundation-models-use-studio-updated-deploy.md)

## 模型部署配置
<a name="jumpstart-config"></a>

选择模型后，将打开该模型的选项卡。在**部署模型**窗格中，选择**部署配置**以配置您的模型部署。

 ![\[The Deploy Model pane.\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/jumpstart/jumpstart-deploy.png) 

用于部署模型的默认实例类型取决于模型。实例类型是运行训练作业的硬件。在以下示例中，`ml.p2.xlarge` 实例默认用于此特定 BERT 模型。

您还可以更改终端节点名称、添加`key;value`资源标签、激活或停用与模型相关的任何 JumpStart 资源`jumpstart-`的前缀，以及指定用于存储 A SageMaker I 终端节点使用的模型项目的 Amazon S3 存储桶。

 ![\[JumpStart Deploy Model pane with Deployment Configuration open to select its settings.\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/jumpstart/jumpstart-deploy-config.png) 

选择**安全设置**为模型指定 AWS Identity and Access Management (IAM) 角色、Amazon Virtual Private Cloud (Amazon VPC) 和加密密钥。

 ![\[JumpStart Deploy Model pane with Security Settings open to select its settings.\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/jumpstart/jumpstart-deploy-security.png) 

## 模型部署安全
<a name="jumpstart-config-security"></a>

使用部署模型时 JumpStart，您可以为模型指定 IAM 角色、Amazon VPC 和加密密钥。没有为这些条目指定任何值时：默认 IAM 角色是您的 Studio Classic 运行时系统角色；使用默认加密方法；不使用 Amazon VPC。

### IAM 角色
<a name="jumpstart-config-security-iam"></a>

您可以选择在培训作业和托管作业中传递的 IAM 角色。 SageMaker AI 使用此角色来访问训练数据和模型工件。如果您未选择 IAM 角色，A SageMaker I 将使用您的 Studio Classic 运行时角色部署模型。有关 IAM 角色的更多信息，请参阅 [AWS Identity and Access Management 适用于亚马逊 A SageMaker I](security-iam.md)。

您传递的角色必须有权访问模型所需的资源，并且必须具备以下所有权限。
+ 对于训练作业：[CreateTrainingJob API：执行角色权限](https://docs.aws.amazon.com//sagemaker/latest/dg/sagemaker-roles.html#sagemaker-roles-createtrainingjob-perms)。
+ 对于托管作业：[CreateModel API：执行角色权限](https://docs.aws.amazon.com//sagemaker/latest/dg/sagemaker-roles.html#sagemaker-roles-createmodel-perms)。

**注意**  
您可以缩小在以下每个角色中授予的 Amazon S3 权限的范围。使用您的亚马逊简单存储服务 (Amazon S3) 存储桶的 ARN 和 Amazon S3 存储桶来执行此操作。 JumpStart   

```
[
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::jumpstart-cache-prod-<region>/*",
        "arn:aws:s3:::jumpstart-cache-prod-<region>",
        "arn:aws:s3:::<bucket>/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
           "cloudwatch:PutMetricData",
           "logs:CreateLogStream",
          "logs:PutLogEvents",
          "logs:CreateLogGroup",
          "logs:DescribeLogStreams",
          "ecr:GetAuthorizationToken"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "ecr:BatchGetImage",
        "ecr:BatchCheckLayerAvailability",
        "ecr:GetDownloadUrlForLayer"
      ],
      "Resource": [
        "*"
      ]
    },
  ]
}
```

**查找 IAM 角色**

如果您选择此选项，则必须从下拉列表中选择一个现有 IAM 角色。

 ![\[JumpStart Security Settings IAM section with Find IAM role selected.\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/jumpstart/jumpstart-deploy-security-findiam.png) 

**输入 IAM 角色**

如果您选择此选项，则必须手动输入现有 IAM 角色的 ARN。如果您的 Studio Classic 运行时系统角色或 Amazon VPC 阻止了 `iam:list* ` 调用，则必须通过此选项来使用现有的 IAM 角色。

 ![\[JumpStart Security Settings IAM section with Input IAM role selected.\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/jumpstart/jumpstart-deploy-security-inputiam.png) 

### Amazon VPC
<a name="jumpstart-config-security-vpc"></a>

所有 JumpStart 模型均在网络隔离模式下运行。创建模型容器后，就无法再进行调用。您可以选择在训练作业和托管作业中通过的 Amazon VPC。 SageMaker AI 使用此 Amazon VPC 从您的 Amazon S3 存储桶中推送和提取资源。此 Amazon VPC 不同于限制从您的 Studio Classic 实例访问公共互联网的 Amazon VPC。有关 Studio Classic Amazon VPC 的更多信息，请参阅 [将 VPC 中的 Studio 笔记本连接到外部资源](studio-notebooks-and-internet-access.md)。

您传递的 Amazon VPC 不需要访问公共互联网，但它需要能够访问 Amazon S3。用于 Amazon S3 的 Amazon VPC 端点必须至少允许访问模型所需的以下资源。

```
{
  "Effect": "Allow",
  "Action": [
    "s3:GetObject",
    "s3:PutObject",
    "s3:ListMultipartUploadParts",
    "s3:ListBucket"
  ],
  "Resources": [
    "arn:aws:s3:::jumpstart-cache-prod-<region>/*",
    "arn:aws:s3:::jumpstart-cache-prod-<region>",
    "arn:aws:s3:::bucket/*"
  ]
}
```

如果您未选择 Amazon VPC，则不使用 Amazon VPC。

**查找 VPC**

如果您选择此选项，则必须从下拉列表中选择一个现有 Amazon VPC。选择 Amazon VPC 后，您必须为 Amazon VPC 选择子网和安全组。有关子网和安全组的更多信息，请参阅[ VPCs和子网概述](https://docs.aws.amazon.com//vpc/latest/userguide/VPC_Subnets.html)。

 ![\[JumpStart Security Settings VPC section with Find VPC selected.\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/jumpstart/jumpstart-deploy-security-findvpc.png) 

**输入 VPC**

如果您选择此选项，则必须手动选择构成您的 Amazon VPC 的子网和安全组。如果 Studio Classic 运行时系统角色或 Amazon VPC 阻止了 `ec2:list*` 调用，则您必须使用此选项来选择子网和安全组。

 ![\[JumpStart Security Settings VPC section with Input VPC selected.\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/jumpstart/jumpstart-deploy-security-inputvpc.png) 

### 加密密钥
<a name="jumpstart-config-security-encryption"></a>

您可以选择在训练作业和托管作业中传递的 AWS KMS 密钥。 SageMaker AI 使用此密钥加密容器的 Amazon EBS 卷，并使用 Amazon S3 中重新打包的模型来托管任务和训练作业的输出。有关 AWS KMS 密钥的更多信息，请参阅[AWS KMS 密钥](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#kms_keys)。

您传递的密钥必须信任您传递的 IAM 角色。如果您未指定 IAM 角色，则该 AWS KMS 密钥必须信任您的 Studio Classic 运行时角色。

如果您不选择 AWS KMS 密钥， SageMaker AI 会为 Amazon EBS 卷和 Amazon S3 项目中的数据提供默认加密。

**查找加密密钥**

如果选择此选项，则必须从下拉列表中选择现有 AWS KMS 密钥。

 ![\[JumpStart Security Settings encryption section with Find encryption keys selected.\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/jumpstart/jumpstart-deploy-security-findencryption.png) 

**输入加密密钥**

如果选择此选项，则必须手动输入 AWS KMS 密钥。如果您的 Studio Classic 执行角色或 Amazon VPC 阻止了`kms:list* `呼叫，则必须使用此选项来选择现有 AWS KMS 密钥。

 ![\[JumpStart Security Settings encryption section with Input encryption keys selected.\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/jumpstart/jumpstart-deploy-security-inputencryption.png) 

## 为 JumpStart 模型配置默认值
<a name="jumpstart-config-defaults"></a>

您可以为 IAM 角色和 KMS 密钥等参数配置默认值 VPCs，以便为 JumpStart 模型部署和训练进行预填充。配置默认值后，Studio Classic UI 会自动向 JumpStart 模型提供您指定的安全设置和标签，以简化部署和训练工作流程。管理员和最终用户可以初始化 YAML 格式的配置文件中的默认值。

默认情况下， SageMaker Python SDK 使用两个配置文件：一个用于管理员，另一个用于用户。使用管理员配置文件，管理员可以定义一组默认值。最终用户可以使用用户配置文件来覆盖在管理员配置文件中设置的值，并设置其他默认值。有关更多信息，请参阅[默认配置文件位置](https://sagemaker.readthedocs.io/en/stable/overview.html#default-configuration-file-location)。

以下代码示例列出了在 Amazon SageMaker Studio Classic 中使用 SageMaker Python 软件开发工具包时配置文件的默认位置。

```
# Location of the admin config file
/etc/xdg/sagemaker/config.yaml

# Location of the user config file
/root/.config/sagemaker/config.yaml
```

在用户配置文件中指定的值会覆盖在管理员配置文件中设置的值。在 Amazon A SageMaker I 域中，每个用户个人资料的配置文件都是唯一的。用户配置文件的 Studio Classic 应用程序与用户配置文件关联。有关更多信息，请参阅 [域用户配置文件](domain-user-profile.md)。

管理员可以选择通过`JupyterServer`生命周期配置为 JumpStart 模型训练和部署设置默认配置。有关更多信息，请参阅 [创建生命周期配置并将其与 Amazon SageMaker Studio Classic 关联](studio-lcc-create.md)。

### 默认值配置 YAML 文件
<a name="jumpstart-config-defaults-yaml"></a>

您的配置文件应符合 P SageMaker ython SDK [配置文件结构](https://sagemaker.readthedocs.io/en/stable/overview.html#configuration-file-structure)。请注意，`TrainingJob``Model`、和`EndpointConfig`配置中的特定字段适用于 JumpStart 模型训练和部署默认值。

```
SchemaVersion: '1.0'
SageMaker:
  TrainingJob:
    OutputDataConfig:
      KmsKeyId: example-key-id
    ResourceConfig:
      # Training configuration - Volume encryption key
      VolumeKmsKeyId: example-key-id
    # Training configuration form - IAM role
    RoleArn: arn:aws:iam::123456789012:role/SageMakerExecutionRole
    VpcConfig:
      # Training configuration - Security groups
      SecurityGroupIds:
      - sg-1
      - sg-2
      # Training configuration - Subnets
      Subnets:
      - subnet-1
      - subnet-2
    # Training configuration - Custom resource tags
    Tags:
    - Key: Example-key
      Value: Example-value
  Model:
    EnableNetworkIsolation: true
    # Deployment configuration - IAM role
    ExecutionRoleArn: arn:aws:iam::123456789012:role/SageMakerExecutionRole
    VpcConfig:
      # Deployment configuration - Security groups
      SecurityGroupIds:
      - sg-1
      - sg-2
      # Deployment configuration - Subnets
      Subnets:
      - subnet-1
      - subnet-2
  EndpointConfig:
    AsyncInferenceConfig:
      OutputConfig:
        KmsKeyId: example-key-id
    DataCaptureConfig:
      # Deployment configuration - Volume encryption key
      KmsKeyId: example-key-id
    KmsKeyId: example-key-id
    # Deployment configuration - Custom resource tags
    Tags:
    - Key: Example-key
      Value: Example-value
```

# 微调模型
<a name="jumpstart-fine-tune"></a>

微调过程在新数据集上训练已经预训练的模型，而无需从头开始训练。这个过程也称为转移学习，可以使用较小数据集和较短的训练时间生成准确模型。如果模型的卡片显示**可微调**属性设置为**是**，则可以对其进行微调。

 ![\[JumpStart fine-tunable Image Classification - TensorFlow model\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/jumpstart/jumpstart-finetune-model.png) 

**重要**  
截至 2023 年 11 月 30 日，之前的亚马逊 SageMaker Studio 体验现在被命名为 Amazon St SageMaker udio Classic。以下部分专门介绍如何使用 Studio Classic 应用程序。有关使用更新的 Studio 体验的信息，请参阅 [亚马逊 SageMaker Studio](studio-updated.md)。  
Studio Classic 仍针对现有工作负载进行维护，但不再可供入门使用。您只能停止或删除现有的 Studio Classic 应用程序，不能创建新的应用程序。我们建议您将[工作负载迁移到全新 Studio 体验](studio-updated-migrate.md)。

**注意**  
有关在 Studio 中微调 JumpStart 模型的更多信息，请参阅 [在 Studio 中微调模型](jumpstart-foundation-models-use-studio-updated-fine-tune.md)

## 微调数据来源
<a name="jumpstart-fine-tune-data"></a>

 在微调模型时，您可以使用默认数据集或选择自己的数据，该数据位于 Amazon S3 存储桶中。

要浏览可供您使用的存储桶，请选择**查找 S3 存储桶**。这些存储桶受用于设置 Studio Classic 帐户的权限的限制。您也可以通过选择**输入 Amazon S3 存储桶位置**来指定 Amazon S3 URI。

 ![\[JumpStart data source settings with default dataset selected.\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/jumpstart/jumpstart-dataset.png) 

**提示**  
 要了解如何格式化存储桶中的数据，请选择**了解更多**。模型的描述部分还提供了有关输入和输出的详细信息。  

 对于文本模型：
+  存储桶必须具有 data.csv 文件。
+  第一列必须是用于类标签的唯一整数。例如，`1`、`2`、`3`、`4`、`n`
+  第二列必须是字符串。
+  第二列应包含与模型的类型和语言相符的对应文本。  

 对于视觉模型：
+  存储桶中的子目录数量必须与类数相同。
+  每个子目录都应包含属于该类的 .jpg 格式的图像。

**注意**  
 Amazon S3 存储桶必须与您运行 SageMaker Studio Classic 的 AWS 区域 位置相同，因为 SageMaker AI 不允许跨区域请求。

## 微调部署配置
<a name="jumpstart-fine-tune-deploy"></a>

p3 系列是用于深度学习训练最快的系列，建议用于微调模型。下图显示了每种实例类型 GPUs 中的数量。还有其他可供选择的选项，包括 p2 和 g4 实例类型。


|  实例类型  |  GPUs  | 
| --- | --- | 
|  p3.2xlarge  |  1  | 
|  p3.8xlarge  |  4  | 
|  p3.16xlarge  |  8  | 
|  p3dn.24xlarge  |  8  | 

## 超参数
<a name="jumpstart-hyperparameters"></a>

您可以自定义用于微调模型的训练作业的超参数。每个可微调模型的可用超参数因模型而异。有关每个可用超参数的信息，请参阅您在[Amazon 中的内置算法和预训练模型 SageMaker](algos.md)中选择的模型的超参数文档。例如，有关可微调[图像分类- TensorFlow 超参数](IC-TF-Hyperparameter.md)的图像分类- TensorFlow 超参数的详细信息，请参阅。

如果您在不更改超参数的情况下将默认数据集用于文本模型，则会得到几乎相同的模型。对于视觉模型，默认数据集与预训练模型在训练时使用的数据集不同，因此您的模型也会不同。

以下超参数在模型中很常见：
+ **纪元** – 一个纪元是遍历整个数据集的一个周期。通过多个时间间隔完成一个批次，通过多个批次最终完成一个纪元。系统运行多个纪元，直到模型的准确性达到可接受的水平，或者说当错误率降至可接受的水平以下时。
+ **学习率** – 各个纪元之间应该变化的值的数量。随着模型的优化，其内部权重将被调整，并检查错误率以确定模型是否有所改善。典型的学习率为 0.1 或 0.01，其中 0.01 是一个小得多的调整，可能会导致训练需要很长时间才能收敛，而 0.1 则要大得多，可能会导致训练过度。这是在训练模型时可能会调整的主要超参数之一。请注意，对于文本模型，小得多的学习率（BERT 为 5e-5）可以生成更准确的模型。
+ **Batch siz** e — 要从数据集中为每个间隔选择的记录数量，然后发送到 GPUs 进行训练。

  在图像示例中，您可以向每个 GPU 发送 32 张图像，所以批次大小是 32。如果您选择具有多个 GPU 的实例类型，则批次将除以数量 GPUs。建议的批次大小因数据和所使用的模型而异。例如，针对图像数据进行优化的方式与处理语言数据的方式不同。

  在部署配置部分的实例类型图表中，您可以看到 GPUs 每种实例类型的数量。从推荐的标准批次大小开始（例如，对于视觉模型为 32）。然后，将其乘以您选择的实例类型 GPUs 中的数量。例如，如果您使用的是`p3.8xlarge`，则这将是 32（批次大小）乘以 4 (GPUs)，总共为 128，因为批量大小会根据数量进行调整。 GPUs对于 BERT 这样的文本模型，请尝试从批次大小 64 开始，然后根据需要减少。

 

## 训练输出
<a name="jumpstart-training"></a>

微调过程完成后， JumpStart 提供有关模型的信息：父模型、训练作业名称、训练作业 ARN、训练时间和输出路径。输出路径是您在 Amazon S3 存储桶中可以找到新模型的位置。文件夹结构使用您提供的模型名称，模型文件位于 `/output` 子文件夹内，其名称始终为 `model.tar.gz`。  

 示例：`s3://bucket/model-name/output/model.tar.gz`

## 配置模型训练的默认值
<a name="jumpstart-config-defaults-training"></a>

您可以为 IAM 角色和 KMS 密钥等参数配置默认值 VPCs，以便为 JumpStart 模型部署和训练进行预填充。有关更多信息，请参阅[为 JumpStart 模型配置默认值](jumpstart-deploy.md#jumpstart-config-defaults)。

# 共享模式
<a name="jumpstart-share-models"></a>

**重要**  
截至 2023 年 11 月 30 日，之前的亚马逊 SageMaker Studio 体验现在被命名为 Amazon St SageMaker udio Classic。以下部分专门介绍如何使用 Studio Classic 应用程序。有关使用更新的 Studio 体验的信息，请参阅 [亚马逊 SageMaker Studio](studio-updated.md)。  
Studio Classic 仍针对现有工作负载进行维护，但不再可供入门使用。您只能停止或删除现有的 Studio Classic 应用程序，不能创建新的应用程序。我们建议您将[工作负载迁移到全新 Studio 体验](studio-updated-migrate.md)。

您可以按照以下步骤直接从已**启动的 JumpStart 资源**页面通过 Studio Classic 用户界面共享 JumpStart 模型：

1. 打开 Amazon SageMaker Studio Classic，然后在左侧导航窗格的**JumpStart**部分中选择已**启动的 JumpStart 资产**。

1. 选择**训练作业**选项卡以查看您的模型训练作业列表。

1. 在**训练作业**列表中，选择要共享的训练作业。随即打开训练作业详细信息页面。您一次仅能共享一个训练作业。

1. 在训练作业的标题中，选择**共享**，然后选择**与我的组织共享**。

有关与组织共享模型的更多信息，请参阅[共享模型和笔记本](jumpstart-content-sharing.md)。

# 共享模型和笔记本
<a name="jumpstart-content-sharing"></a>

**重要**  
截至 2023 年 11 月 30 日，之前的亚马逊 SageMaker Studio 体验现在被命名为 Amazon St SageMaker udio Classic。以下部分专门介绍如何使用 Studio Classic 应用程序。有关使用更新的 Studio 体验的信息，请参阅 [亚马逊 SageMaker Studio](studio-updated.md)。  
Studio Classic 仍针对现有工作负载进行维护，但不再可供入门使用。您只能停止或删除现有的 Studio Classic 应用程序，不能创建新的应用程序。我们建议您将[工作负载迁移到全新 Studio 体验](studio-updated-migrate.md)。

共享您的模型和笔记本，以集中管理模型构件，提高可发现性，并增加模型在组织内模型的重复使用。在共享模型时，您可以提供训练和推理环境信息，并允许协作者将这些环境用于自己的训练和推理作业。

您可以直接在 Amazon SageMaker Studio Classic 中集中搜索您共享的所有模型和与您共享的模型。有关登录 Amazon SageMaker Studio Classic 的入门步骤的信息，请参阅[加入亚马逊 A SageMaker I 域名](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-studio-onboard.html)。

**Topics**
+ [共享模型和笔记本](jumpstart-content-sharing-access.md)
+ [访问共享内容](jumpstart-content-sharing-access-filter.md)
+ [添加模型](jumpstart-content-sharing-add-model.md)

# 共享模型和笔记本
<a name="jumpstart-content-sharing-access"></a>

要共享模型和笔记本，请导航至 Amazon SageMaker Studio Classic 中的**共享**模型**部分，选择我的组织**共享，然后选择**添加**下拉列表。选择添加模型或添加笔记本。

![\[用于添加共享模型或笔记本的菜单 JumpStart。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/jumpstart/jumpstart-shared-models.png)


# 访问共享内容
<a name="jumpstart-content-sharing-access-filter"></a>

在 Amazon SageMaker Studio Classic 用户界面中，您可以访问共享内容并筛选所看到的内容。

有三个主要选项可用于筛选共享模型和笔记本：

1. **由我共享** — 您共享给的模型和笔记本 JumpStart。

1. **与我共享** – 与您共享的模型和笔记本

1. **由我的组织共享** – 与组织中的任何人共享的所有模型和笔记本

您还可以根据上次更新时间或者按字母顺序升序或降序对模型和笔记本进行排序。选择筛选条件图标 (![\[Funnel or filter icon representing data filtering or narrowing down options.\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/jumpstart/jumpstart-filter-icon.png)) 对您的选择进行进一步排序。

# 添加模型
<a name="jumpstart-content-sharing-add-model"></a>

要添加模型，请选择**由我的组织共享**，然后从**添加**下拉列表中选择**添加模型**。输入模型的基本信息，并添加要与协作者共享的任何训练或推理信息，以便训练或部署模型。输入所有必需信息后，选择屏幕右下角的**添加模型**。

**Topics**
+ [添加基本信息](jumpstart-content-sharing-info.md)
+ [启用训练](jumpstart-content-sharing-training.md)
+ [启用部署](jumpstart-content-sharing-deployment.md)
+ [添加笔记本](jumpstart-content-sharing-notebooks.md)

# 添加基本信息
<a name="jumpstart-content-sharing-info"></a>

在中添加模型 JumpStart 需要提供有关您要训练的模型的一些基本信息。这些信息有助于确定模型的特征和功能，并提高其可发现性和可搜索性。要创建新模型，请按照以下步骤操作：

1. 添加此模型的标题。添加标题后，系统会根据模型标题自动在 ID 字段中填充唯一标识符。

1. 添加模型的描述。

1. 从选项中选择一种数据类型：*文本*、*视觉*、*表格*或*音频*。

1. 从可用任务列表中选择机器学习任务，例如*图像分类*或*文本生成*。

1. 选择机器学习框架。

1. 添加带有关键字或短语的元数据信息，以便用于搜索模型。使用逗号分隔关键字。所有空格都将自动替换为逗号。

# 启用训练
<a name="jumpstart-content-sharing-training"></a>

添加要共享的模型时，您可以选择提供训练环境，并允许组织中的协作者训练共享的模型。

**注意**  
如果您要添加表格模型，则还需要指定列格式和目标列以启用训练。

提供模型的基本详细信息后，您需要配置用于训练模型的训练作业的设置。这包括指定容器环境、代码脚本、数据集、输出位置和其他各种参数，以控制训练作业的执行方式。要配置训练作业设置，请按照以下步骤操作：

1. 添加用于模型训练的容器。您可以选择用于现有训练作业的容器，将自己的容器带入 Amazon ECR，或者使用 Amazon SageMaker 深度学习容器。

1. 添加环境变量。

1. 提供训练脚本位置。

1. 提供脚本模式入口点。

1. 为训练期间生成的模型构件提供 Amazon S3 URI。

1. 向默认训练数据集提供 Amazon S3 URI。

1. 提供模型输出路径。模型输出路径应为训练生成的任何模型项目的 Amazon S3 URI 路径。 SageMaker AI 将模型工件作为单个压缩的 TAR 文件保存到 Amazon S3 中。

1. 提供验证数据集，用于在训练期间评估您的模型。验证数据集必须包含与训练数据集相同的列数和相同的特征标题。

1. 开启网络隔离。网络隔离可隔离模型容器，这样就无法通过模型容器进行入站或出站网络调用。

1. 提供培训渠道， SageMaker AI 可以通过这些渠道访问您的数据。例如，您可以指定名为 `train` 或 `test` 的输入通道。对于每个通道，请指定通道名称以及您数据位置的 URI。选择**浏览**以搜索 Amazon S3 位置。

1. 提供超参数。添加任意超参数，合作者在训练期间应使用这些参数进行实验。为这些超参数提供一系列有效值。此范围用于训练作业超参数验证。您可以根据超参数的数据类型定义范围。

1. 选择一个实例类型。对于大批量训练，建议使用具有更多内存的 GPU 实例。有关各AWS区域 SageMaker 训练实例的完整列表，请参阅 [Amazon Pricing 中的**按需 SageMaker 定价**表。](https://aws.amazon.com/sagemaker/pricing/)

1. 提供指标。通过为训练作业所监控的各个指标指定名称和正则表达式，定义训练作业的指标。设计正则表达式以捕获您的算法发出的指标值。例如，指标 `loss` 可以具有正则表达式 `"Loss =(.*?);"`。

# 启用部署
<a name="jumpstart-content-sharing-deployment"></a>

添加要共享的模型时，您可以选择提供推理环境，组织中的协作者可以在该环境中部署共享的模型用于推理。

训练完机器学习模型后，您需要将其部署到 Amazon A SageMaker I 终端节点进行推理。这包括提供容器环境、推理脚本、训练期间生成的模型构件，以及选择适当的计算实例类型。正确配置这些设置对于确保部署的模型能够进行准确预测和高效处理推理请求至关重要。要设置推理模型，请按照以下步骤操作：

1. 添加用于推理的容器。您可以将自己的容器带入 Amazon ECR，也可以使用亚马逊 SageMaker 深度学习容器。

1. 提供推理脚本的 Amazon S3 URI。自定义推理脚本在您选择的容器内运行。您的推理脚本应包括用于模型加载的函数，用于生成预测的可选函数，以及输入和输出处理。有关为所选框架创建推理脚本的更多信息，请参阅 SageMaker Python SDK 文档中的[框架](https://sagemaker.readthedocs.io/en/stable/frameworks/index.html)。例如 TensorFlow，请参阅[如何实现预 and/or 后处理处理程序。](https://sagemaker.readthedocs.io/en/stable/frameworks/tensorflow/deploying_tensorflow_serving.html#how-to-implement-the-pre-and-or-post-processing-handler-s)

1. 为模型构件提供 Amazon S3 URI。模型构件是训练模型得到的输出，通常由经过训练的参数、描述如何计算推理的模型定义以及其他元数据组成。如果您使用 SageMaker AI 训练模型，则模型工件将作为单个压缩的 TAR 文件保存在 Amazon S3 中。如果您在 SageMaker AI 之外训练模型，则需要创建这个压缩的 TAR 文件并将其保存在 Amazon S3 的位置。

1. 选择一个实例类型。对于大批量训练，建议使用具有更多内存的 GPU 实例。有关各AWS区域 SageMaker 训练实例的完整列表，请参阅 [Amazon Pricing 中的**按需 SageMaker 定价**](https://aws.amazon.com/sagemaker/pricing/)表。

# 添加笔记本
<a name="jumpstart-content-sharing-notebooks"></a>

要添加笔记本，请选择**由我的组织共享**，然后从**添加**下拉列表中选择**添加笔记本**。输入笔记本的基本信息，并提供该笔记本所在位置的 Amazon S3 URI。

首先，添加有关笔记本的基本描述性信息。这些信息用于提高笔记本的可搜索性。

1. 为此笔记本添加标题。添加标题后，系统会根据笔记本标题自动在 ID 字段中填充唯一标识符。

1. 添加笔记本的描述。

1. 从选项中选择一种数据类型：*文本*、*视觉*、*表格*或*音频*。

1. 从可用任务列表中选择 ML 任务，例如*图像分类*或*文本生成*。

1. 选择一个 ML 框架。

1. 添加带有关键字或短语的元数据信息，以便用于搜索笔记本。使用逗号分隔关键字。所有空格都将自动替换为逗号。

指定基本信息后，您可以提供笔记本所在位置的 Amazon S3 URI。您可以选择**浏览**，在 Amazon S3 存储桶中搜索笔记本文件的位置。找到笔记本后，复制 Amazon S3 URI，选择**取消**，然后将 Amazon S3 URI 添加到**笔记本位置**字段。

输入所有必需信息后，选择右下角的**添加笔记本**。

# End-to-end JumpStart 解决方案模板
<a name="jumpstart-solutions"></a>

**重要**  
截至 2023 年 11 月 30 日，之前的亚马逊 SageMaker Studio 体验现在被命名为 Amazon St SageMaker udio Classic。以下部分专门介绍如何使用 Studio Classic 应用程序。有关使用更新的 Studio 体验的信息，请参阅 [亚马逊 SageMaker Studio](studio-updated.md)。  
Studio Classic 仍针对现有工作负载进行维护，但不再可供入门使用。您只能停止或删除现有的 Studio Classic 应用程序，不能创建新的应用程序。我们建议您将[工作负载迁移到全新 Studio 体验](studio-updated-migrate.md)。

**注意**  
JumpStart 解决方案仅在 Studio 经典版中可用。

SageMaker JumpStart 提供一键式 end-to-end解决方案，旨在解决常见的机器学习用例。它们针对各自的领域使用成熟的算法，并提供完整的工作流程，通常包括数据处理、模型训练、部署、推理和监控。浏览以下使用案例，了解有关可用解决方案模板的更多信息。
+ [需求预测](#jumpstart-solutions-demand-forecasting)
+ [信用评级预测](#jumpstart-solutions-credit-prediction)
+ [欺诈侦测](#jumpstart-solutions-fraud-detection)
+ [计算机视觉](#jumpstart-solutions-computer-vision)
+ [从文档中提取和分析数据](#jumpstart-solutions-documents)
+ [预测性维护](#jumpstart-solutions-predictive-maintenance)
+ [流失预测](#jumpstart-solutions-churn-prediction)
+ [个性化推荐](#jumpstart-solutions-recommendations)
+ [强化学习](#jumpstart-solutions-reinforcement-learning)
+ [医疗保健与生命科学](#jumpstart-solutions-healthcare-life-sciences)
+ [财务定价](#jumpstart-solutions-financial-pricing)
+ [因果推理](#jumpstart-solutions-causal-inference)

从 JumpStart 登录页面中选择最适合您的用例的解决方案模板。选择解决方案模板后，会 JumpStart 打开一个显示解决方案描述的新选项卡和一个**启动**按钮。选择 **Launch** 后，将 JumpStart 创建运行解决方案所需的所有资源，包括训练和模型托管实例。有关启动 JumpStart 解决方案的更多信息，请参阅[启动解决方案](jumpstart-solutions-launch.md)。

启动解决方案后，您可以在中浏览解决方案功能和任何生成的工件 JumpStart。使用 “**已启动的 JumpStart 资产**” 菜单查找您的解决方案。在解决方案的选项卡中，选择**打开笔记本**以使用提供的笔记本并浏览解决方案的功能。由于构件是在启动期间或运行提供的笔记本之后生成的，因此它们在**生成的构件**表中列出。您可以使用垃圾桶图标 (![\[The trash icon for JumpStart.\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/jumpstart/jumpstart-trash.png)) 删除单独的构件。您可以通过选择**删除解决方案资源**来删除解决方案的所有资源。

## 需求预测
<a name="jumpstart-solutions-demand-forecasting"></a>

需求预测使用历史时间序列数据来对未来特定时期的客户需求进行估计，从而简化企业的供需决策流程。

需求预测使用案例包括预测交通行业的车票销售、股票价格、医院就诊次数、下个月在多个地点雇用的客户代表人数、下一季度多个地区的产品销售、第二天的视频流服务云服务器使用情况、下周多个地区的用电量、物联网设备和传感器（例如能耗）的数量等等。

时间序列数据分为*单变量*和*多变量*。例如，单个家庭的总用电量是一段时间内的单变量时间序列。当多个单变量时间序列相互堆叠时，它被称为多变量时间序列。例如，一个街区中 10 个不同（但相关）家庭的总用电量构成了一个多变量时间序列数据集。


| 解决方案名称  | 说明  | 开始使用  | 
| --- | --- | --- | 
| 需求预测  | [使用三 state-of-the-art种时间序列预测算法对多变量时间序列数据进行需求预测：[LSTNet](https://ts.gluon.ai/stable/api/gluonts/gluonts.mx.model.lstnet.html)、Prophet 和 AI [SageMaker Deepa](https://docs.aws.amazon.com/sagemaker/latest/dg/deepar.html) r。](https://facebook.github.io/prophet/) |  [GitHub »](https://github.com/awslabs/sagemaker-deep-demand-forecast)  | 

## 信用评级预测
<a name="jumpstart-solutions-credit-prediction"></a>

使用 JumpStart我们的信用评级预测解决方案来预测企业信用评级或解释机器学习模型做出的信用预测决策。与传统的信用评级建模方法相比，机器学习模型可以自动进行信用预测并提高其准确性。


| 解决方案名称  | 说明  | 开始使用  | 
| --- | --- | --- | 
| 企业信用评级预测  | [使用 AWS AutoGluon 表格进行多模态（长文本和表格）机器学习，用于高质量的信用预测。](https://auto.gluon.ai/scoredebugweight/tutorials/tabular_prediction/index.html) | [GitHub »](https://github.com/awslabs/sagemaker-corporate-credit-rating) | 
| 基于图形的信用评分  | 通过训练[图神经网络 GraphSage 和表格模型，使用 AWS[AutoGluon 表格](https://auto.gluon.ai/scoredebugweight/tutorials/tabular_prediction/index.html)数据和企业网络](https://cs.stanford.edu/people/jure/pubs/graphsage-nips17.pdf)预测企业信用评级。 | 在亚马逊 SageMaker Studio 经典版中查找。 | 
| 解释信用决策  | 使用 [LightGBM](https://lightgbm.readthedocs.io/en/latest/) 和S [HAP（SHapley加](https://shap.readthedocs.io/en/latest/index.html)法解释）预测信用申请中的信用违约并提供解释。 |  [GitHub »](https://github.com/awslabs/sagemaker-explaining-credit-decisions)  | 

## 欺诈侦测
<a name="jumpstart-solutions-fraud-detection"></a>

许多企业每年因欺诈损失数十亿美元。基于机器学习的欺诈检测模型有助于以系统化的方式，从海量数据中识别可能的欺诈活动。以下解决方案使用交易和用户身份数据集来识别欺诈性交易。


| 解决方案名称  | 说明  | 开始使用  | 
| --- | --- | --- | 
| 检测恶意用户和交易 | 使用具有过度采样技术[SageMaker 的人工智能](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html)自动检测交易中潜在 XGBoost的欺诈活动。[合成少数族裔过度采样](https://arxiv.org/abs/1106.1813) (SMOTE)。 |  [GitHub »](https://github.com/awslabs/fraud-detection-using-machine-learning)  | 
| 使用深度图形库检测金融交易中的欺诈行为 | 通过使用[深度图库](https://www.dgl.ai/)和[SageMaker 人工智能 XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html)模型训练[图形卷积网络](https://arxiv.org/pdf/1703.06103.pdf)，检测金融交易中的欺诈行为。 |  [GitHub »](https://github.com/awslabs/sagemaker-graph-fraud-detection)  | 
| 财务支付分类 | 使用 [SageMaker AI](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html) 根据交易信息对金融付款进行分类 XGBoost。使用此解决方案模板作为欺诈检测、个性化或异常检测的中间步骤。 |  在亚马逊 SageMaker Studio 经典版中查找。  | 

## 计算机视觉
<a name="jumpstart-solutions-computer-vision"></a>

随着自动驾驶汽车、智能视频监控、医疗保健监控和各种对象计数任务等业务使用案例的兴起，对快速、准确的对象检测系统的需求也在不断增加。这些系统不仅涉及识别和分类图像中的每个对象，还需要通过在图像周围绘制相应的边界框来定位每个对象。在过去的十年中，深度学习技术的飞速发展极大地加速了对象检测的进步。


| 解决方案名称  | 说明  | 开始使用  | 
| --- | --- | --- | 
| 视觉产品缺陷检测 | 通过[从头开始训练物体检测模型或微调预训练的 SageMaker AI 模型](https://ieeexplore.ieee.org/document/8709818)，识别产品图像中的缺陷区域。 |  [GitHub »](https://github.com/awslabs/sagemaker-defect-detection)  | 
| 手写识别  | 通过训练[对象检测模型](https://mxnet.apache.org/versions/1.0.0/api/python/gluon/model_zoo.html#mxnet.gluon.model_zoo.vision.resnet34_v1)和[手写识别模型](https://arxiv.org/abs/1910.00663)来识别映像中的手写文本。使用 G [SageMaker round Trut](https://aws.amazon.com/sagemaker/data-labeling/) h 标记你自己的数据。 | [GitHub »](https://github.com/awslabs/sagemaker-handwritten-text-recognition) | 
| 针对鸟类种类的对象检测 | 使用 [SageMaker AI 物体检测模型](https://docs.aws.amazon.com/sagemaker/latest/dg/object-detection.html)识别场景中的鸟类。 |  在亚马逊 SageMaker Studio 经典版中查找。  | 

## 从文档中提取和分析数据
<a name="jumpstart-solutions-documents"></a>

JumpStart 为您提供解决方案，让您在关键业务文档中发现宝贵的见解和联系。使用案例包括文本分类、文档摘要、手写识别、关系提取、问答以及填写表格记录中的缺失值。


| 解决方案名称  | 说明  | 开始使用  | 
| --- | --- | --- | 
| 情绪分类的隐私性  | [文本匿名化](https://www.amazon.science/blog/preserving-privacy-in-analyses-of-textual-data)，以便在情绪分类中更好地保护用户隐私。 |  [GitHub »](https://github.com/awslabs/sagemaker-privacy-for-nlp)  | 
| 文档理解 | 使用中的[转换器](https://huggingface.co/docs/transformers/index)库进行文档摘要、实体和关系提取。 PyTorch |  [GitHub »](https://github.com/awslabs/sagemaker-document-understanding)  | 
| 手写识别  | 通过训练[对象检测模型](https://mxnet.apache.org/versions/1.0.0/api/python/gluon/model_zoo.html#mxnet.gluon.model_zoo.vision.resnet34_v1)和[手写识别模型](https://arxiv.org/abs/1910.00663)来识别映像中的手写文本。使用 G [SageMaker round Trut](https://aws.amazon.com/sagemaker/data-labeling/) h 标记你自己的数据。 | [GitHub »](https://github.com/awslabs/sagemaker-handwritten-text-recognition) | 
| 填写表格记录中的缺失值  | 通过训练[SageMaker 自动驾驶](https://aws.amazon.com/sagemaker/autopilot/)模型，填充表格记录中的缺失值。 |  [GitHub »](https://github.com/awslabs/filling-in-missing-values-in-tabular-records)  | 

## 预测性维护
<a name="jumpstart-solutions-predictive-maintenance"></a>

预测性维护的目标是协调及时更换部件，从而在纠正性维护和预防性维护之间实现最佳的平衡。以下解决方案使用来自工业资产的传感器数据，预测机器故障、计划外停机时间和维修成本。


| 解决方案名称  | 说明  | 开始使用  | 
| --- | --- | --- | 
| 车队的预测性维护  | 通过卷积神经网络模型，使用车辆传感器信息和维护信息预测车队故障。 |  [GitHub »](https://github.com/awslabs/aws-fleet-predictive-maintenance/)  | 
| 制造业的预测性维护  | 使用历史传感器读数训练[堆叠式双向 LSTM 神经网络](https://arxiv.org/pdf/1801.02143.pdf)模型，预测每个传感器的剩余使用寿命。 |  [GitHub »](https://github.com/awslabs/predictive-maintenance-using-machine-learning)  | 

## 流失预测
<a name="jumpstart-solutions-churn-prediction"></a>

客户流失率是许多公司面临的代价高昂的问题。在减少客户流失的工作中，公司可以识别可能退出其服务的客户，以便将精力集中在客户保留上。使用 JumpStart流失预测解决方案来分析用户行为和客户支持聊天记录等数据源，以确定哪些客户面临取消订阅或服务的高风险。


| 解决方案名称  | 说明  | 开始使用  | 
| --- | --- | --- | 
| 使用文本预测流失  | 使用带有 B [ER](https://huggingface.co/) T 编码器的数字、分类和文本特征预测流失，以及. [RandomForestClassifier](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html)  |  [GitHub »](https://github.com/awslabs/sagemaker-churn-prediction-text)  | 
| 手机客户流失预测 | 使用 [SageMaker AI](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html) 识别不满意的手机客户 XGBoost。 |  在亚马逊 SageMaker Studio 经典版中查找。  | 

## 个性化推荐
<a name="jumpstart-solutions-recommendations"></a>

您可以使用 JumpStart 解决方案来分析客户身份图或用户会话，以更好地了解和预测客户行为。针对个性化推荐，使用以下解决方案，对客户在多台设备上的身份建模，确定客户购买的可能性，或者根据过去的客户行为创建自定义电影推荐程序。


| 解决方案名称  | 说明  | 开始使用  | 
| --- | --- | --- | 
| 使用深度图形库对身份图中的实体进行解析  | 通过使用[深度图形库](https://www.dgl.ai/)训练[图形卷积网络](https://arxiv.org/pdf/1703.06103.pdf)，为线上广告投放执行跨设备实体链接。 |  [GitHub »](https://github.com/awslabs/sagemaker-graph-entity-resolution)  | 
| 购买建模 | 通过训练 [SageMaker AI XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html) 模型来预测客户是否会进行购买。 |  [GitHub »](https://github.com/awslabs/sagemaker-purchase-modelling)  | 
| 自定义推荐系统 |  训练和部署自定义推荐系统，该系统使用 SageMaker 人工智能中的神经协作过滤根据过去的行为为客户生成电影建议。  |  在亚马逊 SageMaker Studio 经典版中查找。  | 

## 强化学习
<a name="jumpstart-solutions-reinforcement-learning"></a>

强化学习 (RL) 是一种基于与环境的交互进行学习的类型。这种类型的学习是由代理人使用的，该代理必须通过与动态环境的 trial-and-error互动来学习行为，在这种环境中，目标是最大限度地提高代理人因其行为而获得的长期回报。通过权衡具有不确定奖励的探索行为与具有已知奖励的探索行为，实现奖励最大化。

RL 非常适合解决大型复杂问题，例如供应链管理、HVAC 系统、工业机器人、游戏人工智能、对话系统和自动驾驶汽车。


| 解决方案名称  | 说明  | 开始使用  | 
| --- | --- | --- | 
| 适用于 Battlesnake AI 竞赛的强化学习  | 通过[BattleSnake](https://play.battlesnake.com/)人工智能竞赛为训练和推理提供强化学习工作流程。 |  [GitHub »](https://github.com/awslabs/sagemaker-battlesnake-ai)  | 
| 适用于 Procgen 挑战的分布式强化学习  | 适用于 [NeurIPS 2020 Procgen](https://www.aicrowd.com/challenges/neurips-2020-procgen-competition) 强化学习挑战的分布式强化学习入门套件。 | [GitHub »](https://github.com/aws-samples/sagemaker-rl-procgen-ray) | 

## 医疗保健与生命科学
<a name="jumpstart-solutions-healthcare-life-sciences"></a>

临床医生和研究人员可以使用 JumpStart 解决方案来分析医学影像、基因组信息和临床健康记录。


| 解决方案名称  | 说明  | 开始使用  | 
| --- | --- | --- | 
| 肺癌存活率预测 | [使用 AI 通过三维肺部计算机断层扫描 (CT) 扫描、基因组数据和临床健康记录，预测非小细胞肺癌患者的存活状态。SageMaker XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html) |  [GitHub »](https://github.com/aws-samples/machine-learning-pipelines-for-multimodal-health-data/tree/sagemaker-soln-lcsp)  | 

## 财务定价
<a name="jumpstart-solutions-financial-pricing"></a>

许多企业定期动态调整定价，以尽可能地提高回报。使用以下 JumpStart 解决方案进行价格优化、动态定价、期权定价或投资组合优化用例。


| 解决方案名称  | 说明  | 开始使用  | 
| --- | --- | --- | 
| 价格优化 |  使用双重机器学习 (ML)（用于因果推断）和 [Prophet](https://facebook.github.io/prophet/) 预测程序估算价格弹性。使用这些估算值来优化每日价格。  |  在亚马逊 SageMaker Studio 经典版中查找。  | 

## 因果推理
<a name="jumpstart-solutions-causal-inference"></a>

研究人员可以使用贝叶斯网络等机器学习模型来表示因果依赖关系，并根据数据得出因果结论。使用以下 JumpStart解决方案来了解氮基肥料施用与玉米作物产量之间的因果关系。


| 解决方案名称  | 说明  | 开始使用  | 
| --- | --- | --- | 
| 作物产量反设事实 |  对玉米对氮肥的反应进行反设事实分析。该解决方案使用多光谱卫星图像和[地面观测数据](https://www.sciencedirect.com/science/article/pii/S2352340921010283#tbl0001)来全面了解作物物候周期。  |  在亚马逊 SageMaker Studio 经典版中查找。  | 

# 启动解决方案
<a name="jumpstart-solutions-launch"></a>

**重要**  
截至 2023 年 11 月 30 日，之前的亚马逊 SageMaker Studio 体验现在被命名为 Amazon St SageMaker udio Classic。以下部分专门介绍如何使用 Studio Classic 应用程序。有关使用更新的 Studio 体验的信息，请参阅 [亚马逊 SageMaker Studio](studio-updated.md)。  
Studio Classic 仍针对现有工作负载进行维护，但不再可供入门使用。您只能停止或删除现有的 Studio Classic 应用程序，不能创建新的应用程序。我们建议您将[工作负载迁移到全新 Studio 体验](studio-updated-migrate.md)。

**注意**  
JumpStart 解决方案仅在 Studio 经典版中可用。

首先，通过 Amazon SageMaker Studio Classic 用户界面的 SageMaker JumpStart 登录页面选择解决方案。有关登录 Amazon SageMaker Studio Classic 的入门步骤的信息，请参阅登录 [Amazon A SageMaker I 域](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-studio-onboard.html)。有关访问 SageMaker JumpStart 登录页面的详细信息，请参阅[JumpStart 在 Studio 经典版中打开并使用](studio-jumpstart.md#jumpstart-open-use)。

在您选择解决方案后，将打开解决方案的选项卡，其中显示解决方案的描述和一个 `Launch` 按钮。要启动解决方案，请`Launch`在 “**启动解决方案**” 部分中选择。 JumpStart 然后创建运行解决方案所需的所有资源。这包括训练和模型托管实例。

## 高级参数
<a name="jumpstart-solutions-config"></a>

您选择的解决方案可能会有可供选择的高级参数。选择 “**高级参数**” 以指定解决方案的 AWS Identity and Access Management 角色。

解决方案能够跨9个相互交互的 AWS 服务启动资源。要使解决方案按预期运行，在一项服务中新创建的组件，必须能够对在另一项服务中的新创建的组件执行操作。建议您使用默认 IAM 角色来确保添加了所有必需的权限。有关 IAM 角色的更多信息，请参阅 [AWS Identity and Access Management 适用于亚马逊 A SageMaker I](security-iam.md)。

**Default IAM role**（原定设置 IAM 角色）

如果您选择此选项，则使用此解决方案所需的默认 IAM 角色。每种解决方案都需要不同的资源。以下列表根据所需的服务，描述了用于解决方案的默认角色。有关每项服务所需权限的说明，请参阅[AWS SageMaker 项目管理策略和 JumpStart](security-iam-awsmanpol-sc.md)。
+ **API Gateway** — AmazonSageMakerServiceCatalogProductsApiGatewayRole 
+ **CloudFormation** – AmazonSageMakerServiceCatalogProductsCloudformationRole
+ **CodeBuild** – AmazonSageMakerServiceCatalogProductsCodeBuildRole 
+ **CodePipeline** – AmazonSageMakerServiceCatalogProductsCodePipelineRole
+ **事件** – AmazonSageMakerServiceCatalogProductsEventsRole
+ **Firehose** – AmazonSageMakerServiceCatalogProductsFirehoseRole
+ **Glu** e — AmazonSageMakerServiceCatalogProductsGlueRole
+ **Lambda** – AmazonSageMakerServiceCatalogProductsLambdaRole
+ **SageMaker 人工智能** — AmazonSageMakerServiceCatalogProductsExecutionRole 

如果您使用的是启用了 JumpStart 项目模板的新 SageMaker AI 域，则会在您的账户中自动创建这些角色。

如果您使用的是现有的 SageMaker AI 域，则您的账户中可能不存在这些角色。在这种情况下，启动解决方案时您将收到以下错误。

```
Unable to locate the updated roles required to launch this solution, a general role '/service-role/AmazonSageMakerServiceCatalogProductsUseRole' will be used. Please update your studio domain to generate these roles.
```

您仍然可以在没有所需角色的情况下启动解决方案，但会使用旧的默认角色 `AmazonSageMakerServiceCatalogProductsUseRole` 代替所需的角色。传统默认角色与 JumpStart 解决方案需要与之交互的所有服务都有信任关系。为了获得最佳安全性，我们建议您更新域名，为每项 AWS 服务设置新创建的默认角色。

如果您已经加入 A SageMaker I 域，则可以使用以下步骤更新您的域以生成默认角色。

1. 打开 Amazon A SageMaker I 控制台，网址为[https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)。

1. 选择页面左上角的**控制面板**。

1. 在**域**页面中，选择**设置**图标 (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/icons/Settings_squid.png)) 以编辑域设置。

1. 在**常规设置**上选择**下一步**。

1. 在 “**SageMaker 项目和**” 下 JumpStart，选择 “** SageMaker JumpStart 为此账户启用亚马逊 SageMaker 项目模板和亚马逊**” 和 “为 **Studio Classic 用户启用亚马逊 SageMaker 项目模板和亚马逊 SageMaker JumpStart **”，选择 “**下一步**”。

1. 选择**提交**。

您应该能够在 “**应用程序-Studio**” 选项卡下的 “**项目-为该账户启用的亚马逊 SageMaker项目模板**” 中看到列出的默认角色。

**查找 IAM 角色**

如果您选择此选项，则必须从下拉列表中为每项必需的服务选择一个现有 IAM 角色。所选角色必须至少具有相应服务所需的最低权限。有关每项服务所需权限的说明，请参阅[AWS SageMaker 项目管理策略和 JumpStart](security-iam-awsmanpol-sc.md)。

**输入 IAM 角色**

如果您选择此选项，则必须手动输入现有 IAM 角色的 ARN。所选角色必须至少具有相应服务所需的最低权限。有关每项服务所需权限的说明，请参阅[AWS SageMaker 项目管理策略和 JumpStart](security-iam-awsmanpol-sc.md)。

# 亚马逊 SageMaker JumpStart 行业：金融
<a name="studio-jumpstart-industry"></a>

使用 “ SageMaker JumpStart 行业：金融解决方案”、模型和示例笔记本，通过精心策划的一步式解决方案和以行业为重点的机器学习 (ML) 问题的示例笔记本来了解 SageMaker AI 的特性和功能。笔记本还介绍了如何使用 SageMaker JumpStart 行业 Python SDK 来增强行业文本数据和微调预训练模型。

**Topics**
+ [亚马逊 SageMaker JumpStart 行业 Python SDK](#studio-jumpstart-industry-pysdk)
+ [亚马逊 SageMaker JumpStart 行业：财务解决方案](#studio-jumpstart-industry-solutions)
+ [亚马逊 SageMaker JumpStart 行业：财务模型](#studio-jumpstart-industry-models)
+ [Amazon SageMaker JumpStart 行业：财务示例笔记本](#studio-jumpstart-industry-examples)
+ [亚马逊 SageMaker JumpStart 行业：金融博客文章](#studio-jumpstart-industry-blogs)
+ [亚马逊 SageMaker JumpStart 行业：金融相关研究](#studio-jumpstart-industry-research)
+ [亚马逊 SageMaker JumpStart 行业：其他财务资源](#studio-jumpstart-industry-resources)

## 亚马逊 SageMaker JumpStart 行业 Python SDK
<a name="studio-jumpstart-industry-pysdk"></a>

SageMaker Runtime 通过其名为 Industry SageMaker JumpStart Python SDK 的客户端库 JumpStart 提供了用于整理行业数据集和微调预训练模型的处理工具。如需详细了解 SDK 的 API 文档，以及有关处理和增强行业文本数据集以提高 state-of-the-art模型性能的更多信息 SageMaker JumpStart，请参阅 Industry [Python SDK 开源文档](https://sagemaker-jumpstart-industry-pack.readthedocs.io)。SageMaker JumpStart

## 亚马逊 SageMaker JumpStart 行业：财务解决方案
<a name="studio-jumpstart-industry-solutions"></a>

SageMaker JumpStart 行业：Financial 提供以下解决方案笔记本：
+ **企业信用评级预测**

本 SageMaker JumpStart 行业：金融解决方案为文本增强型企业信用评级模型提供了模板。它展示了如何根据数字特征（在本例中为 Altman 著名的 5 个财务比率）与 SEC 申报文件中的文本相结合的模型，来改善信用评级的预测。除了 5 个 Altman 比率之外，您还可以根据需要添加更多变量或设置自定义变量。本解决方案笔记本展示了 Industr SageMaker JumpStart y Python SDK 如何帮助处理美国证券交易委员会文件中文本的自然语言处理 (NLP) 评分。此外，该解决方案还演示了如何使用增强的数据集训练模型以实现 best-in-class模型，将模型部署到 SageMaker 人工智能端点进行生产，以及如何实时接收改进的预测。
+ **基于图形的信用评分**

传统上，信用评级是通过使用财务报表数据和市场数据的模型生成的，这些数据仅为表格数据（数字和类别）。该解决方案使用 [SEC 申报文件](https://www.sec.gov/edgar/searchedgar/companysearch.html)构建了一个公司网络，并展示了如何通过表格数据使用公司关系网络来生成准确的评级预测。该解决方案演示了一种方法，使用公司关联数据，将基于表格的传统信用评分模型（已在评级行业中使用了数十年），扩展到网络上的机器学习模型类别。

**注意**  
解决方案笔记本仅用于演示目的。不应将其作为财务或投资建议。

您可以通过 Studio Classic 中的 SageMaker JumpStart 页面找到这些金融服务解决方案。

**重要**  
截至 2023 年 11 月 30 日，之前的亚马逊 SageMaker Studio 体验现在被命名为 Amazon St SageMaker udio Classic。以下部分专门介绍如何使用 Studio Classic 应用程序。有关使用更新的 Studio 体验的信息，请参阅 [亚马逊 SageMaker Studio](studio-updated.md)。  
Studio Classic 仍针对现有工作负载进行维护，但不再可供入门使用。您只能停止或删除现有的 Studio Classic 应用程序，不能创建新的应用程序。我们建议您将[工作负载迁移到全新 Studio 体验](studio-updated-migrate.md)。

**注意**  
 SageMaker JumpStart 行业：财务解决方案、模型卡和示例笔记本只能通过 SageMaker Studio Classic 托管和运行。登录 [SageMaker AI 控制台](https://console.aws.amazon.com/sagemaker)，然后启动 SageMaker Studio Classic。有关如何查找解决方案卡片的更多信息，请参阅上一个主题[SageMaker JumpStart](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-jumpstart.html)。

## 亚马逊 SageMaker JumpStart 行业：财务模型
<a name="studio-jumpstart-industry-models"></a>

SageMaker JumpStart 行业：Financial 提供了以下经过预训练的[稳健优化的 BERT 方法 (RoBERTa) 模型](https://arxiv.org/pdf/1907.11692.pdf)：
+ **财务文本嵌入（Ro BERTa-sec-base）**
+ **RoBERTa-SEC-WIKI-Base **
+ **RoBERTa-SEC-Large **
+ **RoBERTa-SEC-WIKI-Large **

 RoBERTa-SEC-Base和 RoBERTa-SEC-Large模型是基于 [GluonNLP的Ro模型的文本嵌入BERTa 模型](https://nlp.gluon.ai/api/model.html#gluonnlp.model.RoBERTaModel)，并根据标准普尔500指数美国证券交易委员会2010年十年（从2010年到2019年）的10-K/10-Q报告进行了预训练。除此之外， SageMaker AI Industr JumpStart y：Financial还提供了另外两个Ro BERTa 变体 RoBERTa-SEC-WIKI-Large， RoBERTa-SEC-WIKI-Base并根据美国证券交易委员会的文件和维基百科的常用文本进行了预先训练。

导航到 “文本模型” 节点，选择 “**浏览所有**文本模型**”，然后筛选 “机器学习任务**文本嵌入**”，即可在中找到这些模型**。 SageMaker JumpStart 选择所选模型后，您可以访问任何对应的笔记本。配对的笔记本将引导您了解如何针对多模态数据集上的特定分类任务对预训练模型进行微调，Industry SageMaker JumpStart Python SDK 增强了这些任务。

**注意**  
模型笔记本仅用于演示目的。不应将其作为财务或投资建议。

以下屏幕截图显示了通过 Studio Classic 上的 SageMaker AI JumpStart 页面提供的预训练模型卡片。

![\[通过 Studio Classic 上的 SageMaker AI JumpStart 页面提供的预训练模型卡片。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/jumpstart/jumpstart-finance-models.png)


**注意**  
 SageMaker JumpStart 行业：财务解决方案、模型卡和示例笔记本只能通过 SageMaker Studio Classic 托管和运行。登录 [SageMaker AI 控制台](https://console.aws.amazon.com/sagemaker)，然后启动 SageMaker Studio Classic。有关如何查找模型卡片的更多信息，请参阅上一个主题，网址为[SageMaker JumpStart](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-jumpstart.html)。

## Amazon SageMaker JumpStart 行业：财务示例笔记本
<a name="studio-jumpstart-industry-examples"></a>

SageMaker JumpStart Industry: Financial 提供了以下示例笔记本来演示以行业为重点的机器学习问题的解决方案：
+ **财务 TabText 数据构建** — 此示例介绍如何使用 SageMaker JumpStart 行业 Python SDK 来处理美国证券交易委员会的文件，例如基于自然语言处理分数类型及其相应单词列表的文本摘要和评分文本。要预览此笔记本的内容，请参阅[根据 SEC 申报文件的多模式数据集和 NLP 分数简单地进行构建](https://sagemaker-jumpstart-industry-pack.readthedocs.io/en/latest/notebooks/finance/notebook1/SEC_Retrieval_Summarizer_Scoring.html)。
+ **基于 TabText 数据的多模态机器学习** — 此示例说明如何将不同类型的数据集合并到一个名为多模态机器学习的数据框中 TabText 并执行多模态机器学习。要预览本笔记本的内容，请参阅 M [achine Learning on a TabText DataFrame — 基于薪资保护计划的示例](https://sagemaker-jumpstart-industry-pack.readthedocs.io/en/latest/notebooks/finance/notebook2/PPP_TabText_ML.html)。
+ **美国证券交易委员会申报数据的多类别机器学习** — 此示例显示了如何根据美国证券交易委员会申报为多类分类任务整理的多模式 (TabText) 数据集训练 AutoGluon 自然语言处理模型。[根据 MDNA 文本列将 SEC 10K/Q 身份文件按行业代码分类](https://sagemaker-jumpstart-industry-pack.readthedocs.io/en/latest/notebooks/finance/notebook3/SEC_MNIST_ML.html)。

**注意**  
示例笔记本仅用于演示目的。不应将其作为财务或投资建议。

**注意**  
 SageMaker JumpStart 行业：财务解决方案、模型卡和示例笔记本只能通过 SageMaker Studio Classic 托管和运行。登录 [SageMaker AI 控制台](https://console.aws.amazon.com/sagemaker)，然后启动 SageMaker Studio Classic。有关如何查找示例笔记本的更多信息，请参阅上一个主题，网址为[SageMaker JumpStart](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-jumpstart.html)。

要预览示例笔记本的内容，请参阅[教程 — SageMaker JumpStart 行业财务](https://sagemaker-jumpstart-industry-pack.readthedocs.io/en/latest/notebooks/index.html) *Python SDK 文档*。

## 亚马逊 SageMaker JumpStart 行业：金融博客文章
<a name="studio-jumpstart-industry-blogs"></a>

有关使用 “ SageMaker JumpStart 行业：财务解决方案”、模型、示例和 SDK 的完整应用，请参阅以下博客文章：
+ [在 Amazon 中使用预先训练的金融语言模型进行迁移学习 SageMaker JumpStart](https://aws.amazon.com/blogs/machine-learning/use-pre-trained-financial-language-models-for-transfer-learning-in-amazon-sagemaker-jumpstart/)
+ [在 Amazon 中使用多模式机器学习使用美国证券交易委员会文本进行评级分类 SageMaker JumpStart](https://aws.amazon.com/blogs/machine-learning/use-sec-text-for-ratings-classification-using-multimodal-ml-in-amazon-sagemaker-jumpstart/)
+ [在 Amazon 中为财务 NLP 创建包含美国证券交易委员会文本的控制面板 SageMaker JumpStart](https://aws.amazon.com/blogs/machine-learning/create-a-dashboard-with-sec-text-for-financial-nlp-in-amazon-sagemaker-jumpstart/)
+ [在 Amazon 中使用图形机器学习构建企业信用评级分类器 SageMaker JumpStart](https://aws.amazon.com/blogs/machine-learning/build-a-corporate-credit-ratings-classifier-using-graph-machine-learning-in-amazon-sagemaker-jumpstart/)
+ [根据财务数据在 Amazon 中对基础模型进行域自适应微调 SageMaker JumpStart ](https://aws.amazon.com/blogs/machine-learning/domain-adaptation-fine-tuning-of-foundation-models-in-amazon-sagemaker-jumpstart-on-financial-data/)

## 亚马逊 SageMaker JumpStart 行业：金融相关研究
<a name="studio-jumpstart-industry-research"></a>

有关 “ SageMaker JumpStart 工业：金融解决方案” 的研究，请参阅以下论文：
+ [金融业中的情境、语言建模和多模式数据](https://www.pm-research.com/content/iijjfds/3/3/52)
+ [用于信用建模的多模式机器学习](https://www.amazon.science/publications/multimodal-machine-learning-for-credit-modeling)
+ [论神经文本分类器缺乏稳健可解释性](https://www.amazon.science/publications/on-the-lack-of-robust-interpretability-of-neural-text-classifiers)
+ [FinLex: 有效使用词汇嵌入生成金融词典](https://www.sciencedirect.com/science/article/pii/S2405918821000131)

## 亚马逊 SageMaker JumpStart 行业：其他财务资源
<a name="studio-jumpstart-industry-resources"></a>

有关其他文档和教程，请参阅以下资源：
+ [ SageMaker JumpStart 行业：金融 Python 软件开发工具包](https://pypi.org/project/smjsindustry/)
+ [SageMaker JumpStart 行业：金融 Python 软件开发工具包教程](https://sagemaker-jumpstart-industry-pack.readthedocs.io/en/latest/notebooks/index.html#)
+ [ SageMaker JumpStart 行业：财务 GitHub 存储库](https://github.com/aws/sagemaker-jumpstart-industry-pack/)
+ [Amazon A SageMaker I 入门——Machine Learning 教程](https://aws.amazon.com/sagemaker/getting-started/)