Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Bewährte Methoden für die Hyperparameter-Optimierung
Die Hyperparameter-Optimierung (HPO) ist kein vollständig automatisierter Prozess. Befolgen Sie die folgenden bewährten Methoden für die Hyperparameteroptimierung.
Themen
- Auswahl einer Optimierungsstrategie
- Auswählen der Anzahl an Hyperparametern
- Auswählen von Hyperparameter-Bereichen
- Verwenden Sie die richtigen Skalen für Hyperparameter
- Auswahl der besten Anzahl von parallelen Trainingsaufträgen
- Ausführen von Trainingsaufträgen auf mehreren Instances
- Verwendung eines zufälligen Startwerts zur Reproduktion von Hyperparameter-Konfigurationen
Auswahl einer Optimierungsstrategie
Bei großen Aufträgen kann die Verwendung der Hyperband-Tuning-Strategie die Rechenzeit reduzieren. Hyperband verfügt über einen Mechanismus zum frühzeitigen Stoppen, mit dem Aufträge mit schlechter Leistung gestoppt werden können. Hyperband kann auch Ressourcen für gut genutzte Hyperparameter-Konfigurationen umverteilen und parallel Jobs ausführen. Verwenden Sie für kleinere Trainingsjobs, die weniger Laufzeit benötigen, entweder die Zufallssuche oder die Bayessche Optimierung.
Verwenden Sie die Bayessche Optimierung, um fundiertere Entscheidungen zur Verbesserung der Hyperparameter-Konfigurationen im nächsten Durchlauf zu treffen. Die Bayessche Optimierung verwendet Informationen aus früheren Durchläufen, um nachfolgende Durchläufe zu verbessern. Aufgrund ihres sequentiellen Charakters kann die Bayessche Optimierung nicht massiv skaliert werden.
Verwenden Sie die Zufallssuche, um eine große Anzahl parallel Jobs auszuführen. Bei der Zufallssuche hängen nachfolgende Jobs nicht von den Ergebnissen früherer Jobs ab und können unabhängig voneinander ausgeführt werden. Im Vergleich zu anderen Strategien kann die Zufallssuche die größte Anzahl parallel Jobs ausführen.
Verwenden Sie die Rastersuche, um die Ergebnisse eines Tuning-Jobs zu reproduzieren, oder wenn Einfachheit und Transparenz des Optimierungsalgorithmus wichtig sind. Sie können auch die Rastersuche verwenden, um den gesamten Hyperparameter-Suchraum gleichmäßig zu untersuchen. Die Rastersuche durchsucht methodisch jede Hyperparameterkombination, um optimale Hyperparameterwerte zu finden. Im Gegensatz zur Rastersuche ziehen Bayessche Optimierung, Zufallssuche und Hyperband alle Hyperparameter nach dem Zufallsprinzip aus dem Suchraum. Da bei der Rastersuche jede Kombination von Hyperparametern analysiert wird, sind die optimalen Hyperparameterwerte zwischen Optimierungsaufträgen, die dieselben Hyperparameter verwenden, identisch.
Auswählen der Anzahl an Hyperparametern
Während der Optimierung hängt die Rechenkomplexität eines Hyperparameter-Optimierungsauftrags von folgenden Faktoren ab:
-
Anzahl der Hyperparameter
-
Der Wertebereich, den Amazon durchsuchen SageMaker muss
Sie können zwar bis zu 30 Hyperparameter gleichzeitig angeben, aber die Beschränkung Ihrer Suche auf eine kleinere Zahl kann die Berechnungszeit reduzieren. Die Verkürzung der Rechenzeit ermöglicht eine schnellere Konvergenz SageMaker zu einer optimalen Hyperparameterkonfiguration.
Auswählen von Hyperparameter-Bereichen
Der Wertebereich, den Sie für die Suche auswählen, kann sich nachteilig auf die Hyperparameter-Optimierung auswirken. Beispielsweise kann ein Bereich, der jeden möglichen Hyperparameterwert abdeckt, zu langen Berechnungszeiten und zu einem Modell führen, das sich schlecht auf unsichtbare Daten verallgemeinern lässt. Wenn Sie wissen, dass die Verwendung einer Teilmenge des größtmöglichen Bereichs für Ihren Anwendungsfall geeignet ist, sollten Sie erwägen, den Bereich auf diese Teilmenge zu beschränken.
Verwenden Sie die richtigen Skalen für Hyperparameter
Beim Hyperparameter-Tuning wird SageMaker versucht, Rückschlüsse darauf zu ziehen, ob Ihre Hyperparameter logarithmisch oder linear skaliert sind. Geht SageMaker zunächst von einer linearen Skalierung für Hyperparameter aus. Wenn Hyperparameter logarithmisch skaliert sind, macht die Auswahl der richtigen Skala Ihre Suche effizienter. Sie können auch Auto
für ScalingType
in auswählen, CreateHyperParameterTuningJobAPIob Sie die Skala für SageMaker sich selbst erkennen möchten.
Auswahl der besten Anzahl von parallelen Trainingsaufträgen
Sie können die Ergebnisse früherer Studien verwenden, um die Leistung nachfolgender Studien zu verbessern. Wählen Sie die größte Anzahl parallel Jobs aus, die zu einem aussagekräftigen inkrementellen Ergebnis führen würden, das auch innerhalb Ihrer Region und der Rechenbeschränkungen Ihres Kontos liegt. Verwenden Sie das MaxParallelTrainingJobs
Feld, um die Anzahl der Trainingsjobs zu begrenzen, die ein Hyperparameter-Tuning-Job parallel starten kann. Weitere Informationen finden Sie unter parallel Ausführung mehrerer HPO Jobs auf Amazon SageMaker
Ausführen von Trainingsaufträgen auf mehreren Instances
Wenn ein Trainingsjob auf mehreren Computern im verteilten Modus ausgeführt wird, gibt jeder Computer eine objektive Metrik aus. HPOkann nur eine dieser ausgegebenen Zielmetriken zur Bewertung der Modellleistung verwenden. Im verteilten Modus wird die Zielmetrik HPO verwendet, die vom letzten ausgeführten Job für alle Instances gemeldet wurde.
Verwendung eines zufälligen Startwerts zur Reproduktion von Hyperparameter-Konfigurationen
Sie können eine Ganzzahl als zufälligen Ausgangswert für die Hyperparameterabstimmung angeben und diesen Ausgangswert bei der Generierung von Hyperparametern verwenden. Später können Sie denselben Ausgangswert verwenden, um Hyperparameterkonfigurationen zu reproduzieren, die mit Ihren vorherigen Ergebnissen konsistent sind. Bei Zufallssuche- und Hyperband-Strategien kann durch die Verwendung desselben Zufallsstartwerts eine Reproduzierbarkeit der vorherigen Hyperparameter-Konfiguration für denselben Optimierungsjob bis zu 100% erreicht werden. Bei der Bayes-Strategie verbessert die Verwendung derselben Zufallszahl die Reproduzierbarkeit für denselben Optimierungsjob.