配置 Autopilot 实验的默认参数(面向管理员) - Amazon SageMaker

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

配置 Autopilot 实验的默认参数(面向管理员)

当您使用 Studio Classic 用户界面创建 SageMaker 自动驾驶实验时,Autopilot 支持设置默认值以简化 Amazon Autopilot 的配置。管理员可以使用 Studio Classic 生命周期配置 (LCC) 在配置文件中设置基础架构、网络和安全值,并预先填充作业的AutoML高级设置

这样,他们就可以完全控制网络连接以及与 Amazon SageMaker Studio Classic 关联的资源的访问权限,包括 SageMaker 实例、数据源、输出数据和其他相关服务。具体而言,管理员可以为 Studio Classic 域或个人用户配置文件配置所需的网络架构,例如 Amazon VPC、子网和安全组。数据科学家在使用 Studio Classic 用户界面创建自动驾驶实验时,可以专注于数据科学的特定参数。此外,管理员可以通过设置默认加密密钥,来管理运行 Autopilot 实验的实例上的数据加密。

注意

此功能目前在选择亚太地区(香港)和中东(巴林)区域时不可用。

在以下各节中,您可以找到支持在使用 Studio Classic 用户界面创建自动驾驶实验时设置默认值的完整参数列表,并学习如何设置这些默认值。

支持的默认参数列表

以下参数支持使用配置文件设置默认值,以便使用 Studio Classic 用户界面创建自动驾驶实验。设置完成后,这些值会自动填充 Studio Classic 用户界面中 Autopilot 的 “创建实验” 选项卡中的相应字段。有关每个字段的完整描述,请参阅高级设置(可选)

  • 安全:Amazon VPC、子网和安全组。

  • 访问权限: AWS IAM角色ARNs。

  • 加密: AWS KMS 密钥IDs。

  • 标签:用于标记和组织 SageMaker 资源的键值对。

设置默认 Autopilot 实验参数

