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é.
Conditions préalables
Pour créer un serveur de suivi à l'aide duAWS CLI, vous devez disposer des éléments suivants :
-
Accès à un terminal.Cela peut inclure une instance locale IDEs, une EC2 instance Amazon ouAWS 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, consultez Configuration de l’AWS CLI.
-
Rôle IAM avec autorisations appropriées. Les étapes suivantes nécessitent que votre environnement dispose des autorisations
iam:CreateRole,iam:CreatePolicy,iam:AttachRolePolicyetiam:ListPolicies. Ces autorisations sont nécessaires sur le rôle utilisé pour exécuter les étapes indiquées dans ce guide de l’utilisateur. Les instructions de ce guide créent un rôle IAM 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 donner au rôle IAM de l'utilisateur qui interagit avec le serveur de suivi via le MLflow SDK l'autorisation d'appeler. MLflow APIs Pour plus d’informations, consultez Modification d’une stratégie d’autorisation 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 autorisations IAM. Pour mettre à jour le rôle de service, accédez à la console SageMaker AI 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 console IAM, recherchez le rôle de service sous Rôles, puis mettez à jour votre rôle avec une politique autorisant les actions
iam:CreateRole,iam:CreatePolicy,iam:AttachRolePolicyetiam:ListPolicies.
Configurer le AWS CLI modèle
Suivez ces étapes de ligne de commande dans un terminal AWS CLI pour configurer Amazon SageMaker AI avec MLflow.
-
Installez une version mise à jour duAWS CLI. Pour plus d’informations, consultez Installation ou mise à jour de la dernière version de l’AWS CLI dans le Guide de l’utilisateur de l’AWS CLI.
-
Vérifiez que le AWS CLI est installé à l'aide de la commande suivante :
aws sagemaker helpAppuyez sur
qpour quitter l’invite.Pour bénéficier d'une aide à la résolution des problèmes, consultez Résolution des 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 rôle IAM nécessaires au 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 :
Important
Lorsque vous fournissez l'URI Amazon S3 pour votre magasin d'artefacts, assurez-vous que le compartiment Amazon S3 se trouve dans le même emplacement Région AWS que votre serveur de suivi. Le stockage d’artefacts entre régions n’est pas pris en charge.
bucket_name=bucket-nameregion=valid-regionaws s3api create-bucket \ --bucket$bucket_name\ --region$region\ --create-bucket-configuration LocationConstraint=$region
La sortie doit ressembler à ce qui suit :
{ "Location": "/bucket-name" }
Configuration de politiques de confiance IAM
Procédez comme suit pour créer une politique de confiance IAM. Pour plus d’informations sur les rôles et les politiques de confiance, consultez Termes et concepts relatifs aux rôles dans le Guide de l’utilisateur Gestion des identités et des accès AWS.
-
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 -
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 -
Utilisez le fichier de la politique de confiance pour créer un rôle. Ajoutez ensuite des politiques de rôle IAM qui permettent d'accéder MLflow à Amazon S3 et à SageMaker Model Registry depuis votre compte. MLflow doit 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
aws iam update-assume-role-policy --role-name.$role_name--policy-documentfile:///tmp/mlflow-trust-policy.jsonrole_name=role-nameaws iam create-role \ --role-name$role_name\ --assume-role-policy-document file:///tmp/mlflow-trust-policy.jsonaws iam put-role-policy \ --role-name$role_name\ --policy-namecustom-policy\ --policy-document file:///tmp/custom-policy.jsonrole_arn=$(aws iam get-role --role-name $role_name --query 'Role.Arn' --output text)
Créer un serveur MLflow de suivi
Dans votre terminal, utilisez l'create-mlflow-tracking-serverAPI pour créer un serveur de suivi dans celui Région AWS de votre choix. Ce processus peut prendre jusqu’à 25 minutes.
Vous pouvez éventuellement spécifier la taille de votre serveur de suivi avec le paramètre --tracking-server-config. Choisir 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 journalisées, le nombre d’utilisateurs et la fréquence d’utilisation. Pour de plus amples informations, veuillez consulter MLflow Tailles 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' MLflow interface utilisateur. Pour de plus amples informations, veuillez consulter Lancement de 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 autorisations IAM nécessaires. Pour plus d’informations sur les autorisations IAM, consultez Configurer les autorisations IAM pour MLflow. Lorsque vous réussissez à créer un serveur de suivi, celui-ci démarre automatiquement.
Lorsque vous créez un serveur de suivi, nous vous recommandons de spécifier la dernière version. Pour en savoir plus sur les versions disponibles, consultez Versions de serveur de suivi.
Par défaut, le serveur de suivi créé est la dernière version. Cependant, nous vous recommandons de toujours spécifier explicitement la dernière version, car le sous-jacent MLflow APIs peut changer.
ts_name=tracking-server-nameregion=valid-regionversion=valid-versionaws 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
La sortie doit ressembler à ce qui suit :
{ "TrackingServerArn": "arn:aws:sagemaker:region:123456789012:mlflow-tracking-server/tracking-server-name" }
Important
Notez l’ARN du serveur de suivi pour utilisation ultérieure. Vous aurez également besoin du $bucket_name pour les étapes de nettoyage.