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