在 AWS Clean Rooms ML 中使用增量训练 - AWS Clean Rooms

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

在 AWS Clean Rooms ML 中使用增量训练

先决条件:

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

  • 协作中现有的训练模型

  • 用于增量训练的新数据集或更新的数据集

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

  • 熟悉现有模型的超参数和配置

通过增量训练,您可以使用现有模型的构件和更新的数据集来训练新模型。增量训练可节省时间和资源。

使用增量训练可以:

  • 使用扩展的数据集训练新模型,该数据集具有早期训练中未考虑的底层模式。

  • 训练模型的多个变体,要么使用不同的超参数,要么使用不同的数据集。

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

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

  3. 在 “协作” 页面上,选择要用于增量训练的模型构件所在的协作。

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

  5. 在 “自定义 ML 模型” 下的 “训练模型” 部分中,选择要增量训练的已训练模型旁边的单选按钮。

  6. 在 “概述” 页面的 “版本” 下,

    1. 选择要进行增量训练的训练模型旁边的单选按钮。

    2. 从版本中选择火车

  7. 从版本创建训练模型页面上,对于经过训练的模型版本,选择版本。

    将自动选择基本模型版本。如果存在其他版本,则可以更改此版本。

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

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

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

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

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

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

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

    4. 增量训练频道名称中,输入增量训练频道的名称

      注意

      如果您指定增量训练通道名称但没有版本 ID,则系统将使用基础模型进行增量训练。

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

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

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

    2. 频道名称中,输入 ML 输入频道的名称。

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

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

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

      注意

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

  10. 最长训练持续时间中,选择要训练模型的最大时间。

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

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

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

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

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

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

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

  15. 选择根据版本创建经过训练的模型

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', resourceConfig={ 'instanceType': 'ml.m5.xlarge', 'volumeSizeInGB': 1 }, incrementalTrainingDataChannels=[ { 'trainedModelArn': trained_model_arn, 'channelName': 'channel_name' }, ] dataChannels=[ { 'mlInputChannelArn': channel_arn_1, 'channelName': 'channel_name' }, { 'mlInputChannelArn': channel_arn_2, 'channelName': 'channel_name' } ] )
注意

限制:总共最多 20 个频道(包括两个dataChannelsincrementalTrainingDataChannels)。

注意

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