View a markdown version of this page

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.

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

Note

Avis de fin de support : le 30 juin 2027, le support d'Amazon SageMaker Profiler AWS prendra fin. Après le 30 juin 2027, vous ne pourrez plus accéder à la console Profiler ni aux ressources du Profiler. Pour de plus amples informations, veuillez consulter Modification de la disponibilité du profileur.

Par défaut, le profilage de base du SageMaker débogueur est activé par défaut et surveille les mesures d'utilisation des ressources, telles que l'utilisation du processeur, l'utilisation du GPU, l'utilisation de la mémoire du GPU, le réseau et le temps d' I/Oattente, de toutes les tâches de SageMaker formation soumises à l'aide du SDK Amazon SageMaker Python. SageMaker Le débogueur 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 Debugger-specific paramètres lors de la création d'un lanceur de tâches de SageMaker formation à l'aide du SDK SageMaker Python ou AWS Command Line Interface (CLI). AWS SDK pour Python (Boto3) Dans ce guide, nous nous concentrons sur la manière de modifier les options de profilage à l'aide du SDK https://sagemaker.readthedocs.io/en/stable 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 mesures 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 débogueur, vous devez mettre à niveau le SDK SageMaker Python et la SMDebug bibliothèque cliente. Dans votre noyau IPython, Jupyter Notebook ou JupyterLab 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 du SDK AI Python SageMaker

Pour ajuster la configuration de base du profilage (profiler_config) ou ajouter les règles du profileur (rules), utilisez le modèle suivant pour configurer une tâche de formation en SageMaker IA. 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.

# An example of creating a training job with profiler configuration import boto3 from sagemaker.core import image_uris from sagemaker.core.resources import TrainingJob from sagemaker.core.shapes import ( AlgorithmSpecification, ResourceConfig, OutputDataConfig, StoppingCondition, ProfilerConfig as CoreProfilerConfig, ProfilerRuleConfiguration, ) session=boto3.session.Session() region=session.region_name # Retrieve the training image for your framework # Change framework to "tensorflow", "mxnet", "xgboost", etc. as needed training_image = image_uris.retrieve( framework="pytorch", # or "tensorflow", "mxnet", "xgboost" region=region, version="1.12.0", py_version="py37", instance_type="ml.p3.2xlarge", image_scope="training" ) profiler_config=CoreProfilerConfig(...) profiler_rule_configurations=[ ProfilerRuleConfiguration( rule_configuration_name="BuiltInRule", rule_evaluator_image="rule-evaluator-image-uri", ) ] TrainingJob.create( training_job_name="debugger-profiling-demo", algorithm_specification=AlgorithmSpecification( training_image=training_image, training_input_mode="File", ), role_arn="arn:aws:iam::123456789012:role/SageMakerRole", resource_config=ResourceConfig(instance_type="ml.p3.2xlarge", instance_count=1, volume_size_in_gb=30), output_data_config=OutputDataConfig(s3_output_path="s3://bucket/output"), stopping_condition=StoppingCondition(max_runtime_in_seconds=3600), # SageMaker Debugger parameters profiler_config=profiler_config, profiler_rule_configurations=profiler_rule_configurations, )
Note

Pour MXNet et 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 MXNet ou XGBoost.

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

  • rules— Configurez ce paramètre pour activer les règles intégrées du SageMaker débogueur 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 Utiliser les 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 les URI du compartiment S3 par défaut à l'aide des méthodes de classe SageMaker AI estimator.

Consultez les rubriques suivantes pour savoir comment configurer les Debugger-specific paramètres en détail.