Créez un serveur de suivi à l'aide du AWS CLI - Amazon SageMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Créez un serveur de suivi à l'aide du AWS CLI

Vous pouvez créer un serveur de suivi à l'aide du AWS CLI pour une personnalisation plus précise de la sécurité.

Prérequis

Pour créer un serveur de suivi à l'aide du AWS CLI, vous devez disposer des éléments suivants :

  • Accès à un terminal.Cela peut inclure une instance localeIDEs, une EC2 instance Amazon ou AWS CloudShell.

  • Accès à un environnement de développement. Cela peut inclure un environnement de bloc-notes local IDEs ou Jupyter dans Studio ou Studio Classic.

  • Une AWS CLI installation configurée. Pour plus d'informations, veuillez consulter Configuration de l' AWS CLI.

  • Un IAM rôle doté des autorisations appropriées. Les étapes suivantes nécessitent que votre environnement dispose deiam:CreateRole, iam:CreatePolicyiam:AttachRolePolicy, et iam:ListPolicies d'autorisations. Ces autorisations sont nécessaires pour le rôle utilisé pour exécuter les étapes décrites dans ce guide de l'utilisateur. Les instructions de ce guide créent un IAM rôle qui est utilisé comme rôle d'exécution du serveur de MLflow suivi afin qu'il puisse accéder aux données de vos compartiments Amazon S3. En outre, une politique est créée pour attribuer le IAM rôle de l'utilisateur qui interagit avec le serveur de suivi via l'MLflowSDKautorisation d'appeler MLflowAPIs. Pour plus d'informations, consultez la section Modification d'une politique d'autorisations de rôle (console).

    Si vous utilisez un bloc-notes SageMaker Studio, mettez à jour le rôle de service de votre profil utilisateur Studio avec ces IAM autorisations. Pour mettre à jour le rôle de service, accédez à la SageMaker console et sélectionnez le domaine que vous utilisez. Ensuite, sous le domaine, sélectionnez le profil utilisateur que vous utilisez. Vous y verrez le rôle de service répertorié. Accédez à la IAM console, recherchez le rôle de service sous Rôles et mettez à jour votre rôle avec une politique autorisant lesiam:CreateRole, iam:CreatePolicyiam:AttachRolePolicy, et iam:ListPolicies les actions.

Configurer le AWS CLI modèle

Suivez ces étapes de ligne de commande dans un terminal pour configurer le AWS CLI pour Amazon SageMaker avecMLflow.

  1. Installez une version mise à jour du AWS CLI. Pour plus d'informations, voir Installer ou mettre à jour la dernière version du AWS CLI dans le guide de AWS CLI l'utilisateur.

  2. Vérifiez que le AWS CLI est installé à l'aide de la commande suivante :

    aws sagemaker help

    Appuyez q pour quitter l'invite.

    Pour bénéficier d'une aide à la résolution des problèmes, consultez Résoudre les problèmes de configuration courants.

Configuration de MLflow l'infrastructure

La section suivante explique comment configurer un serveur de MLflow suivi ainsi que le compartiment Amazon S3 et le IAM rôle nécessaires pour le serveur de suivi.

Création d’un compartiment S3

Dans votre terminal, utilisez les commandes suivantes pour créer un compartiment Amazon S3 à usage général :

Note

Le compartiment Amazon S3 utilisé pour votre magasin d'artefacts doit se trouver dans le même emplacement Région AWS que votre serveur de suivi.

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

La sortie doit ressembler à ce qui suit :

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

Mettre en place des politiques de IAM confiance

Suivez les étapes ci-dessous pour créer une politique de IAM confiance. Pour plus d'informations sur les rôles et les politiques de confiance, consultez la section Termes et concepts relatifs aux rôles dans le Guide de AWS Identity and Access Management l'utilisateur.

  1. Dans votre terminal, utilisez la commande suivante pour créer un fichier appelé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. Dans votre terminal, utilisez la commande suivante pour créer un fichier appelé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. Utilisez le fichier de politique de confiance pour créer un rôle. Ajoutez ensuite des politiques de IAM rôle qui permettent MLflow d'accéder à Amazon S3 et à SageMaker Model Registry depuis votre compte. MLflowdoit avoir accès à Amazon S3 pour le magasin d'artefacts de votre serveur de suivi et au SageMaker Model Registry pour l'enregistrement automatique des modèles.

    Note

    Si vous mettez à jour un rôle existant, utilisez plutôt la commande suivante : 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)

Création d'un serveur MLflow de suivi

Dans votre terminal, utilisez le create-mlflow-tracking-server API pour créer un serveur de suivi dans celui Région AWS de votre choix. Cette étape peut prendre jusqu'à 25 minutes.

Vous pouvez éventuellement spécifier la taille de votre serveur de suivi à l'aide du paramètre--tracking-server-config. Choisissez entre "Small""Medium", et"Large". La taille de configuration du serveur de MLflow suivi par défaut est"Small". Vous pouvez choisir une taille en fonction de l'utilisation prévue du serveur de suivi, telle que le volume de données enregistrées, le nombre d'utilisateurs et la fréquence d'utilisation. Pour de plus amples informations, veuillez consulter MLflowTailles des serveurs de suivi.

La commande suivante crée un nouveau serveur de suivi avec l'enregistrement automatique des modèles activé. Pour désactiver l'enregistrement automatique des modèles, spécifiez--no-automatic-model-registration.

Après avoir créé votre serveur de suivi, vous pouvez lancer l'MLflowinterface utilisateur. Pour de plus amples informations, veuillez consulter Lancez l'interface utilisateur MLflow à l'aide d'une URL présignée.

Note

La création du serveur de suivi peut prendre jusqu'à 25 minutes. Si la création du serveur de suivi prend plus de 25 minutes, vérifiez que vous disposez des IAM autorisations nécessaires. Pour plus d'informations sur IAM les autorisations, consultezConfigurez IAM les autorisations pour MLflow. Lorsque vous créez un serveur de suivi avec succès, celui-ci démarre automatiquement.

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

La sortie doit ressembler à ce qui suit :

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

Prenez note du serveur de suivi ARN pour une utilisation ultérieure. Vous aurez également besoin $bucket_name des étapes de nettoyage.