

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

# 配置 Autopilot 实验的默认参数（面向管理员）
<a name="autopilot-set-default-parameters-create-experiment"></a>

当您使用 Studio Classic 用户界面创建 SageMaker 自动驾驶实验时，Autopilot 支持设置默认值以简化 Amazon Autopilot 的配置。管理员可以使用 Studio Classic [生命周期配置](studio-lcc.md) (LCC)，在配置文件中设置基础设施、联网和安全设置的值，并预先填充 `AutoML` 作业的[高级设置](autopilot-automate-model-development-create-experiment-ui.md#advanced-settings)。

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

**注意**  
此功能目前在选择亚太地区（香港）和中东（巴林）区域时不可用。

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

**Topics**
+ [支持的默认参数列表](#autopilot-list-default-parameters-create-experiment)
+ [设置默认 Autopilot 实验参数](#autopilot-set-default-parameters-create-experiment-howto)

## 支持的默认参数列表
<a name="autopilot-list-default-parameters-create-experiment"></a>

以下参数支持通过配置文件设置默认值，以便使用 Studio Classic 用户界面创建 Autopilot 实验。设置完成后，在 Studio Classic 用户界面中，这些值会自动填充 Autopilot 的**创建实验**选项卡中的相应字段。有关每个字段的完整描述，请参阅[高级设置（可选）](autopilot-automate-model-development-create-experiment-ui.md#advanced-settings)。
+ **安全：**Amazon VPC、子网和安全组。
+ **访问权限：** AWS IAM 角色 ARNs。
+ **加密：** AWS KMS 密钥 IDs。
+ **标签：**用于标记和组织 SageMaker AI 资源的键值对。

## 设置默认 Autopilot 实验参数
<a name="autopilot-set-default-parameters-create-experiment-howto"></a>

管理员可以在配置文件中设置默认值，然后手动将该文件放在特定用户的 Studio Classic 环境中的建议位置，也可以将文件传递给生命周期配置 (LCC) 脚本，以自动针对给定域或用户配置文件自定义 Studio Classic 环境。
+ 要设置配置文件，请先填写其默认参数。

  要配置 [支持的默认参数列表](#autopilot-list-default-parameters-create-experiment) 中列出的任意或所有默认值，管理员可以创建名为 `config.yaml` 的配置文件，其结构应与此[示例配置文件](https://sagemaker.readthedocs.io/en/stable/overview.html#configuration-file-structure)相符。以下代码片段显示了一个包含所有支持的 `AutoML` 参数的示例配置文件。有关此文件格式的更多信息，请参阅[完整架构](https://github.com/aws/sagemaker-python-sdk/blob/master/src/sagemaker/config/config_schema.py)。

  ```
  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'
  ```
+ 然后，通过[手动将文件复制到](#autopilot-intelligent-defaults-manual-setup)其推荐路径或使用[生命周期配置](#autopilot-intelligent-defaults-lcc-setup) (LCC)，将该文件放在建议的位置。

  在用户的 Studio Classic 环境中，至少以下位置之一中必须有配置文件。默认情况下， SageMaker AI 在两个位置搜索配置文件：
  + 首先在 `/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-intelligent-defaults-manual-setup)。在本例中，执行脚本的用户配置文件可以使用仅适用于自身的默认值，创建 Autopilot 实验。
  + **创建 A SageMaker I 生命周期配置** — 或者，您可以使用[生命周期配置](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc.html) (LCC) 自动自定义 Studio Classic 环境。LCC 是由 Amazon SageMaker Studio Classic 生命周期事件（例如启动 Studio Classic 应用程序）触发的 s 此自定义包括安装自定义软件包、配置笔记本扩展、预先加载数据集、设置源代码存储库或者（在本例中）预先填充默认参数。管理员可以将 LCC 附加到 Studio Classic 域，以自动配置该域中每个用户配置文件的默认值。

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

------
#### [ Create a LCC from the SageMaker AI Console ]

    使用以下步骤创建包含默认参数的 LCC，将 LCC 附加到域或用户配置文件，然后使用 AI 控制台启动预填充了 LCC 设置的默认参数的 Studio Classic 应用程序。 SageMaker 
    + **使用 A SageMaker I 控制台创建运行包含默认值的[脚本](#autopilot-intelligent-defaults-script)的生命周期配置**
      + 打开 SageMaker AI 控制台，网址为[https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)。
      + 在左侧导航至**管理员配置**，然后导航至**生命周期配置**。
      + 在**生命周期配置**页面，导航至 Studio Classic 选项卡，然后选择**创建配置**。
      + 对于**名称**，请键入使用字母数字字符和 -（但不能含空格）的名称。名称最多可包含 63 个字符。
      + 将您的[脚本](#autopilot-intelligent-defaults-script)粘贴到**脚本**部分。
      + 选择**创建配置**，创建生命周期配置。这样就创建了一个 `Kernel gateway app` 类型的 LCC。
    +  **要将生命周期配置附加到 Studio Classic 域、空间或用户配置文件**

      按照[将生命周期配置附加到 Studio Classic 域或用户配置文件](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc-create-console.html#studio-lcc-create-console-step2)中的步骤，将 LCC 附加到 Studio Classic 域或特定用户配置文件。
    +  **要使用生命周期配置启动 Studio Classic 应用程序**

      将 LCC 附加到域或用户配置文件后，受影响的用户就可以从 Studio 中的 Studio Classic 登录页面启动 Studio Classic 应用程序，自动获取 LCC 设置的默认值。这会在创建 Autopilot 实验时自动填充 Studio Classic 用户界面。

------
#### [ Create a LCC from the AWS CLI ]

    使用 AWS CLI，通过以下代码片段启动运行您[脚本](#autopilot-intelligent-defaults-manual-setup)的 Studio Classic 应用程序。请注意，`lifecycle_config.sh` 是本示例中向脚本提供的名称。

    开始使用之前：
    +  AWS CLI 通过完成[从中创建生命周期配置中所述的先决条件，确保您已进行更新和配置 AWS CLI](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc-create-cli.html)。
    + 安装 [OpenSSL](https://www.openssl.org/source/) 文档。该 AWS CLI 命令使用开源库 *OpenSSL* 将您的脚本编码为 Base64 格式。此要求可防止因空格和换行编码而出现错误。

    现在，您可以按照以下三个步骤操作：
    +  **创建新生命周期配置，引用配置脚本 `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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-user-profile.html)命令。要创建或更新域，请参阅 [create-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-domain.html) 和 [update-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-domain.html)。将上一步中的生命周期配置 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"]
        }
      }'
      ```

      将 LCC 附加到域或用户个人资料后，受影响的用户可以按照关闭并更新 [Amazon Studio Classic 中的步骤关闭并更新其现有的 Studio Class SageMaker i](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-tasks-update-studio.html) c 应用程序，或者从 AWS 控制台启动新的 Studio Classic 应用程序以自动获取 LCC 设置的默认设置。这会在创建 Autopilot 实验时自动填充 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创建生命周期配置](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc-create-cli.html)。

------