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

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

使用 建立追蹤伺服器 AWS CLI

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

必要條件

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

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

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

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

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

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

設定 AWS CLI 模型

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

  1. 安裝更新版本的 AWS CLI。如需詳細資訊,請參閱 使用者指南 中的安裝或更新至最新版本的 AWS CLIAWS 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. 使用信任政策檔案建立角色。然後,在您的帳戶中連接MLflow允許存取 Amazon S3 和 SageMaker 模型登錄檔IAM的角色政策。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-serverAPI在您的 AWS 區域 選擇中建立追蹤伺服器。此步驟最多可能需要 25 分鐘。

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

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

建立追蹤伺服器後,您可以啟動 MLflow UI。如需詳細資訊,請參閱使用預先簽署的網址啟動 MLFlow 使用者介面

注意

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

ts_name=tracking-server-name region=valid-region 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

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

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

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