创建算法资源 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

创建算法资源

您可以在 Amazon 中创建用于训练作业的算法资源 SageMaker,也可以将其发布到上 Amazon Web Services Marketplace。以下各节说明了如何使用 Amazon Web Services Management Console 和来实现此目的 SageMaker API。

要创建算法资源,请指定以下信息:

  • 包含训练和(可选)推理代码的 Docker 容器。

  • 您的算法预期用于训练的输入数据的配置。

  • 您的算法支持的超参数。

  • 您的算法 CloudWatch 在训练作业期间发送给 Amazon 的指标。

  • 您的算法支持的用于训练和推理的实例类型,以及它是否支持跨多个实例的分布式训练。

  • 验证配置文件,即 SageMaker 用于测试算法训练代码的训练作业和用于测试算法推理代码的批量转换作业。 SageMaker

    为确保买家和卖家能够确信商品可以正常使用 SageMaker,我们要求您在上架商品之前验证算法 Amazon Web Services Marketplace。 Amazon Web Services Marketplace 只有验证成功后,您才能在中发布商品。要验证您的算法,请 SageMaker 使用您的验证配置文件和示例数据来运行以下验证任务:

    1. 在您的账户中创建训练作业,以验证您的训练图像是否适用 SageMaker。

    2. 如果已在算法中包含推理代码,则使用算法的推理镜像以及训练作业所生成的模型构件在账户中创建模型。

    3. 如果您在算法中包含了推理代码,请使用该模型在您的账户中创建转换作业,以验证您的推理图像是否适用。 SageMaker

    当您在上架商品时 Amazon Web Services Marketplace,此验证过程的输入和输出将作为商品的一部分保留,并提供给买家。这有助于买家在购买产品前先了解和评估产品。例如,买家可以检查您使用的输入数据、生成的输出以及代码发出的日志和指标。验证规范越全面,客户就越容易评估您的产品。

    注意

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

    验证可能需要几个小时。要查看您账户中任务的状态,请在 SageMaker 控制台中查看训练作业转换作业页面。如果验证失败,则可以从 SageMaker 控制台访问扫描和验证报告。如果发现任何问题,您必须重新创建算法。

    注意

    要在上发布算法 Amazon Web Services Marketplace,至少需要一个验证配置文件。

您可以使用 SageMaker 控制台或. 来创建算法 SageMakerAPI。

创建算法资源(控制台)

