Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Crea un server di tracciamento utilizzando il AWS CLI
È possibile creare un server di tracciamento utilizzando il AWS CLI per una personalizzazione della sicurezza più granulare.
Prerequisiti
Per creare un server di tracciamento utilizzando il AWS CLI, è necessario disporre di quanto segue:
-
Accesso a un terminale.Ciò può includere un'istanza localeIDEs, un'EC2istanza Amazon o AWS CloudShell.
-
Accesso a un ambiente di sviluppo. Ciò può includere un ambiente notebook locale IDEs o Jupyter all'interno di Studio o Studio Classic.
-
Un'installazione configurata. AWS CLI Per ulteriori informazioni, consulta Configurazione della AWS CLI
-
Un IAM ruolo con le autorizzazioni appropriate. I passaggi seguenti richiedono che l'ambiente disponga di
iam:CreateRole
iam:CreatePolicy
iam:AttachRolePolicy
, eiam:ListPolicies
autorizzazioni. Queste autorizzazioni sono necessarie per il ruolo utilizzato per eseguire i passaggi descritti in questa guida per l'utente. Le istruzioni contenute in questa guida creano un IAM ruolo che viene utilizzato come ruolo di esecuzione del server di MLflow tracciamento in modo che possa accedere ai dati nei tuoi bucket Amazon S3. Inoltre, viene creata una policy per assegnare al IAM ruolo dell'utente che interagisce con il server di tracciamento l'MLflowSDKautorizzazione alla chiamata. MLflow APIs Per ulteriori informazioni, vedere Modifica dei criteri di autorizzazione di un ruolo (console).Se utilizzi uno SageMaker Studio Notebook, aggiorna il ruolo di servizio per il tuo profilo utente di Studio con queste IAM autorizzazioni. Per aggiornare il ruolo di servizio, accedi alla SageMaker console e seleziona il dominio che stai utilizzando. Quindi, sotto il dominio, seleziona il profilo utente che stai utilizzando. Qui vedrai il ruolo di servizio elencato. Accedi alla IAM console, cerca il ruolo di servizio in Ruoli e aggiorna il tuo ruolo con una politica che consenta le
iam:CreateRole
,iam:CreatePolicy
iam:AttachRolePolicy
, eiam:ListPolicies
le azioni.
Configura il AWS CLI modello
Segui questi passaggi della riga di comando all'interno di un terminale AWS CLI per configurare Amazon SageMaker conMLflow.
-
Installa una versione aggiornata di AWS CLI. Per ulteriori informazioni, consulta Installare o aggiornare alla versione più recente di AWS CLI nella Guida per l'AWS CLI utente.
-
Verificate che AWS CLI sia installato utilizzando il seguente comando:
aws sagemaker help
q
Premete per uscire dal prompt.Per la risoluzione dei problemi, consultare Risolvi i problemi di configurazione più comuni.
Configura l'infrastruttura MLflow
La sezione seguente mostra come configurare un server di MLflow tracciamento insieme al bucket Amazon S3 e al IAM ruolo necessari per il server di tracciamento.
Creare un bucket S3
All'interno del tuo terminale, usa i seguenti comandi per creare un bucket Amazon S3 generico:
Nota
Il bucket Amazon S3 utilizzato per il tuo negozio di manufatti deve trovarsi nello stesso Regione AWS del tuo server di tracciamento.
bucket_name=
bucket-name
region=valid-region
aws s3api create-bucket \ --bucket$bucket_name
\ --region$region
\ --create-bucket-configuration LocationConstraint=$region
L'output visualizzato dovrebbe essere simile al seguente:
{ "Location": "/
bucket-name
" }
Imposta politiche di fiducia IAM
Utilizza i seguenti passaggi per creare una politica IAM di fiducia. Per ulteriori informazioni sui ruoli e sulle politiche di attendibilità, consulta i termini e i concetti relativi ai ruoli nella Guida per l'AWS Identity and Access Management utente.
-
All'interno del terminale, utilizzate il seguente comando per creare un file chiamato
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 -
All'interno del terminale, utilizzate il seguente comando per creare un file chiamato
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
-
Utilizzate il file dei criteri di fiducia per creare un ruolo. Quindi, allega politiche di IAM ruolo che consentano di accedere MLflow ad Amazon S3 e SageMaker Model Registry all'interno del tuo account. MLflowdeve avere accesso ad Amazon S3 per l'archivio degli artefatti del tuo server di tracciamento e al Model Registry per la registrazione automatica dei SageMaker modelli.
Nota
Se stai aggiornando un ruolo esistente, usa invece il seguente comando:.
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)
Crea un server MLflow di tracciamento
All'interno del tuo terminale, usa il create-mlflow-tracking-server
API per creare un server Regione AWS di tracciamento a tua scelta. Questa operazione può richiedere fino a 25 minuti.
Facoltativamente, puoi specificare la dimensione del tuo server di tracciamento con il parametro--tracking-server-config
. Scegli tra "Small"
"Medium"
, e"Large"
. La dimensione di configurazione predefinita del MLflow Tracking Server è"Small"
. È possibile scegliere una dimensione in base all'uso previsto del server di tracciamento, ad esempio il volume di dati registrati, il numero di utenti e la frequenza di utilizzo. Per ulteriori informazioni, consulta MLflowDimensioni del server di monitoraggio.
Il comando seguente crea un nuovo server di tracciamento con la registrazione automatica del modello abilitata. Per disattivare la registrazione automatica del modello, specificare--no-automatic-model-registration
.
Dopo aver creato il server di tracciamento, puoi avviare l'MLflowinterfaccia utente. Per ulteriori informazioni, consulta Avvia l'interfaccia utente MLFlow utilizzando un URL predefinito.
Nota
Potrebbero essere necessari fino a 25 minuti per completare la creazione del server di tracciamento. Se la creazione del server di tracciamento impiega più di 25 minuti, verifica di disporre delle IAM autorizzazioni necessarie. Per ulteriori informazioni sulle IAM autorizzazioni, consulta. Imposta le IAM autorizzazioni per MLflow Quando crei correttamente un server di tracciamento, questo si avvia automaticamente.
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
L'output visualizzato dovrebbe essere simile al seguente:
{ "TrackingServerArn": "arn:aws:sagemaker:
region
:123456789012
:mlflow-tracking-server/tracking-server-name
" }
Importante
Prendi nota del server di tracciamento ARN per un uso successivo. Avrai anche bisogno dei passaggi $bucket_name
per la pulizia.