创建模型包资源 - Amazon SageMaker
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

创建模型包资源

要创建可用于在 Amazon SageMaker 中创建可部署模型并在 AWS Marketplace 上发布的模型包资源,请指定以下信息:

  • 包含推理代码或已用于训练模型的算法资源的 Docker 容器。

  • 模型构件的位置。模型构件既可以打包在与推理代码相同的 Docker 容器中,也可以存储在 Amazon S3 中。

  • 模型包支持的用于实时推理和批量转换作业的实例类型。

  • 验证配置文件,它们是 SageMaker 为测试模型包的推理代码而运行的批量转换作业。

    在 AWS Marketplace 上列出模型包之前,您必须先对其进行验证。这确保买家和卖家可以确信产品适用于Amazon SageMaker。您只有在验证成功后,才能在 AWS Marketplace 上列出产品。

    验证过程使用您的验证配置文件和示例数据来运行以下验证任务:

    1. 使用模型包的推理映像和存储在 Amazon S3 中的可选模型构件,在您的账户中创建模型。

      注意

      模型包特定于创建它时所在的区域。存储模型构件的 S3 存储桶必须位于您创建模型包的区域内。

    2. 使用该模型在您的账户中创建一个转换作业,验证您的推理镜像是否适用于 SageMaker。

    3. 创建验证配置文件。

    注意

    在验证配置文件中,仅提供您希望公开的数据。

    验证可能需要几个小时。要查看账户中作业的状态,请在 SageMaker 控制台中,查看 Transform jobs (转换作业) 页面。如果验证失败,您可以从 SageMaker 控制台访问扫描和验证报告。修复问题后,请重新创建算法。当算法的状态为 COMPLETED 时,在 SageMaker 控制台中找到它并启动列出过程

    注意

    要在 AWS Marketplace 上发布您的模型包,至少需要一个验证配置文件。

您可以通过使用 SageMaker 控制台或 SageMaker API 创建模型包。

创建模型包资源(控制台)

要在 SageMaker 控制台中创建模型包,请执行以下操作:

  1. https://console.aws.amazon.com/sagemaker/ 打开 SageMaker 控制台。

  2. 选择 Model packages (模型包),然后选择 Create model package (创建模型包)

  3. Inference specifications (推理规范) 页面上,提供以下信息:

    1. 对于 Model package name (模型包名称),键入您的模型包的名称。模型包名称在您的账户和 AWS 区域中必须是唯一的。名称必须具有 1 到 64 个字符。有效字符为 a-z、A-Z、0-9 和 -(连字符)。

    2. 键入模型包的描述。此描述将显示在 SageMaker 控制台和 AWS Marketplace 中。

    3. 对于 Inference specification options (推理规范选项),选择 Provide the location of the inference image and model artifacts (提供推理镜像和模型构件的位置) 以通过使用推理容器和模型构件来创建模型包。选择 Provide the algorithm used for training and its model artifacts (提供用于训练的算法及其模型构件) 以从您创建的或通过 AWS Marketplace 订阅的算法资源创建模型包。

    4. 如果您已为 Inference specification options (推理规范选项) 选择 Provide the location of the inference image and model artifacts (提供推理镜像和模型构件的位置),请为 Container definition (容器定义)Supported resources (支持的资源) 提供以下信息:

      1. 对于 Location of inference image (推理镜像的位置),键入包含推理代码的镜像的路径。镜像必须作为 Docker 容器存储在 Amazon ECR 中。

      2. 对于 Location of model data artifacts (模型数据构件的位置),键入 S3 中存储模型构件的位置。

      3. 对于 Container DNS host name (容器 DNS 主机名),键入要用于容器的 DNS 主机的名称。

      4. 对于 Supported instance types for real-time inference (支持的实时推理实例类型),选择模型包支持的用于从 SageMaker 托管终端节点进行实时推理的实例类型。

      5. 对于 Supported instance types for batch transform jobs (支持的批量转换作业实例类型),选择模型包支持的用于批量转换作业的实例类型。

      6. 对于 Supported content types (支持的内容类型),键入模型包预期用于推理请求的内容类型。

      7. 对于 Supported response MIME types (支持的响应 MIME 类型),键入模型包用于提供推理的 MIME 类型。

    5. 如果您已为 Inference specification options (推理规范选项) 选择 Provide the algorithm used for training and its model artifacts (提供用于训练的算法及其模型构件),请提供以下信息:

      1. 对于 Algorithm ARN (算法 ARN),键入要用于创建模型包的算法资源的 Amazon 资源名称 (ARN)。

      2. 对于 Location of model data artifacts (模型数据构件的位置),键入 S3 中存储模型构件的位置。

    6. 选择 Next (下一步)

  4. Validation and scanning (验证和扫描) 页面上,提供以下信息:

    1. 对于 Publish this model package on AWS Marketplace (在 AWS Marketplace 上发布此模型包),选择 Yes (是) 以在 AWS Marketplace 上发布模型包。

    2. 对于 Validate this model package (验证此模型包),选择 Yes (是)(如果您希望 SageMaker 运行您指定的批量转换作业,以测试模型包的推理代码)。

      注意

      要在 AWS Marketplace 上发布您的模型包,必须对其进行验证。

    3. 对于 IAM role (IAM 角色),选择具有在 SageMaker 中运行批量转换作业所需的权限的 IAM 角色,或选择 Create a new role (创建新角色) 以允许 SageMaker 创建已附加 AmazonSageMakerFullAccess 托管策略的角色。有关信息,请参阅 SageMaker 角色

    4. 对于 Validation profile (验证配置文件),请指定以下内容:

      • 验证配置文件的名称。

      • Transform job definition (转换作业定义)。这是一个描述批量转换作业的 JSON 数据块。其格式与 CreateAlgorithm API 的 TransformJobDefinition 输入参数的格式相同。

  5. 选择 Create model package (创建模型包)

创建模型包资源 (API)

要使用 SageMaker API 创建模型包,请调用 CreateModelPackage API。