View a markdown version of this page

在 AWS Clean Rooms ML 中创建经过训练的模型 - AWS Clean Rooms

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

在 AWS Clean Rooms ML 中创建经过训练的模型

先决条件:

  • 而且 AWS 账户 可以访问 AWS Clean Rooms

  • 合作建立于 AWS Clean Rooms

  • 与协作相关的配置模型算法

  • 至少一个已配置的 ML 输入通道

  • 在协作中创建和管理 ML 模型的适当权限

将配置的模型算法关联到协作,然后创建和配置机器学习输入通道后,就可以创建经过训练的模型了。协作成员使用经过训练的模型来共同分析他们的数据。

您可以使用以下过程创建经过训练的模型。

或者,您可以使用增量训练用新数据改进现有模型,或者使用分布式训练跨多个计算实例训练模型。

Console
创建经过训练的模型(控制台)
  1. 登录 AWS 管理控制台 并打开 AWS Clean Rooms 控制台,地址为https://console.aws.amazon.com/cleanrooms

  2. 在左侧导航窗格中,选择协作

  3. 协作页面上,选择要在其中创建训练模型的协作。

  4. 协作打开后,选择 ML 模型选项卡。

  5. 在 “自定义 ML 模型” 下的 “训练模型” 部分中,选择创建训练模型

  6. 创建训练模型页面上,为关联模型算法指定算法。

  7. 有关经过训练的模型的详细信息,请输入以下内容:

    1. 在 “名称” 中,输入协作中模型的唯一名称。

    2. (可选)在描述中,输入训练模型的描述。

    3. 对于训练数据输入模式,请选择以下选项之一:

      • 如果您的数据集较小,可以容纳 ML 存储量,并且您更喜欢使用传统文件系统访问训练脚本,请选择 “文件”。

      • 对于大型数据集,选择 Pipe 可以直接从 S3 流式传输数据,从而无需将所有内容下载到磁盘,这样可以提高训练速度并降低存储需求。

      • FastFile如果要将从 S3 流式传输的优势与文件系统访问相结合,尤其是顺序读取数据或处理较少文件以缩短启动时间时,请选择此选项。

  8. 要了解机器学习输入通道的详细信息,请执行以下操作:

    1. 对于 ML 输入通道,指定向模型算法提供数据的 ML 输入通道。

      要添加另一个通道,请选择添加另一个 ML 输入通道。您最多可以添加 19 个额外 ML 输入通道。

    2. 对于频道名称,输入 ML 输入通道的名称。

    3. 对于 Amazon S3 数据分配类型,请选择以下选项之一:

      • 选择 “完全复制”,为每个训练实例提供数据集的完整副本。当您的数据集足够小以容纳内存时,或者当每个实例都需要访问所有数据时,这种方法最有效。

      • 选择 “按 S3 密钥分片”,根据 S3 密钥将数据集划分到训练实例中。每个实例接收 S3 对象总 1/n 数的大约,其中 “n” 是实例的数量。这最适合您想要并行处理的大型数据集。

      注意

      选择分布类型时,请考虑您的数据集大小和训练要求。完全复制可提供完整的数据访问权限,但需要更多存储空间,而 Sharded by S3 密钥支持对大型数据集进行分布式处理。

  9. 对于最长训练持续时间,请选择您想要训练模型的最大时间。

  10. 对于超参数,请指定任何特定于算法的参数及其预期值。超参数特定于正在训练的模型,用于微调模型训练。

  11. 对于环境变量,指定任何特定于算法的变量及其预期值。环境变量在 Docker 容器中设置。

  12. 对于加密,要使用自定义 AWS KMS key,请选中使用自定义 KMS 密钥加密密钥复选框。

  13. 对于 EC2 资源配置,请指定有关用于模型训练的计算资源的信息。

    1. 对于实例类型,选择要运行的实例类型。

    2. 对于实例数,输入实例数。

    3. 对于以 GB 为单位的卷大小,请输入 ML 存储卷大小。

  14. (可选)对于模型训练付款人,选择支付模型训练费用的协作成员。

    注意

    如果合作中只有一个候选付款人参加模型训练,则默认为该付款人。

  15. 选择 “创建经过训练的模型”

API

创建训练模型 (API)

具有训练模型能力的成员通过选择 ML 输入通道和模型算法开始训练。

使用您的特定参数运行以下代码:

import boto3 acr_ml_client= boto3.client('cleanroomsml') acr_ml_client.create_trained_model( membershipIdentifier= 'membership_id', configuredModelAlgorithmAssociationArn = 'arn:aws:cleanrooms-ml:region:account:membership/membershipIdentifier/configured-model-algorithm-association/identifier', name='trained_model_name', resourceConfig={ 'instanceType': "ml.m5.xlarge", 'volumeSizeInGB': 1 }, dataChannels=[ { "mlInputChannelArn": channel_arn_1, "channelName": "channel_name" }, { "mlInputChannelArn": channel_arn_2, "channelName": "channel_name" } ] )
注意

创建训练模型后,您无法对其进行编辑。要进行更改,请删除经过训练的模型并创建一个新模型。