Integrierte Profiler-Regeln verwenden, die vom Amazon SageMaker Debugger verwaltet werden
Die in Amazon SageMaker Debugger integrierten Profiler-Regeln analysieren Systemmetriken und Framework-Operationen, die während des Trainings eines Modells erfasst wurden. Debugger bietet eine ProfilerRule API-Operation, mit deren Hilfe die Regeln konfiguriert werden können, um Trainingsressourcen und Rechenoperationen zu überwachen und Anomalien zu erkennen. Mithilfe der Profilerstellungsregeln können Sie beispielsweise erkennen, ob Rechenprobleme wie CPU-Engpässe, übermäßige I/O-Wartezeiten, ungleichmäßige Arbeitslast zwischen GPU-Workern und unzureichende Auslastung der Rechenressourcen vorliegen. Eine vollständige Liste der verfügbaren integrierten Profilerstellungsregeln finden Sie unter Liste der im Debugger integrierten Profiler-Regeln. Im Folgenden erfahren Sie, wie Sie die integrierten Debugger-Regeln mit Standardparametereinstellungen und benutzerdefinierten Parameterwerten verwenden.
Anmerkung
Die integrierten Regeln werden über Amazon SageMaker-Verarbeitungscontainer bereitgestellt und ohne zusätzliche Kosten vollständig vom SageMaker Debugger verwaltet. Weitere Informationen zur Fakturierung finden Sie unter Amazon SageMaker – Preise
Themen
Verwenden Sie die in SageMaker Debugger integrierten Profiler-Regeln mit ihren Standardparametereinstellungen
Um die in SageMaker Debugger integrierten Regeln in Ihren Schätzer einzufügen, müssen Sie ein rules Listenobjekt konfigurieren. Der folgende Beispielcode zeigt die grundlegende Struktur der Auflistung der in SageMaker Debugger integrierten Regeln.
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 )
Eine vollständige Liste der verfügbaren integrierten Regeln finden Sie unter Liste der im Debugger integrierten Profiler-Regeln.
Um die Profilerstellungsregeln zu verwenden und die Rechenleistung und den Fortschritt Ihres Trainingsauftrags zu überprüfen, fügen Sie die ProfilerReport Regel SageMaker Debugger hinzu. Diese Regel aktiviert alle integrierten Regeln der Debugger ProfilerRule ProfilerRule-Familie. Darüber hinaus generiert diese Regel einen aggregierten Profilerstellungsbericht. Weitere Informationen finden Sie unter Mit dem SageMaker Debugger generierter Profilerstellungsbericht. Sie können den folgenden Code verwenden, um die Regel für den Profilerstellungsbericht zu Ihrem Trainingsschätzer hinzuzufügen.
from sagemaker.debugger import Rule, rule_configs rules=[ ProfilerRule.sagemaker(rule_configs.ProfilerReport()) ]
Wenn Sie den Trainingsauftrag mit der ProfilerReport Regel starten, erfasst der Debugger alle 500 Millisekunden Daten zur Ressourcennutzung. Der Debugger analysiert die Ressourcennutzung, um festzustellen, ob Ihr Modell Engpassprobleme aufweist. Wenn die Regeln Trainingsanomalien erkennen, ändert sich der Status der Regelauswertung in IssueFound. Mit Amazon CloudWatch Events und AWS Lambda können Sie automatisierte Aktionen einrichten, z. B. das Melden von Trainingsproblemen und das Beenden von Trainingsaufträgen. Weitere Informationen finden Sie unter Aktion gemäß den Regeln von Amazon SageMaker Debugger.
Verwenden Sie die in Debugger integrierten Profiler-Regeln mit benutzerdefinierten Parameterwerten
Wenn Sie die Werte der integrierten Regelparameter anpassen und die Regex für die Tensorsammlung anpassen möchten, konfigurieren Sie die base_config und rule_parameters Parameter für die ProfilerRule.sagemaker und Rule.sagemaker Klassenmethoden. Bei den Rule.sagemaker Klassenmethoden können Sie die Tensorsammlungen auch über den collections_to_save Parameter anpassen. Anweisungen zur Verwendung der CollectionConfig Klasse, finden Sie unter Tensor-Sammlungen mithilfe der CollectionConfig API konfigurieren.
Verwenden Sie die folgende Konfigurationsvorlage für integrierte Regeln, um Parameterwerte anzupassen. Indem Sie die Regelparameter nach Ihren Wünschen ändern, können Sie die Sensitivität der Regeln, die initiiert werden sollen, anpassen.
-
Das
base_config-Argument ist der Ort, an dem Sie die integrierten Regelmethoden aufrufen. -
Das
rule_parameters-Argument besteht darin, die Standardschlüsselwerte der unter Liste der im Debugger integrierten Profiler-Regeln aufgeführten integrierten Regeln anzupassen.
Weitere Informationen über die Debugger-Regelklasse, Methoden und Parameter finden Sie unter Regelklasse für SageMaker AI Debugger
from sagemaker.debugger import Rule, ProfilerRule, rule_configs, CollectionConfig rules=[ ProfilerRule.sagemaker( base_config=rule_configs.BuiltInProfilerRuleName(), rule_parameters={ "key": "value" } ) ]
Die Parameterbeschreibungen und Beispiele für die Anpassung von Werten finden Sie für jede Regel unter Liste der im Debugger integrierten Profiler-Regeln.
Eine einfache JSON-Konfiguration der integrierten Debuger-Regeln mithilfe der CreateTrainingJob API finden Sie unter Debugger mithilfe der SageMaker-API konfigurieren.