创建算法资源(控制台)
  1. 打开 SageMaker 控制台,网址为https://console.aws.amazon.com/sagemaker/

  2. 从左侧菜单中,选择训练

  3. 从下拉菜单中选择算法,然后选择创建算法

  4. Training specifications (训练规范) 页面上,提供以下信息:

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

    2. 键入算法的描述。此描述显示在 SageMaker 控制台和中 Amazon Web Services Marketplace。

    3. 对于训练图片,请在 Amazon 中键入ECR存储训练容器的路径。

    4. 对于 Support distributed training (支持分布式训练),如果您的算法支持在多个实例上进行训练,则选择 Yes (是)。否则,请选择 No

    5. 对于 Support instance types for training (支持训练的实例类型),选择您的算法支持的实例类型。

    6. 对于 Channel specification (通道规范),为算法指定最多 8 个输入数据通道。例如,您可以指定 3 个输入通道,它们分别名为 trainvalidationtest。对于每个通道,可以指定以下信息:

      1. 对于 Channel name (通道名称),键入通道的名称。名称必须具有 1 到 64 个字符。有效字符为 a-z、A-Z、0-9 和 -(连字符)。

      2. 要将您的算法设为需要通道,请选择 Channel required (需要通道)

      3. 键入通道的说明。

      4. 对于 Supported input modes (支持的输入模式),如果算法支持流式传输输入数据,则选择 Pipe mode (管道模式);如果算法支持以文件形式下载输入数据,则选择 File mode (文件模式)。您可以选择二者。

      5. 对于 “支持的内容MIME类型”,键入算法所需的输入数据类型。

      6. 对于 Supported compression type (支持的压缩类型),如果算法支持 Gzip 压缩,则选择 Gzip。否则,选择 None (无)

      7. 选择 Add channel (添加通道) 以添加另一个数据输入通道;如果您已添加完通道,则选择 Next (下一步)

  5. Tuning specifications (优化规范) 页面上,提供以下信息:

    1. 对于超参数规范,请通过编辑对象来指定算法支持的超参数。JSON对于您的算法支持的每个超参数,请构造一个类似于以下内容的JSON模块:

      { "DefaultValue": "5", "Description": "The first hyperparameter", "IsRequired": true, "IsTunable": false, "Name": "intRange", "Range": { "IntegerParameterRangeSpecification": { "MaxValue": "10", "MinValue": "1" }, "Type": "Integer" }

      在中JSON,提供以下内容:

      1. 对于 DefaultValue,指定超参数的默认值(如果有)。

      2. 对于 Description,指定超参数的描述。

      3. 对于 IsRequired,指定是否需要超参数。

      4. 对于 IsTunable,如果在用户运行使用此算法的超参数优化作业时可以优化此超参数,则指定 true。有关信息,请参阅自动调整模型 SageMaker

      5. 对于 Name,指定超参数的名称。

      6. 对于 Range,指定下列项之一:

        • IntegerParameterRangeSpecification - 超参数的值为整数。指定超参数的最小值和最大值。

        • ContinuousParameterRangeSpecification - 超参数的值为浮点值。指定超参数的最小值和最大值。

        • CategoricalParameterRangeSpecification - 超参数的值为分类值。指定所有可能的值的列表。

      7. 对于 Type,指定 IntegerContinuousCategorical。该值必须对应于您指定的 Range 类型。

    2. 对于指标定义,请指定您希望算法发出的任何训练指标。 SageMaker 使用您指定的正则表达式通过在训练期间解析训练容器中的日志来查找指标。当用户使用您的算法运行训练作业时,他们可以查看这些指标,并可以在 Amazon 中监控和绘制这些指标 CloudWatch。有关信息,请参阅用于 CloudWatch 监控和分析训练作业的 Amazon 指标。对于每个指标,提供以下信息:

      1. 对于 Metric name (指标名称),键入指标的名称。

      2. 对于Regex,键入用于解析训练日志的正则表达式,以便它可以找到指标值。 SageMaker

      3. 对于 Objective metric support (目标指标支持),如果此指标可用作超参数优化作业的目标指标,则选择 Yes (是)。有关信息,请参阅自动调整模型 SageMaker

      4. 选择 Add metric (添加指标) 以添加另一个指标;如果您已添加完指标,则选择 Next (下一步)

  6. Inference specifications (推理规范) 页面上,如果算法支持推理,则提供以下信息:

    1. “推理图像的位置” 中,键入 Amazon 中ECR存储推理容器的路径。

    2. 容器DNS主机名中,键入映像DNS的主机名称。

    3. 对于支持用于实时推理的实例类型,请选择您的算法支持作为托管终端节点部署的模型的实例类型。 SageMaker有关信息,请参阅部署模型用于推理

    4. 对于 Supported instance types for batch transform jobs (支持的批量转换作业实例类型),选择算法支持的用于批量转换作业的实例类型。有关信息,请参阅使用 Amazon 进行批量转换以进行推理 SageMaker

    5. 对于 Supported content types (支持的内容类型),键入算法预期用于推理请求的输入数据的类型。

    6. 支持的响应MIME类型中,键入您的算法支持的推理响应MIME类型。

    7. 选择下一步

  7. Validation specifications (验证规范) 页面上,提供以下信息:

    1. 对于 “发布此算法” Amazon Web Services Marketplace,选择 “” 以发布算法 Amazon Web Services Marketplace。

    2. 对于验证此资源,如果您 SageMaker 要运行训练作业和/或批处理转换作业,并指定这些任务来测试算法的训练和/或推理代码,请选择 “”。

      注意

      要在上发布您的算法 Amazon Web Services Marketplace,必须对您的算法进行验证。

    3. 对于IAM角色,请选择具有IAM运行训练作业和批量转换作业所需权限的角色 SageMaker,或者选择创建新角色 SageMaker 以允许创建附加了AmazonSageMakerFullAccess托管策略的角色。有关信息,请参阅如何使用 SageMaker 执行角色

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

      • 验证配置文件的名称。

      • Training job definition (训练作业定义)。这是一个描述训练作业的JSON方块。其格式与的TrainingJobDefinition输入参数的格式相同CreateAlgorithmAPI。

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

    5. 选择创建算法

创建算法资源 (API)

要使用创建算法资源 SageMaker API,请调用CreateAlgorithmAPI。