在 AWS Clean Rooms ML 中使用分布式培训 - AWS Clean Rooms

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

在 AWS Clean Rooms ML 中使用分布式培训

先决条件:

  • 可以 AWS 账户 访问的 AWS Clean Rooms

  • 合作建立在 AWS Clean Rooms

  • 支持分布式训练的配置模型算法

  • 适用于分布式处理的大型数据集

  • 在协作中创建和管理机器学习模型的适当权限

  • Amazon EC2 配额足以运行多个实例进行分布式训练

分布式训练利用许多并行运行的计算节点的强大功能来处理大量数据并有效地更新模型参数。

有关分布式训练的更多信息,请参阅 Amazon A SageMaker I 开发人员指南中的分布式训练概念

Console
运行分布式训练作业(控制台)
  1. 登录 AWS Management Console 并在 https://console.aws.amazon.com/clean room AWS Clean Rooms s 上打开控制台。

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

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

  4. 协作打开后,选择 “机器学习模型” 选项卡。

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

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

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

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

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

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

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

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

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

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

    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. 实例类型中,选择要运行的实例类型。

      分布式训练支持的实例类型有:

      • ml.m5.4xlarge

      • ml.m5.12xlarge

      • ml.m5.2xlarge

      • ml.g5.12xlarge

      • ml.g5.24xlarge

    2. 实例数中,输入实例数。

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

  14. 选择创建经过训练的模型

API

运行分布式训练作业 (API)

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

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', trainingInputMode: "File", resourceConfig={ 'instanceCount': "3" 'instanceType': "ml.m5.xlarge", 'volumeSizeInGB': 3 }, dataChannels=[ { "mlInputChannelArn": channel_arn_1, "channelName": "channel_name", "S3DataDistributionType:" "FullyReplicated" } ] )
注意

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