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 ».

Configuration de l'estimateur avec paramètres pour le profilage de base à l'aide des modules Python d'Amazon SageMaker Debugger

Mode de mise au point
Configuration de l'estimateur avec paramètres pour le profilage de base à l'aide des modules Python d'Amazon SageMaker Debugger - 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.

Par défaut, le profilage de base du SageMaker Debugger est activé par défaut et surveille les indicateurs d'utilisation des ressources, tels que l'utilisation du processeur, l'utilisation du processeur graphique, l'utilisation de la mémoire du processeur graphique, le temps d'attente du réseau et les temps d'attente des E/S, de toutes les tâches de SageMaker formation soumises à l'aide du SDK Amazon Python SageMaker . SageMaker Debugger collecte ces mesures d'utilisation des ressources toutes les 500 millisecondes. Vous n'avez pas besoin d'apporter de modifications supplémentaires à votre code, à votre script d'entraînement ou au lanceur de tâches pour suivre l'utilisation des ressources de base. Si vous souhaitez modifier l'intervalle de collecte des métriques pour le profilage de base, vous pouvez spécifier des paramètres spécifiques au débogueur lors de la création d'un lanceur de tâches d' SageMaker entraînement à l'aide du SDK SageMaker Python, AWS SDK for Python (Boto3) ou (CLI). AWS Command Line Interface Dans ce guide, nous nous concentrons sur la façon de modifier les options de profilage à l'aide du SDK Amazon SageMaker Python. Cette page fournit des modèles de référence pour configurer cet objet estimateur.

Si vous souhaitez accéder au tableau de bord des indicateurs d'utilisation des ressources de votre tâche de formation dans SageMaker Studio, vous pouvez accéder auInterface utilisateur Amazon SageMaker Debugger dans Amazon SageMaker Studio Classic Experiments.

Si vous souhaitez activer les règles qui détectent automatiquement les problèmes d'utilisation des ressources du système, vous pouvez ajouter le paramètre rules dans l'objet estimateur pour activer les règles.

Important

Pour utiliser les dernières fonctionnalités du SageMaker Debugger, vous devez mettre à niveau le SDK SageMaker Python et la SMDebug bibliothèque cliente. Dans votre noyau IPython, Jupyter Notebook JupyterLab ou votre environnement, exécutez le code suivant pour installer les dernières versions des bibliothèques et redémarrer le noyau.

import sys import IPython !{sys.executable} -m pip install -U sagemaker smdebug IPython.Application.instance().kernel.do_shutdown(True)

Modèle de code pour configurer un objet estimateur SageMaker AI avec les modules SageMaker Debugger Python dans le SageMaker SDK AI Python

Pour ajuster la configuration de profilage de base (profiler_config) ou ajouter les règles du profileur (rules), choisissez l'un des onglets pour obtenir le modèle de configuration d'un estimateur SageMaker AI. Dans les pages suivantes, vous pouvez trouver plus d'informations sur la configuration des deux paramètres.

Note

Les exemples de codes suivants ne sont pas directement exécutables. Passez aux sections suivantes pour découvrir comment configurer chaque paramètre.

PyTorch
# An example of constructing a SageMaker AI PyTorch estimator import boto3 import sagemaker from sagemaker.pytorch import PyTorch from sagemaker.debugger import ProfilerConfig, ProfilerRule, rule_configs session=boto3.session.Session() region=session.region_name profiler_config=ProfilerConfig(...) rules=[ ProfilerRule.sagemaker(rule_configs.BuiltInRule()) ] estimator=PyTorch( entry_point="directory/to/your_training_script.py", role=sagemaker.get_execution_role(), base_job_name="debugger-profiling-demo", instance_count=1, instance_type="ml.p3.2xlarge", framework_version="1.12.0", py_version="py37", # SageMaker Debugger parameters profiler_config=profiler_config, rules=rules ) estimator.fit(wait=False)
TensorFlow
# An example of constructing a SageMaker AI TensorFlow estimator import boto3 import sagemaker from sagemaker.tensorflow import TensorFlow from sagemaker.debugger import ProfilerConfig, ProfilerRule, rule_configs session=boto3.session.Session() region=session.region_name profiler_config=ProfilerConfig(...) rules=[ ProfilerRule.sagemaker(rule_configs.BuiltInRule()) ] estimator=TensorFlow( entry_point="directory/to/your_training_script.py", role=sagemaker.get_execution_role(), base_job_name="debugger-profiling-demo", instance_count=1, instance_type="ml.p3.2xlarge", framework_version="2.8.0", py_version="py37", # SageMaker Debugger parameters profiler_config=profiler_config, rules=rules ) estimator.fit(wait=False)
MXNet
# An example of constructing a SageMaker AI MXNet estimator import sagemaker from sagemaker.mxnet import MXNet from sagemaker.debugger import ProfilerConfig, ProfilerRule, rule_configs profiler_config=ProfilerConfig(...) rules=[ ProfilerRule.sagemaker(rule_configs.BuiltInRule()) ] estimator=MXNet( entry_point="directory/to/your_training_script.py", role=sagemaker.get_execution_role(), base_job_name="debugger-profiling-demo", instance_count=1, instance_type="ml.p3.2xlarge", framework_version="1.7.0", py_version="py37", # SageMaker Debugger parameters profiler_config=profiler_config, rules=rules ) estimator.fit(wait=False)
Note

