Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Utilisez des piscines d'eau chaude gérées par l' SageMaker IA

Mode de mise au point
Utilisez des piscines d'eau chaude gérées par l' SageMaker IA - Amazon SageMaker AI

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.

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.

Vous pouvez utiliser des pools de chaleur gérés par l' SageMaker IA via le SDK SageMaker Python, la console Amazon SageMaker AI ou via le bas APIs niveau. Les administrateurs peuvent éventuellement utiliser la clé de condition sagemaker:KeepAlivePeriod pour restreindre davantage les limites KeepAlivePeriodInSeconds pour certains utilisateurs ou groupes.

Utilisation du SDK SageMaker AI Python

Créez, mettez à jour ou supprimez des pools de chaleur à l'aide du SDK SageMaker Python.

Note

Cette fonctionnalité est disponible dans le SDK SageMaker AI Python v2.110.0 et versions ultérieures.

Créer un groupe d'instances pré-initialisées

Pour créer un pool de chaleur, utilisez le SDK SageMaker Python pour créer un estimateur avec une keep_alive_period_in_seconds valeur supérieure à 0 et appelez. fit() Une fois la tâche d'entraînement terminée, un groupe d'instances pré-initialisées est retenu. Pour plus d'informations sur les scripts d'entraînement et les estimateurs, voir Entraîner un modèle avec le SDK SageMaker Python. Si votre script ne crée pas de groupe d'instances pré-initialisées, consultez Création d'un groupe d'instances pré-initialisées pour obtenir les explications possibles.

import sagemaker from sagemaker import get_execution_role from sagemaker.tensorflow import TensorFlow # Creates a SageMaker AI session and gets execution role session = sagemaker.Session() role = get_execution_role() # Creates an example estimator estimator = TensorFlow( ... entry_point='my-training-script.py', source_dir='code', role=role, model_dir='model_dir', framework_version='2.2', py_version='py37', job_name='my-training-job-1', instance_type='ml.g4dn.xlarge', instance_count=1, volume_size=250, hyperparameters={ "batch-size": 512, "epochs": 1, "learning-rate": 1e-3, "beta_1": 0.9, "beta_2": 0.999, }, keep_alive_period_in_seconds=1800, ) # Starts a SageMaker training job and waits until completion estimator.fit('s3://my_bucket/my_training_data/')

Ensuite, créez une deuxième tâche d'entraînement correspondante. Dans cet exemple, nous créons my-training-job-2, qui possède tous les attributs nécessaires pour correspondre à my-training-job-1, mais qui possède un hyperparamètre différent pour l'expérimentation. La deuxième tâche d'entraînement réutilise le groupe d'instances pré-initialisées et démarre plus rapidement que la première. L'exemple de code suivant utilise un estimateur Tensorflow. La fonctionnalité Warm Pool peut être utilisée avec n'importe quel algorithme d'entraînement exécuté sur Amazon SageMaker AI. Pour plus d'informations sur les attributs qui doivent correspondre, consultez Tâches d'entraînement correspondantes.

# Creates an example estimator estimator = TensorFlow( ... entry_point='my-training-script.py', source_dir='code', role=role, model_dir='model_dir', framework_version='py37', py_version='pyxy', job_name='my-training-job-2', instance_type='ml.g4dn.xlarge', instance_count=1, volume_size=250, hyperparameters={ "batch-size": 512, "epochs": 2, "learning-rate": 1e-3, "beta_1": 0.9, "beta_2": 0.999, }, keep_alive_period_in_seconds=1800, ) # Starts a SageMaker training job and waits until completion estimator.fit('s3://my_bucket/my_training_data/')

Consultez l'état du groupe d'instances pré-initialisées des deux tâches d'entraînement pour veiller à ce qu'il soit Reused pour my-training-job-1 et InUse pour my-training-job-2.

Note

Les noms des tâches d'entraînement comportent des suffixes date/heure. Les exemples de noms des tâches d'entraînement my-training-job-1 et my-training-job-2 doivent être remplacés par les noms réels des tâches d'entraînement. Vous pouvez utiliser la commande estimator.latest_training_job.job_name pour récupérer le nom réel de la tâche d'entraînement.

session.describe_training_job('my-training-job-1') session.describe_training_job('my-training-job-2')

Le résultat de describe_training_job fournit tous les détails relatifs à une tâche d'entraînement donnée. Recherchez l'attribut WarmPoolStatus pour consulter les informations relatives au groupe d'instances pré-initialisées d'une tâche d'entraînement. Votre sortie doit ressembler à l'exemple suivant :

