本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 AWS Clean Rooms ML 中使用增量训练
先决条件:
-
可以 AWS 账户 访问的 AWS Clean Rooms
-
协作中现有的训练模型
-
用于增量训练的新数据集或更新的数据集
-
在协作中创建和管理机器学习模型的适当权限
-
熟悉现有模型的超参数和配置
通过增量训练,您可以使用现有模型的构件和更新的数据集来训练新模型。增量训练可节省时间和资源。
使用增量训练可以:
-
使用扩展的数据集训练新模型,该数据集具有早期训练中未考虑的底层模式。
-
训练模型的多个变体,要么使用不同的超参数,要么使用不同的数据集。
- Console
-
运行增量训练作业(控制台)
-
登录 AWS Management Console 并在 https://console.aws.amazon.com/clean
room AWS Clean Rooms s 上打开控制台。 -
在左侧导航窗格中,选择协作。
-
在 “协作” 页面上,选择要用于增量训练的模型构件所在的协作。
-
协作打开后,选择 “机器学习模型” 选项卡。
-
在 “自定义 ML 模型” 下的 “训练模型” 部分中,选择要增量训练的已训练模型旁边的单选按钮。
-
在 “概述” 页面的 “版本” 下,
-
选择要进行增量训练的训练模型旁边的单选按钮。
-
从版本中选择火车。
-
-
在从版本创建训练模型页面上,对于经过训练的模型版本,选择版本。
将自动选择基本模型版本。如果存在其他版本,则可以更改此版本。
-
有关训练模型的详细信息,请输入以下内容:
-
在名称中,输入协作中模型的唯一名称。
-
(可选)在描述中,输入训练模型的描述。
-
对于训练数据输入模式,请选择以下选项之一:
-
如果您的数据集较小,可以容纳机器学习存储卷,并且您更喜欢使用传统的文件系统访问权限来访问训练脚本,请选择 “文件”。
-
对于大型数据集,选择 Pip e 可以直接从 S3 流式传输数据,无需将所有内容下载到磁盘,这样可以提高训练速度并降低存储需求。
-
FastFile如果要将从 S3 进行流式传输的优势与文件系统访问相结合,尤其是在顺序读取数据或处理较少文件以缩短启动时间时,请选择此选项。
-
-
在增量训练频道名称中,输入增量训练频道的名称
注意
如果您指定增量训练通道名称但没有版本 ID,则系统将使用基础模型进行增量训练。
-
-
要了解 ML 输入通道的详细信息,请执行以下操作:
-
对于 ML 输入通道,请指定为模型算法提供数据的 ML 输入通道。
要添加其他频道,请选择添加另一个 ML 输入频道。您最多可以添加 19 个额外的 ML 输入通道。
-
在频道名称中,输入 ML 输入频道的名称。
-
对于 Amazon S3 数据分配类型,请选择以下选项之一:
-
选择 “完全复制”,为每个训练实例提供数据集的完整副本。当您的数据集足够小以容纳内存时,或者当每个实例都需要访问所有数据时,这种方法效果最好。
-
选择 “按 S3 密钥分片”,根据 S3 密钥将您的数据集划分到训练实例。每个实例接收大约 S3 对象总数的 1/n,其中 'n' 是实例数。这最适合您想要并行处理的大型数据集。
注意
选择分布类型时,请考虑您的数据集大小和训练要求。完全复制可提供完整的数据访问权限,但需要更多存储空间,而 Sharded by S3 密钥支持对大型数据集进行分布式处理。
-
-
-
在最长训练持续时间中,选择要训练模型的最大时间。
-
对于超参数,请指定任何特定于算法的参数及其预期值。超参数特定于正在训练的模型,用于微调模型训练。
-
对于环境变量,请指定任何特定于算法的变量及其预期值。环境变量是在 Docker 容器中设置的。
-
对于加密,要使用自定义密钥 AWS KMS key,请选中使用自定义 KMS 密钥加密密钥复选框。
-
对于EC2 资源配置,请指定有关用于模型训练的计算资源的信息。
-
在实例类型中,选择要运行的实例类型。
-
在实例数中,输入实例数。
-
对于以 GB 为单位的卷大小,请输入 ML 存储卷大小。
-
-
选择根据版本创建经过训练的模型。
-
- 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 个频道(包括两个
dataChannels
和incrementalTrainingDataChannels
)。
注意
创建训练后的模型后,您无法对其进行编辑。要进行更改,请删除经过训练的模型并创建一个新模型。