En effet MXNet, lors de la configuration du profiler_config paramètre, vous ne pouvez le configurer que pour la surveillance du système. Les métriques du framework de profilage ne sont pas prises en charge pour MXNet.

XGBoost
# An example of constructing a SageMaker AI XGBoost estimator import sagemaker from sagemaker.xgboost.estimator import XGBoost from sagemaker.debugger import ProfilerConfig, ProfilerRule, rule_configs profiler_config=ProfilerConfig(...) rules=[ ProfilerRule.sagemaker(rule_configs.BuiltInRule()) ] estimator=XGBoost( entry_point="directory/to/your_training_script.py", role=sagemaker.get_execution_role(), base_job_name="debugger-profiling-demo", instance_count=1, instance_type="ml.p3.2xlarge", framework_version="1.5-1", # Debugger-specific parameters profiler_config=profiler_config, rules=rules ) estimator.fit(wait=False)
Note

En effet XGBoost, lors de la configuration du profiler_config paramètre, vous ne pouvez le configurer que pour la surveillance du système. Les métriques du framework de profilage ne sont pas prises en charge pour XGBoost.

Generic estimator
# An example of constructing a SageMaker AI generic estimator using the XGBoost algorithm base image import boto3 import sagemaker from sagemaker.estimator import Estimator from sagemaker import image_uris from sagemaker.debugger import ProfilerConfig, DebuggerHookConfig, Rule, ProfilerRule, rule_configs profiler_config=ProfilerConfig(...) rules=[ ProfilerRule.sagemaker(rule_configs.BuiltInRule()) ] region=boto3.Session().region_name xgboost_container=sagemaker.image_uris.retrieve("xgboost", region, "1.5-1") estimator=Estimator( role=sagemaker.get_execution_role() image_uri=xgboost_container, base_job_name="debugger-demo", instance_count=1, instance_type="ml.m5.2xlarge", # Debugger-specific parameters profiler_config=profiler_config, rules=rules ) estimator.fit(wait=False)
# An example of constructing a SageMaker AI PyTorch estimator import boto3 import sagemaker from sagemaker.pytorch import PyTorch from sagemaker.debugger import ProfilerConfig, ProfilerRule, rule_configs session=boto3.session.Session() region=session.region_name profiler_config=ProfilerConfig(...) rules=[ ProfilerRule.sagemaker(rule_configs.BuiltInRule()) ] estimator=PyTorch( entry_point="directory/to/your_training_script.py", role=sagemaker.get_execution_role(), base_job_name="debugger-profiling-demo", instance_count=1, instance_type="ml.p3.2xlarge", framework_version="1.12.0", py_version="py37", # SageMaker Debugger parameters profiler_config=profiler_config, rules=rules ) estimator.fit(wait=False)

Vous trouverez ci-dessous de brèves descriptions des paramètres.

  • profiler_config : configurez Debugger pour collecter les métriques système et les métriques de framework de votre tâche d'entraînement et les enregistrer dans votre URI de compartiment S3 sécurisé ou votre machine locale. Vous pouvez définir la fréquence ou le degré de collecte des métriques du système. Pour en savoir plus sur la configuration du paramètre profiler_config, consultez Configuration des paramètres pour le profilage de base de l'utilisation des ressources du système et Configuration de l'estimateur pour le profilage du framework.

  • rules— Configurez ce paramètre pour activer les règles intégrées du SageMaker Debugger que vous souhaitez exécuter en parallèle. Assurez-vous que votre tâche d'entraînement a accès à ce compartiment S3. Les règles s'appliquent au traitement des conteneurs et analysent automatiquement votre tâche d'entraînement pour détecter les problèmes de performance de calcul et opérationnelle. La règle ProfilerReport est la règle la plus intégrée qui exécute toutes les règles de profilage intégrées et enregistre les résultats du profilage sous forme de rapport dans votre compartiment S3 sécurisé. Pour savoir comment configurer le paramètre rules, consultez Utilisez des règles de profilage intégrées gérées par Amazon Debugger SageMaker .

Note

Debugger enregistre en toute sécurité les données de sortie dans les sous-dossiers de votre compartiment S3 par défaut. Par exemple, le format de l'URI du compartiment S3 par défaut est s3://sagemaker-<region>-<12digit_account_id>/<base-job-name>/<debugger-subfolders>/. Il y a trois sous-dossiers créés par Debugger : debug-output, profiler-output et rule-output. Vous pouvez également récupérer le compartiment S3 par défaut à URIs l'aide des méthodes de SageMaker classe AI estimator.

Consultez les rubriques suivantes pour savoir comment configurer en détail les paramètres spécifiques à Debugger.

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