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 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. Les rubriques suivantes montrent comment utiliser les règles intégrées du Debugger avec les paramètres par défaut et les valeurs de paramètres personnalisés.
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 tarification d'Amazon SageMaker AI
Rubriques
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 ProfilerReport
rè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 de plus amples informations, veuillez consulter 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 à l'aide de 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_config
sert à appeler les méthodes de règles intégrées. -
L'argument
rule_parameters
sert à 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 de règles, les méthodes et les paramètres du Debugger, consultez la section Classe SageMaker AI Debugger Rule dans le SDK
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 SageMaker .