管理员可以在配置文件中设置默认值,然后手动将该文件放在特定用户的 Studio Classic 环境中的推荐位置,也可以将文件传递给生命周期配置脚本 (LCC),以自动为给定域或用户配置文件自定义 Studio Classic 环境。

  • 要设置配置文件,请先填写其默认参数。

    要配置 支持的默认参数列表 中列出的任意或所有默认值,管理员可以创建名为 config.yaml 的配置文件,其结构应与此示例配置文件相符。以下代码片段显示了一个包含所有支持的 AutoML 参数的示例配置文件。有关此文件格式的更多信息,请参阅完整架构

    SchemaVersion: '1.0' SageMaker: AutoMLJob: # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html AutoMLJobConfig: SecurityConfig: EnableInterContainerTrafficEncryption: true VolumeKmsKeyId: 'kms-key-id' VpcConfig: SecurityGroupIds: - 'security-group-id-1' - 'security-group-id-2' Subnets: - 'subnet-1' - 'subnet-2' OutputDataConfig: KmsKeyId: 'kms-key-id' RoleArn: 'arn:aws:iam::111222333444:role/Admin' Tags: - Key: 'tag_key' Value: 'tag_value'
  • 然后,通过手动将配置文件复制到其推荐路径或使用生命周期配置 (LCC),将该文件放在建议的位置。

    在用户的 Studio Classic 环境中,配置文件必须至少存在于以下位置之一。默认情况下,在两个位置 SageMaker 搜索配置文件:

    • 首先在 /etc/xdg/sagemaker/config.yaml 中。我们将此文件称为管理员配置文件

    • 然后在 /root/.config/sagemaker/config.yaml 中。我们将此文件称为用户配置文件

    使用管理员配置文件,管理员可以定义一组默认值。或者,他们可以使用用户配置文件来覆盖在管理员配置文件中设置的值,或者用于设置其他默认参数值。

    以下代码段显示了一个脚本示例,该脚本将默认参数配置文件写入用户的 Studio Classic 环境中的管理员位置。您可以将 /etc/xdg/sagemaker 替换为 /root/.config/sagemaker,从而将文件写入用户位置。

    ## Sample script with AutoML intelligent defaults #!/bin/bash sudo mkdir -p /etc/xdg/sagemaker echo "SchemaVersion: '1.0' CustomParameters: AnyStringKey: 'AnyStringValue' SageMaker: AutoMLJob: # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html AutoMLJobConfig: SecurityConfig: EnableInterContainerTrafficEncryption: true VolumeKmsKeyId: 'kms-key-id' VpcConfig: SecurityGroupIds: - 'security-group-id-1' - 'security-group-id-2' Subnets: - 'subnet-1' - 'subnet-2' OutputDataConfig: KmsKeyId: 'kms-key-id' RoleArn: 'arn:aws:iam::111222333444:role/Admin' Tags: - Key: 'tag_key' Value: 'tag_value' " | sudo tee /etc/xdg/sagemaker/config.yaml
    • 手动复制文件-要手动复制配置文件,请从 Studio Classic 终端运行上一步中创建的脚本。在本例中,执行脚本的用户配置文件可以使用仅适用于自身的默认值,创建 Autopilot 实验。

    • 创建 SageMaker 生命周期配置 — 或者,您可以使用生命周期配置 (LCC) 自动自定义 Studio Classic 环境。LCC是由 Amazon SageMaker Studio Classic 生命周期事件(例如启动 Studio Classic 应用程序)触发的 此自定义包括安装自定义软件包、配置笔记本扩展、预先加载数据集、设置源代码存储库或者(在本例中)预先填充默认参数。管理员可以将附加LCC到 Studio Classic 域,以自动配置该域中每个用户配置文件的默认值。

      以下各节详细介绍了如何创建生命周期配置,以便用户在启动 Studio Classic 时可以自动加载自动驾驶默认参数。您可以选择LCC使用 SageMaker 控制台或 AWS CLI.

      Create a LCC from the SageMaker Console

      使用以下步骤创建LCC包含您的默认参数的,将其附加LCC到域或用户配置文件,然后启动预先填充了LCC使用 SageMaker 控制台设置的默认参数的 Studio Classic 应用程序。

      • 使用 SageMaker 控制台创建运行包含默认值的脚本的生命周期配置

        • 打开 SageMaker 控制台,网址为https://console.aws.amazon.com/sagemaker/

        • 在左侧,导航到管理员配置,然后导航到生命周期配置

        • 生命周期配置页面中,导航到 Studio Classic 选项卡,然后选择创建配置

        • 对于名称,请键入使用字母数字字符和 -(但不能含空格)的名称。名称最多可包含 63 个字符。

        • 将您的脚本粘贴到脚本部分。

        • 选择创建配置以创建生命周期配置。这将创建一个 o LCC f 类型Kernel gateway app

      • 将生命周期配置附加到 Studio Classic 域、空间或用户配置文件

        按照将生命周期配置附加到 Studio Classic 域或用户配置文件中的步骤,将您的生命周期配置附加LCC到 Studio Classic 域或特定用户配置文件。

      • 使用生命周期配置启动 Studio Classic 应用程序

        附加到域或用户个人资料后,受影响的用户可以从 Studio 中 Studio Classic 的登录页面启动 Studio Classic 应用程序,以获取LCC自动设置的默认值。LCC这会在创建自动驾驶实验时自动填充 Studio Classic 用户界面。

      Create a LCC from the AWS CLI

      使用以下代码段启动 Studio Classic 应用程序,该应用程序使用运行您的脚本。 AWS CLI请注意,lifecycle_config.sh 是本示例中向脚本提供的名称。

      开始使用之前:

      现在,您可以按照以下三个步骤操作:

      • 创建新生命周期配置,引用配置脚本 lifecycle_config.sh

        LCC_CONTENT=`openssl base64 -A -in lifecycle_config.sh` ## Create a new lifecycle config aws sagemaker create-studio-lifecycle-config --region region \ --studio-lifecycle-config-name lcc-name \ --studio-lifecycle-config-content $LCC_CONTENT \ --studio-lifecycle-config-app-type default

        请注意返回的新创建ARN的生命周期配置。ARN这是将生命周期配置附加到应用程序所必需的。

      • 将生命周期配置附加到您的 JupyterServerApp

        下面的示例说明如何创建一个附加了生命周期配置的新用户配置文件。要更新现有用户配置文件,请使用 AWS CLI update-user-profile命令。要创建或更新域,请参阅创建域和更新域将上一步ARN中的生命周期配置添加到JupyterServerAppSettings应用程序类型的设置中。您可以使用生命周期配置列表,一次添加多个生命周期配置。

        # Create a new UserProfile aws sagemaker create-user-profile --domain-id domain-id \ --user-profile-name user-profile-name \ --region region \ --user-settings '{ "JupyterServerAppSettings": { "LifecycleConfigArns": ["lifecycle-configuration-arn"] } }'

        附加到域名或用户个人资料后,受影响的用户可以按照关闭并更新 Amazon Studio Classic 中的步骤关闭并更新其现有的 SageMaker Studio Classic 应用程序,或者从 AWS 控制台启动新的 Studio Classic 应用程序以获取LCC自动设置的默认设置。LCC这会在创建自动驾驶实验时自动填充 Studio Classic 用户界面。或者,他们也可以使用以下方式启动新的 Studio Classic 应用程序。 AWS CLI

      • 使用生命周期配置启动您的 Studio Classic 应用程序 AWS CLI

        # Create a Jupyter Server application aws sagemaker create-app --domain-id domain-id \ --user-profile-name user-profile-name \ --region region \ --app-type JupyterServer \ --resource-spec LifecycleConfigArn=lifecycle-configuration-arn \ --app-name default

        有关使用 AWS CLI创建生命周期配置的更多信息,请参阅从 AWS CLI创建生命周期配置