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.
Utilisation des règles de profilage intégrées gérées par Amazon SageMaker Debugger
Les règles de profilage intégrées d'Amazon SageMaker Debugger analysent les métriques système et les opérations de framework collectées pendant l'entraînement 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 goulets 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. Les rubriques suivantes montrent comment utiliser les règles Debugger intégrées avec des réglages de paramètre par défaut et des valeurs de paramètre personnalisées.
Note
Les règles intégrées sont fournises dans les conteneurs de traitement Amazon SageMaker et entièrement gérées par SageMaker Debugger sans frais supplémentaires. Pour plus d'informations sur la facturation, consultez la page Tarification d'Amazon SageMaker
Rubriques
Utilisation de règles de profilage intégrées de SageMaker Debugger avec leurs valeurs de paramètre par défaut
Pour spécifier des règles intégrées de SageMaker Debugger dans un estimateur, vous devez configurer un objet de liste rules. L'exemple de code suivant présente la structure de base permettant de répertorier les règles intégrées de 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 de calcul et la progression de votre tâche d'entraînement, ajoutez la règle ProfilerReport de SageMaker Debugger. Cette règle active toutes les règles intégrées de la famille ProfilerRule Debugger ProfilerRuleProfilerRule. En outre, cette règle génère un rapport de profilage agrégé. Pour plus d'informations, consultez Rapport de profilage généré à l'aide de SageMaker Debugger. 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 d'entraînement et l'arrêt des tâches d'entraînement, à l'aide d'Amazon CloudWatch Events et de 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.
-
L'argument
base_configsert à appeler les méthodes de règles intégrées. -
L'argument
rule_parameterssert à ajuster les valeurs de clé par défaut des règles intégrées répertoriées dans Liste des règles de profilage intégrées à Debugger.
Pour plus d’informations sur la classe, les méthodes et les paramètres des règles Debugger, consultez SageMaker Debugger Rule class
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 Configuration de Debugger à l’aide de l’API SageMaker.