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.
Exemples de blocs-notes et de code pour configurer les règles Debugger
Note
Amazon SageMaker Debugger n'est plus ouvert aux nouveaux clients. Les clients existants peuvent continuer à utiliser le service normalement. AWS continue d'investir dans l'amélioration de la sécurité et de la disponibilité de Debugger, mais nous ne prévoyons pas d'introduire de nouvelles fonctionnalités. Pour de plus amples informations, veuillez consulter Modification de la disponibilité du débogueur.
Les sections suivantes proposent des blocs-notes et des exemples de code expliquant comment utiliser les règles du débogueur pour surveiller les tâches de SageMaker formation.
Rubriques
Exemples de blocs-notes de règles intégrées Debugger
Les exemples de blocs-notes suivants montrent comment utiliser les règles intégrées du débogueur lors de l'exécution de tâches de formation avec Amazon AI : SageMaker
Lorsque vous exécutez les exemples de blocs-notes dans SageMaker Studio, vous pouvez trouver l'essai de formation créé dans l'onglet Studio Experiment List. Par exemple, comme illustré dans la capture d'écran suivante, vous pouvez rechercher et ouvrir une fenêtre Describe Trial Component (Décrire le composant d'essai) de votre tâche d'entraînement actuelle. Sous l'onglet Debugger, vous pouvez vérifier si les règles de Debugger, vanishing_gradient() et loss_not_decreasing(), contrôlent la séance de formation en parallèle. Pour obtenir des instructions complètes sur la façon de trouver les composants d'essai de votre job de formation dans l'interface utilisateur de Studio, voir SageMaker Studio - Afficher les expériences, les essais et les composants d'essai.
Il existe deux manières d'utiliser les règles intégrées du débogueur dans l'environnement d' SageMaker IA : déployez les règles intégrées au fur et à mesure de leur préparation ou ajustez leurs paramètres comme vous le souhaitez. Les rubriques suivantes vous montrent comment utiliser les règles intégrées avec des exemples de codes.
Exemple de code pour les règles intégrées Debugger
L'exemple de code ci-après illustre comment configurer une règle intégrée Debugger à l'aide de la méthode Rule.sagemaker. Pour spécifier les règles intégrées que vous souhaitez exécuter, utilisez l'opération d'API rules_configs permettant d'appeler les règles intégrées. Pour obtenir la liste complète des règles intégrées et des valeurs de paramètres par défaut de Debugger, consultez Liste des règles intégrées à Debugger.
import boto3 import sagemaker from sagemaker.train import ModelTrainer from sagemaker.core.debugger import Rule, CollectionConfig, rule_configs from sagemaker.core.helper.session_helper import get_execution_role built_in_rules=[ Rule.sagemaker(rule_configs.vanishing_gradient()), Rule.sagemaker(rule_configs.loss_not_decreasing()) ] from sagemaker.core import image_uris from sagemaker.train.configs import SourceCode, Compute training_image = image_uris.retrieve( framework="tensorflow", region=boto3.Session().region_name, version="2.9.0", py_version="py39", instance_type="ml.p3.2xlarge", image_scope="training" ) # construct a SageMaker AI ModelTrainer with the Debugger built-in rules sagemaker_model_trainer=ModelTrainer( training_image=training_image, source_code=SourceCode(entry_script='directory/to/your_training_script.py'), role=get_execution_role(), base_job_name='debugger-built-in-rules-demo', compute=Compute(instance_type="ml.p3.2xlarge", instance_count=1), # debugger-specific arguments below rules=built_in_rules ) sagemaker_model_trainer.train()
Note
Les règles intégrées de Debugger s'exécutent en parallèle avec votre tâche d'entraînement. Le nombre maximal de conteneurs de règles intégrées pour une tâche d'entraînement est de 20.
Pour plus d'informations sur la classe de règles, les méthodes et les paramètres du débogueur, consultez la classe SageMaker Debugger Rule du SDK Amazon
Pour trouver un exemple d'ajustement des paramètres de règles Debugger, consultez la section Utilisation des règles intégrées Debugger avec modifications des paramètres suivante.
Utilisation des règles intégrées Debugger avec modifications des paramètres
L'exemple de code suivant présente la structure des règles intégrées permettant d'ajuster les paramètres. Dans cet exemple, la règle stalled_training_rule collecte la collection de tenseurs losses à partir d'une tâche d'entraînement toutes les 50 étapes et d'une étape d'évaluation toutes les 10 étapes. Si le processus d'entraînement commence à ralentir et ne collecte pas de sorties tenseurs pendant 120 secondes, la règle stalled_training_rule arrête la tâche d'entraînement.
import boto3 import time import sagemaker from sagemaker.train import ModelTrainer from sagemaker.core.debugger import Rule, CollectionConfig, rule_configs from sagemaker.core.helper.session_helper import get_execution_role # call the built-in rules and modify the CollectionConfig parameters base_job_name_prefix= 'smdebug-stalled-demo-' + str(int(time.time())) built_in_rules_modified=[ Rule.sagemaker( base_config=rule_configs.stalled_training_rule(), rule_parameters={ 'threshold': '120', 'training_job_name_prefix': base_job_name_prefix, 'stop_training_on_fire' : 'True' }, collections_to_save=[ CollectionConfig( name="losses", parameters={ "train.save_interval": "50", "eval.save_interval": "10" } ) ] ) ] from sagemaker.core import image_uris from sagemaker.train.configs import SourceCode, Compute training_image = image_uris.retrieve( framework="tensorflow", region=boto3.Session().region_name, version="2.9.0", py_version="py39", instance_type="ml.p3.2xlarge", image_scope="training" ) # construct a SageMaker AI ModelTrainer with the modified Debugger built-in rule sagemaker_model_trainer=ModelTrainer( training_image=training_image, source_code=SourceCode(entry_script='directory/to/your_training_script.py'), role=get_execution_role(), base_job_name=base_job_name_prefix, compute=Compute(instance_type="ml.p3.2xlarge", instance_count=1), # debugger-specific arguments below rules=built_in_rules_modified ) sagemaker_model_trainer.train()