# Warm pool status for training-job-1 ... 'WarmPoolStatus': {'Status': 'Reused', 'ResourceRetainedBillableTimeInSeconds': 1000, 'ReusedByName': my-training-job-2} ... # Warm pool status for training-job-2 ... 'WarmPoolStatus': {'Status': 'InUse'} ...

Mettre à jour un groupe d'instances pré-initialisées

Lorsque la tâche d'entraînement est terminée et que l'état du groupe d'instances pré-initialisées est Available, mettez à jour la valeur KeepAlivePeriodInSeconds.

session.update_training_job(job_name, resource_config={"KeepAlivePeriodInSeconds":3600})

Terminer un groupe d'instances pré-initialisées

Pour résilier manuellement un groupe d'instances pré-initialisées, définissez la valeur KeepAlivePeriodInSeconds sur 0.

session.update_training_job(job_name, resource_config={"KeepAlivePeriodInSeconds":0})

Le groupe d'instances pré-initialisées se résilie automatiquement en cas de dépassement de la valeur KeepAlivePeriodInSeconds spécifiée ou de mise à jour du correctif pour le cluster.

Utilisation de la console Amazon SageMaker AI

Via la console, vous pouvez créer un groupe d'instances pré-initialisées ou vérifier le statut du groupe d'instances pré-initialisées et la durée facturable des tâches d'entraînement spécifiques. Vous pouvez également voir quelles tâches d'entraînement correspondantes ont réutilisé un groupe d'instances pré-initialisées.

  1. Ouvrez la console Amazon SageMaker AI et choisissez Training jobs dans le volet de navigation. Le cas échéant, le statut du groupe d'instances pré-initialisées de chaque tâche d'entraînement est visible dans la colonne Statut du groupe d'instances pré-initialisées et le temps restant pour un groupe d'instances pré-initialisée actif est visible dans la colonne Temps restant.

  2. Pour créer une tâche d'entraînement utilisant un groupe d'instances pré-initialisées depuis la console, choisissez Créer une tâche d'entraînement. Assurez-vous ensuite de spécifier une valeur pour le champ Période toujours active lorsque vous configurez les ressources de vos tâches d'entraînement. Cette valeur doit être un entier compris entre 1 et 3 600, ce qui représente la durée en secondes.

  3. Pour libérer un groupe d'instances pré-initialisées depuis la console, sélectionnez une tâche d'entraînement spécifique et choisissez Libérer le cluster dans le menu déroulant Actions.

  4. Pour voir plus d'informations sur un groupe d'instances pré-initialisées, choisissez un nom de tâche d'entraînement. Dans la page des détails de la tâche, faites défiler la page jusqu'à la section Statut du groupe d'instances pré-initialisées pour connaître le statut du groupe d'instances pré-initialisées, la durée restante si le statut du groupe d'instances pré-initialisées est Available, le nombre de secondes facturables du groupe d'instances pré-initialisées et le nom de la tâche d'entraînement ayant réutilisé le groupe d'instances pré-initialisées si l'état du groupe d'instances pré-initialisées est Reused.

Utilisation du bas niveau SageMaker APIs

Utilisez des pools de chaleur gérés par l' SageMaker IA avec l' SageMaker API ou la AWS CLI.

SageMaker API d'IA

Configurez des pools de chaleur gérés par l' SageMaker IA à l'aide de l' SageMaker API à l'aide des commandes suivantes :

AWS CLI

Configurez des pools de chaleur gérés par l' SageMaker IA à l'aide de la AWS CLI avec les commandes suivantes :

Clé de condition IAM

Les administrateurs peuvent éventuellement utiliser la clé de sagemaker:KeepAlivePeriod condition pour restreindre davantage les KeepAlivePeriodInSeconds limites pour certains utilisateurs ou groupes. SageMaker Les pools de chaleur gérés par l'IA sont limités à une KeepAlivePeriodInSeconds valeur de 3 600 secondes (60 minutes), mais les administrateurs peuvent abaisser cette limite si nécessaire.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceKeepAlivePeriodLimit", "Effect": "Allow", "Action": [ "sagemaker:CreateTrainingJob" ], "Resource": "*", "Condition": { "NumericLessThanIfExists": { "sagemaker:KeepAlivePeriod": 1800 } } } ] }

Pour plus d'informations, consultez la section Clés de condition pour Amazon SageMaker AI dans la référence d'autorisation de service.

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.