本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 AWS Clean Rooms ML 中创建经过训练的模型
先决条件:
-
而且 AWS 账户 可以访问 AWS Clean Rooms
-
合作建立于 AWS Clean Rooms
-
与协作相关的配置模型算法
-
至少一个已配置的 ML 输入通道
-
在协作中创建和管理 ML 模型的适当权限
将配置的模型算法关联到协作,然后创建和配置机器学习输入通道后,就可以创建经过训练的模型了。协作成员使用经过训练的模型来共同分析他们的数据。
您可以使用以下过程创建经过训练的模型。
或者,您可以使用增量训练用新数据改进现有模型,或者使用分布式训练跨多个计算实例训练模型。
- Console
-
创建经过训练的模型(控制台)
-
登录 AWS 管理控制台 并打开 AWS Clean Rooms 控制台,地址为https://console.aws.amazon.com/cleanrooms
。 -
在左侧导航窗格中,选择协作。
-
在协作页面上,选择要在其中创建训练模型的协作。
-
协作打开后,选择 ML 模型选项卡。
-
在 “自定义 ML 模型” 下的 “训练模型” 部分中,选择创建训练模型。
-
在创建训练模型页面上,为关联模型算法指定算法。
-
有关经过训练的模型的详细信息,请输入以下内容:
-
在 “名称” 中,输入协作中模型的唯一名称。
-
(可选)在描述中,输入训练模型的描述。
-
对于训练数据输入模式,请选择以下选项之一:
-
如果您的数据集较小,可以容纳 ML 存储量,并且您更喜欢使用传统文件系统访问训练脚本,请选择 “文件”。
-
对于大型数据集,选择 Pipe 可以直接从 S3 流式传输数据,从而无需将所有内容下载到磁盘,这样可以提高训练速度并降低存储需求。
-
FastFile如果要将从 S3 流式传输的优势与文件系统访问相结合,尤其是顺序读取数据或处理较少文件以缩短启动时间时,请选择此选项。
-
-
-
要了解机器学习输入通道的详细信息,请执行以下操作:
-
对于 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)
具有训练模型能力的成员通过选择 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" } ] )
注意
创建训练模型后,您无法对其进行编辑。要进行更改,请删除经过训练的模型并创建一个新模型。