Configuration des règles de profilage intégrées gérées par Amazon Debugger SageMaker - Amazon SageMaker

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 des règles de profilage intégrées gérées par Amazon Debugger SageMaker

Les règles de profilage intégrées d'Amazon SageMaker Debugger analysent les métriques du système et les opérations de framework collectées lors de la formation d'un modèle. Debugger propose l'opération d'API ProfilerRule qui aide à configurer les règles pour surveiller les ressources et les opérations de calcul d'entraînement et détecter les anomalies. Par exemple, les règles de profilage peuvent vous aider à détecter les problèmes de calcul tels que des goulots d'étranglement de CPU, un temps d'attente excessif pour les E/S, un déséquilibre de la charge de travail entre les opérateurs de GPU et une sous-utilisation des ressources de calcul. Pour afficher la liste complète des règles de profilage intégrées disponibles, consultez Liste des règles de profilage intégrées à Debugger.

Note

Les règles intégrées sont fournies par le biais de conteneurs de SageMaker traitement Amazon et sont entièrement gérées par SageMaker Debugger sans frais supplémentaires. Pour plus d'informations sur la facturation, consultez la page de SageMaker tarification d'Amazon.

Dans les rubriques suivantes, découvrez comment utiliser les règles intégrées de Debugger.

Utiliser les règles du SageMaker profileur intégré à Debugger avec leurs paramètres par défaut

Pour ajouter des règles intégrées au SageMaker Debugger dans votre estimateur, vous devez configurer un objet de liste. rules L'exemple de code suivant montre la structure de base de la liste des règles intégrées du SageMaker Debugger.

from sagemaker.debugger import Rule, ProfilerRule, rule_configs rules=[ ProfilerRule.sagemaker(rule_configs.BuiltInProfilerRuleName_1()), ProfilerRule.sagemaker(rule_configs.BuiltInProfilerRuleName_2()), ... ProfilerRule.sagemaker(rule_configs.BuiltInProfilerRuleName_n()), ... # You can also append more debugging rules in the Rule.sagemaker(rule_configs.*()) format. ] estimator=Estimator( ... rules=rules )

Pour obtenir la liste complète des règles intégrées disponibles, consultez Liste des règles de profilage intégrées à Debugger.

Pour utiliser les règles de profilage et inspecter les performances informatiques et la progression de votre tâche de formation, ajoutez la ProfilerReportrègle SageMaker Debugger. Cette règle active toutes les règles intégrées de la famille Debugger ProfilerRuleProfilerRule. En outre, cette règle génère un rapport de profilage agrégé. Pour plus d'informations, voir Rapport de profilage généré à l'aide du SageMaker débogueur. Vous pouvez utiliser le code suivant pour ajouter la règle du rapport de profilage à votre estimateur d'entraînement.

from sagemaker.debugger import Rule, rule_configs rules=[ ProfilerRule.sagemaker(rule_configs.ProfilerReport()) ]

Lorsque vous démarrez la tâche d'entraînement avec la règle ProfilerReport, Debugger collecte les données d'utilisation des ressources toutes les 500 millisecondes. Debugger analyse l'utilisation des ressources pour identifier si votre modèle rencontre des problèmes de goulet d'étranglement. Si les règles détectent des anomalies d'entraînement, le statut d'évaluation de la règle passe à IssueFound. Vous pouvez configurer des actions automatisées, telles que la notification des problèmes de formation et l'arrêt des tâches de formation à l'aide d'Amazon CloudWatch Events et AWS Lambda. Pour plus d’informations, consultez Action sur les règles d'Amazon SageMaker Debugger.

Utilisation des règles de profilage intégrées de Debugger avec les valeurs de paramètre personnalisées

Si vous souhaitez ajuster les valeurs des paramètres des règles intégrées et personnaliser l'expression regex de la collection de tenseurs, configurez les paramètres base_config et rule_parameters pour les méthodes de classe ProfilerRule.sagemaker et Rule.sagemaker. Dans le cas des méthodes de classe Rule.sagemaker, vous pouvez également personnaliser les collections de tenseurs via le paramètre collections_to_save. Pour des instructions sur l'utilisation de la classe CollectionConfig, consultez Configurer les collections de tenseurs en utilisant l'API CollectionConfig.

Utilisez le modèle de configuration suivant pour personnaliser les valeurs des paramètres des règles intégrées. En modifiant les paramètres de règle comme vous le souhaitez, vous pouvez ajuster la sensibilité des règles à initier.

Pour plus d'informations sur la classe de règles, les méthodes et les paramètres du Debugger, consultez la section Classe SageMakerDebugger Rule du SDK Amazon Python. SageMaker

from sagemaker.debugger import Rule, ProfilerRule, rule_configs, CollectionConfig rules=[ ProfilerRule.sagemaker( base_config=rule_configs.BuiltInProfilerRuleName(), rule_parameters={ "key": "value" } ) ]

Les descriptions de paramètres et des exemples de personnalisation de valeur sont fournis pour chaque règle dans Liste des règles de profilage intégrées à Debugger.

Pour une configuration JSON de bas niveau des règles intégrées de Debugger à l'aide de l'API CreateTrainingJob, consultez Configurer le débogueur à l'aide de l'API Amazon SageMaker .