本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 建立追蹤伺服器 AWS CLI
您可以使用 建立追蹤伺服器 AWS CLI ,以更精細地自訂安全性。
必要條件
若要使用 建立追蹤伺服器 AWS CLI,您必須具備下列項目:
-
存取終端機。 這可能包括本機 IDEs、Amazon EC2 執行個體或 AWS CloudShell。
-
存取開發環境。這可能包括 Studio 或 Studio Classic 內的本機 IDEs 或 Jupyter 筆記本環境。
-
設定的 AWS CLI 安裝。如需詳細資訊,請參閱設定 AWS CLI。
-
具有適當許可的 IAM 角色。下列步驟需要您的環境具有
iam:CreateRole
、iam:AttachRolePolicy
、iam:CreatePolicy
和iam:ListPolicies
許可。用於執行本使用者指南中步驟的角色需要這些許可。本指南中的指示會建立 IAM 角色,做為 MLflow 追蹤伺服器的執行角色,以便其存取 Amazon S3 儲存貯體中的資料。此外,還會建立政策,提供使用者透過 MLflow SDK 許可與追蹤伺服器互動以呼叫 MLflow APIs IAM 角色。如需詳細資訊,請參閱修改角色許可政策 (主控台)。如果使用 SageMaker Studio 筆記本,請使用這些 IAM 許可更新 Studio 使用者設定檔的服務角色。若要更新服務角色,請導覽至 SageMaker AI 主控台,然後選取您正在使用的網域。然後,在網域下,選取您正在使用的使用者設定檔。您會在那裡看到列出的服務角色。導覽至 IAM 主控台,在角色下搜尋服務角色,並使用允許
iam:CreateRole
、iam:CreatePolicy
、iam:AttachRolePolicy
和iam:ListPolicies
動作的政策更新您的角色。
設定 AWS CLI 模型
請依照終端機中的這些命令列步驟,設定 AWS CLI Amazon SageMaker AI with MLflow。
-
安裝更新版本的 AWS CLI。如需詳細資訊,請參閱AWS CLI 《 使用者指南》中的安裝或更新至最新版本的 AWS CLI。
-
使用以下命令確認 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 《 使用者指南》中的角色術語和概念。
-
在終端機中,使用以下命令來建立名為 的檔案
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 -
在終端機中,使用以下命令來建立名為 的檔案
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
-
使用信任政策檔案來建立角色。然後,連接 IAM 角色政策,允許 MLflow 存取您帳戶中的 Amazon S3 和 SageMaker 模型登錄檔。MLflow 必須具有追蹤伺服器成品存放區的 Amazon S3 存取權,以及自動模型註冊的 SageMaker 模型登錄檔。
注意
如果您要更新現有角色,請改用下列命令:
aws iam update-assume-role-policy --role-name
。$role_name
--policy-documentfile:///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-namecustom-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
進行清除步驟。