使用 建立追蹤伺服器 AWS CLI - Amazon SageMaker AI

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 建立追蹤伺服器 AWS CLI

您可以使用 建立追蹤伺服器 AWS CLI ,以更精細地自訂安全性。

必要條件

若要使用 建立追蹤伺服器 AWS CLI,您必須具備下列項目:

  • 存取終端機。 這可能包括本機 IDEs、Amazon EC2 執行個體或 AWS CloudShell。

  • 存取開發環境。這可能包括 Studio 或 Studio Classic 內的本機 IDEs 或 Jupyter 筆記本環境。

  • 設定的 AWS CLI 安裝。如需詳細資訊,請參閱設定 AWS CLI

  • 具有適當許可的 IAM 角色。下列步驟需要您的環境具有 iam:CreateRoleiam:AttachRolePolicyiam:CreatePolicyiam:ListPolicies許可。用於執行本使用者指南中步驟的角色需要這些許可。本指南中的指示會建立 IAM 角色,做為 MLflow 追蹤伺服器的執行角色,以便其存取 Amazon S3 儲存貯體中的資料。此外,還會建立政策,提供使用者透過 MLflow SDK 許可與追蹤伺服器互動以呼叫 MLflow APIs IAM 角色。如需詳細資訊,請參閱修改角色許可政策 (主控台)。

    如果使用 SageMaker Studio 筆記本,請使用這些 IAM 許可更新 Studio 使用者設定檔的服務角色。若要更新服務角色,請導覽至 SageMaker AI 主控台,然後選取您正在使用的網域。然後,在網域下,選取您正在使用的使用者設定檔。您會在那裡看到列出的服務角色。導覽至 IAM 主控台,在角色下搜尋服務角色,並使用允許 iam:CreateRoleiam:CreatePolicyiam:AttachRolePolicyiam:ListPolicies動作的政策更新您的角色。

設定 AWS CLI 模型

請依照終端機中的這些命令列步驟,設定 AWS CLI Amazon SageMaker AI with MLflow。

  1. 安裝更新版本的 AWS CLI。如需詳細資訊,請參閱AWS CLI 《 使用者指南》中的安裝或更新至最新版本的 AWS CLI

  2. 使用以下命令確認 AWS CLI 已安裝:

    aws sagemaker help

    q 結束提示。

    如需故障診斷協助,請參閱常見設定問題的故障診斷

設定 MLflow 基礎設施

下一節說明如何設定 MLflow 追蹤伺服器,以及追蹤伺服器所需的 Amazon S3 儲存貯體和 IAM 角色。

建立 S3 儲存貯體

在終端機中,使用以下命令來建立一般用途的 Amazon S3 儲存貯體:

注意

用於成品存放區的 Amazon S3 儲存貯體必須與追蹤伺服器 AWS 區域 位於相同位置。

bucket_name=bucket-name region=valid-region aws s3api create-bucket \ --bucket $bucket_name \ --region $region \ --create-bucket-configuration LocationConstraint=$region

輸出格式應類似以下內容:

{ "Location": "/bucket-name" }

設定 IAM 信任政策

使用下列步驟來建立 IAM 信任政策。如需角色和信任政策的詳細資訊,請參閱AWS Identity and Access Management 《 使用者指南》中的角色術語和概念

  1. 在終端機中,使用以下命令來建立名為 的檔案mlflow-trust-policy.json

    cat <<EOF > /tmp/mlflow-trust-policy.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "sagemaker.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] } EOF
  2. 在終端機中,使用以下命令來建立名為 的檔案custom-policy.json

    cat <<EOF > /tmp/custom-policy.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:Put*", "sagemaker:AddTags", "sagemaker:CreateModelPackageGroup", "sagemaker:CreateModelPackage", "sagemaker:DescribeModelPackageGroup", "sagemaker:UpdateModelPackage", "s3:List*" ], "Resource": "*" } ] } EOF
  3. 使用信任政策檔案來建立角色。然後,連接 IAM 角色政策,允許 MLflow 存取您帳戶中的 Amazon S3 和 SageMaker 模型登錄檔。MLflow 必須具有追蹤伺服器成品存放區的 Amazon S3 存取權,以及自動模型註冊的 SageMaker 模型登錄檔。

    注意

    如果您要更新現有角色,請改用下列命令:aws iam update-assume-role-policy --role-name $role_name --policy-document file:///tmp/mlflow-trust-policy.json

    role_name=role-name aws iam create-role \ --role-name $role_name \ --assume-role-policy-document file:///tmp/mlflow-trust-policy.json aws iam put-role-policy \ --role-name $role_name \ --policy-name custom-policy \ --policy-document file:///tmp/custom-policy.json role_arn=$(aws iam get-role --role-name $role_name --query 'Role.Arn' --output text)

建立 MLflow 追蹤伺服器

在終端機中,使用 create-mlflow-tracking-server API 在 AWS 區域 您選擇的 中建立追蹤伺服器。此步驟最多可能需要 25 分鐘。

您可以選擇性地使用 參數 指定追蹤伺服器的大小--tracking-server-config。選擇 "Small""Medium""Large"。預設 MLflow Tracking Server 組態大小為 "Small"。您可以根據追蹤伺服器的預計使用量選擇大小,例如記錄的資料量、使用者數量和使用頻率。如需詳細資訊,請參閱MLflow 追蹤伺服器大小

下列命令會在啟用自動模型註冊的情況下建立新的追蹤伺服器。若要停用自動模型註冊,請指定 --no-automatic-model-registration

建立追蹤伺服器後,您可以啟動 MLflow UI。如需詳細資訊,請參閱使用預先簽章的 URL 啟動 MLflow UI

注意

最多可能需要 25 分鐘才能完成追蹤伺服器建立。如果追蹤伺服器需要超過 25 分鐘才能建立,請檢查您是否具有必要的 IAM 許可。如需 IAM 許可的詳細資訊,請參閱設定 MLflow 的 IAM 許可。當您成功建立追蹤伺服器時,它會自動啟動。

當您建立追蹤伺服器時,建議您指定最新版本。如需可用版本的相關資訊,請參閱 追蹤伺服器版本

根據預設,建立的追蹤伺服器是最新版本。不過,我們建議您一律明確指定最新版本,因為基礎 MLflow APIs可能會變更。

ts_name=tracking-server-name region=valid-region version=valid-version aws sagemaker create-mlflow-tracking-server \ --tracking-server-name $ts_name \ --artifact-store-uri s3://$bucket_name \ --role-arn $role_arn \ --automatic-model-registration \ --region $region \ --mlflow-version $version

輸出格式應類似以下內容:

{ "TrackingServerArn": "arn:aws:sagemaker:region:123456789012:mlflow-tracking-server/tracking-server-name" }
重要

請記下追蹤伺服器 ARN 以供日後使用。您也需要 $bucket_name進行清除步驟。