在 AWS Clean Rooms ML 中创建机器学习输入通道 - AWS Clean Rooms

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

在 AWS Clean Rooms ML 中创建机器学习输入通道

先决条件:

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

  • 您要在 AWS Clean Rooms 其中创建 ML 输入通道的协作设置

  • 在协作中查询数据和创建机器学习输入通道的权限。

  • (可选)用于与 ML 输入通道关联的现有模型算法,或创建新模型的权限

  • (可选)包含可以针对您的指定模型运行的分析规则的表。

  • (可选)用于生成数据集的现有 SQL 查询或分析模板

  • (可选)具有相应权限的现有服务角色或创建新服务角色的权限

  • (可选)如果您想使用自己的加密 AWS KMS 密钥,请使用自定义密钥

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

机器学习输入通道是根据特定数据查询创建的数据集。能够查询数据的成员可以通过创建 ML 输入通道为训练和推理做好数据准备。创建 ML 输入通道允许在同一个协作中将这些数据用于不同的训练模型。您应该为训练和推理创建单独的 ML 输入通道。

要创建 ML 输入通道,必须指定用于查询输入数据和创建 ML 输入通道的 SQL 查询。此查询的结果永远不会与任何成员共享,并且保持在 Clean Rooms ML 的范围内。在接下来的步骤中,将使用引用 Amazon 资源名称 (ARN) 来训练模型或运行推理。

Console
创建 ML 输入频道(控制台)
  1. 登录 AWS Management Console 并在 https://console.aws.amazon.com/clean room AWS Clean Rooms s 上打开控制台。

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

  3. 协作页面上,选择要在其中创建机器学习输入渠道的协作。

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

  5. 在 “自定义 ML 模型” 下的 “机器学习输入通道” 部分中,选择 “创建 ML 输入通道”。

  6. 在 “创建 ML 输入频道” 页面上,要获取 ML 输入频道的详细信息,请执行以下操作:

    1. 在 “名称” 中,输入频道的唯一名称。

    2. (可选)在描述中,输入您的频道的描述。

    3. 在 “关联模型算法” 中,选择要使用的算法。

      选择 “关联模型算法” 以添加新算法。

  7. 对于数据集,选择一种生成训练数据集的方法:

    • 选择 SQL 查询可将 SQL 查询的结果用作训练数据集。

      如果您选择了 SQL 查询,请在 SQL 查询字段中输入您的查询。

      (可选)要导入您最近使用的查询,请选择从最近的查询中导入

    • 选择分析模板以使用分析模板的结果作为训练数据集。

      如果您选择分析模板,请指定所需的分析模板。

    1. 如果没有关联表,请选择 “关联表” 以添加具有可针对指定模型运行的分析规则的表。

    2. 对于工作人员类型,选择要使用的工作器类型。默认值为 CR.1X。

    3. 在 “工作人员数量” 中,选择创建此数据通道时要使用的工作器数量。默认值为 16

    4. 对于以天为单位的数据保留,请输入数据的保留天数。

    5. 对于结果格式,选择 CSV 或 Par q uet 作为 ML 输入通道应使用的数据格式。

  8. 对于服务访问权限,请选择将用于访问此表的现有服务角色名称,或者选择创建并使用新的服务角色

  9. 对于加密,选择使用自定义 KMS 密钥加密密钥以指定您自己的 KMS 密钥和相关信息。否则,Clean Rooms ML 将管理加密。

  10. 选择 “创建 ML 输入通道”。

    创建 ML 输入通道需要几分钟。您可以在 “机器学习输入” 选项卡上看到 ML 输入通道列表。

注意

创建 ML 输入通道后,您无法对其进行编辑。

API

创建 ML 输入频道 (API)

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

import boto3 acr_client = boto3.client('cleanroomsml') acr_client.create_ml_input_channel( name="ml_input_channel_name", membershipIdentifier='membership_id', configuredModelAlgorithmAssociations=[configured_model_algorithm_association_arn], retentionInDays=1, inputChannel={ "dataSource": { "protectedQueryInputParameters": { "sqlParameters": { "queryString": "select * from table" "computeConfiguration": { "worker": { "type": "CR.1X", "number": 16 } }, "resultFormat": "PARQUET" } } }, "roleArn": "arn:aws:iam::111122223333:role/ezcrc-ctm-role" } ) channel_arn = resp['ML Input Channel ARN']