创建你的 Amazon SageMaker AI 资源 - AWS Marketplace

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

创建你的 Amazon SageMaker AI 资源

要发布模型包或算法产品,您必须在 Amazon A SageMaker I 中创建相应的模型包资源或算法资源。在为 AWS Marketplace 产品创建资源时,必须通过验证步骤对其进行认证。验证步骤要求您在发布模型包或算法资源之前提供数据对其进行测试。以下各节介绍如何创建 A SageMaker I 资源,包括模型包资源或算法资源。这包括设置验证规范,告诉 SageMaker AI 如何执行验证。

注意

如果您尚未为产品创建映像并将其上传到 Amazon Elastic Container Registry (Amazon ECR),请参阅将您的代码打包成图像以供机器学习产品使用 AWS Marketplace将映像上传到 Amazon Elastic Container Registry,了解有关如何操作的信息。

创建模型包

以下是为 AWS Marketplace创建模型包的要求:

  • 存储在 Amazon ECR 中的推理映像

  • (可选)模型构件,单独存储在 Amazon S3

  • 您用于推理的测试数据,存储在 Amazon Simple Storage Service (Amazon S3) 中

注意

以下是关于创建模型包产品的信息。有关 SageMaker AI 中模型包的更多信息,请参阅创建模型包资源

创建模型包资源

以下过程将引导您完成模型包资源的创建。

第 1 步:创建模型包资源
  1. 打开亚马逊 A SageMaker I 控制台

  2. 请查看页面的右上角,确保您位于要发布的 AWS 区域。有关发布的信息,请参阅AWS 区域 支持发布部分。您在之前的步骤中上传到 Amazon ECR 的推理映像必须位于同一区域。

  3. 在左侧导航菜单中,选择模型包

  4. 选择创建模型包

创建包后,您需要设置推理包的规格。

步骤 2:设置推理规格
  1. 为您的模型包提供一个名称(例如,my-model-package)。

  2. 对于推理映像的位置,请输入上传到 Amazon ECR 的推理映像的 URI。您可以通过在 Amazon ECR 控制台中找到您的映像来检索 URI。

  3. 如果训练模型构件与推理映像中的逻辑捆绑在一起,请将模型数据构件的位置留空。否则,请指定模型构件压缩文件 (.tar.gz) 的完整 Amazon S3 位置。

  4. 使用下拉框为实时推理(也称为端点)和批量转换作业选择推理映像支持的实例类型。

  5. 选择下一步

在创建和发布模型包之前,必须进行验证以确保其按预期运行。这要求您使用您提供的用于推理的测试数据运行批处理转换作业。验证规范告诉 SageMaker AI 如何执行验证。

步骤 3:设置验证规格
  1. 发布此模型包设置为 AWS Marketplace。如果您将其设置为,则以后将无法发布此模型包。选择 “是” 将对您的模型包进行认证, AWS Marketplace 并且需要执行验证步骤。

  2. 如果这是首次完成此过程,请选择为 IAM 角色创建新角色。Amazon SageMaker AI 在部署您的模型包时会使用此角色。这包括一些操作,例如从 Amazon ECR 中拉取映像和从 Amazon S3 拉取构件。查看设置,然后选择创建角色。 在此处创建角色会 AmazonSageMakerFullAccess将 IAM 策略描述的权限授予您创建的角色。

  3. 在验证配置文件中编辑 JSON。 有关允许值的详细信息,请参阅TransformJobDefinition

    1. TransformInput.DataSource.S3Uri:设置为用于推理的测试数据的存储位置。

    2. TransformInput.ContentType:指定您的测试数据内容类型(例如application/jsontext/plainimage/png 、或任何其他值)。 SageMaker AI 不验证实际的输入数据。此值将在 Content-type 头值中传递到您的容器 HTTP 端点。

    3. TransformInput.CompressionType:如果您在 Amazon S3 中用于推理的测试数据未压缩,则设置为 None

    4. TransformInput.SplitType:设置为 None 以将 Amazon S3 中的每个对象作为一个整体传递以供推理。

    5. TransformOutput.S3OutputPath:设置为推理输出的存储位置。

    6. TransformOutput.AssembleWith:设置为 None 以将每个推理作为单独的对象输出到 Amazon S3 中。

  4. 选择创建模型包

SageMaker AI 从 Amazon ECR 中提取推理图像,将所有工件复制到推理容器,然后使用您的测试数据运行批量转换任务进行推理。验证成功后,状态将更改为已完成

注意

验证步骤不会使用您的测试数据来评估模型的准确性。验证步骤检查容器是否按预期运行和响应。

您已完成模型产品资源的创建。继续在 AWS Marketplace中发布产品

创建算法

以下是在 AWS Marketplace中创建算法的要求:

  • 存储在 Amazon ECR 中的推理映像

  • 存储在 Amazon ECR 中的训练映像

  • 用于训练的测试数据,存储在 Amazon S3 中

  • 用于推理的测试数据,存储在 Amazon S3 中

注意

以下演练创建了一个算法产品。有关更多信息,请参阅创建算法资源

创建算法资源

以下过程将引导您完成在算法包中创建资源的过程。

步骤 1:创建算法资源
  1. 打开亚马逊 A SageMaker I 控制台

  2. 查看页面的右上角,确保您位于要发布的 AWS 区域(请参阅AWS 区域 支持发布)。您在之前的步骤中上传到 Amazon ECR 的训练和推理映像必须位于同一区域。

  3. 在左导航窗格中,选择算法

  4. 选择创建算法

创建算法包后,必须为模型的训练和调整设置规格。

第 2 步:设置训练和调整规格
  1. 输入算法的名称(例如,my-algorithm)。

  2. 对于训练映像,请粘贴上传到 Amazon ECR 的训练映像的完整 URI 位置。您可以通过在 Amazon ECR 控制台中找到您的映像来检索 URI。

  3. 使用下拉框选择您的训练映像支持的训练实例类型

  4. 渠道规格部分下,为算法支持的每个输入数据集添加一个渠道,最多可添加 20 个渠道的输入源。(有关更多信息,请参阅输入数据配置。)

  5. 选择下一步

  6. 如果您的算法支持超参数和超参数调整,则必须指定调整参数。

  7. 选择下一步

注意

我们强烈建议您的算法支持超参数调整并使适当的参数可调。这使数据科学家能够调整模型以获得最佳结果。

设置调整参数(如果有)后,必须为推理映像设置规格。

步骤 3:设置推理映像规格
  1. 对于推理映像的位置,请粘贴上传到 Amazon ECR 的推理映像的 URI。您可以通过在 Amazon ECR 控制台中找到您的映像来检索 URI。

  2. 使用下拉框为实时推理(也称为端点)和批量转换作业选择推理映像支持的实例类型。

  3. 选择下一步

在创建和发布算法之前,必须进行验证以确保算法按预期运行。这要求您同时运行包含用于训练的测试数据的训练作业,以及使用您提供的用于推理的测试数据的批量转换作业。验证规范告诉 SageMaker AI 如何执行验证。

步骤 4:设置验证规格
  1. 发布此算法设置 AWS Marketplace为。如果将其设置为,则以后将无法发布此算法。选择 “是”验证您的算法, AWS Marketplace 并且需要验证规范。

  2. 如果这是您第一次为其创建机器学习包 AWS Marketplace,请选择为 IAM 角色创建新角色。Amazon SageMaker AI 在训练您的算法和部署后续模型包时使用此角色。这包括从 Amazon ECR 拉取映像、在 Amazon S3 中存储构件以及从 Amazon S3 复制训练数据等操作。查看设置,然后选择创建角色。 在此处创建角色会 AmazonSageMakerFullAccess将 IAM 策略描述的权限授予您创建的角色。

  3. 编辑训练作业定义的验证配置文件中的 JSON 文件。有关允许值的更多信息,请参阅 TrainingJobDefinition

    1. InputDataConfig:在此 JSON 数组中,为您在训练规格步骤中指定的每个渠道添加一个渠道对象。对于每个渠道,指定用于训练的测试数据的存储位置。

    2. OutputDataConfig:训练完成后,训练容器目录路径 /opt/ml/model/ 中的模型构件会被压缩并复制到 Amazon S3。指定存储压缩文件 (.tar.gz) 的 Amazon S3 位置。

  4. 编辑转换作业定义的验证配置文件中的 JSON 文件。有关允许值的更多信息,请参阅 TransformJobDefinition

    1. TransformInput.DataSource.S3Uri:设置为用于推理的测试数据的存储位置。

    2. TransformInput.ContentType:指定您的测试数据内容类型。例如,application/jsontext/plainimage/png 或任何其他值。Amazon SageMaker AI 不会验证实际的输入数据。此值将在 Content-type 头值中传递到您的容器 HTTP 端点。

    3. TransformInput.CompressionType:如果您在 Amazon S3 中用于推理的测试数据未压缩,则设置为 None

    4. TransformInput.SplitType:选择您希望在 S3 中拆分对象的方式。例如,None 将 Amazon S3 中的每个对象作为一个整体传递以进行推理。如需了解更多详情,请参阅 SplitType《亚马逊 AI AP SageMaker I 参考》。

    5. TransformOutput.S3OutputPath:设置为推理输出的存储位置。

    6. TransformOutput.AssembleWith:设置为 None 以将每个推理作为单独的对象输出到 Amazon S3 中。

  5. 选择创建算法包

SageMaker AI 从 Amazon ECR 中提取训练图像,使用您的数据运行测试训练作业,并将模型工件存储在 Amazon S3 中。然后,它从 Amazon ECR 中拉取推理映像,将构件从 Amazon S3 复制到推理容器中,然后使用您的测试数据运行批量转换作业进行推理。验证成功后,状态将更改为已完成

注意

验证步骤不会使用您的测试数据来评估训练或模型的准确性。验证步骤检查容器是否按预期运行和响应。

验证步骤仅验证批处理。由您来验证实时处理是否适用于您的产品。

您已完成算法产品资源的创建。继续在 AWS Marketplace中发布产品