Bewährte Methoden für die Hyperparameter-Optimierung - Amazon SageMaker

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.

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. Durch die Reduzierung SageMaker der Berechnungszeit kann schneller zu einer optimalen Hyperparameterkonfiguration konvergieren.

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

Während der Hyperparameteroptimierung SageMaker versucht abzuleiten, ob Ihre Hyperparameter protokoll- oder linear skaliert sind. Anfänglich SageMaker geht 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 der CreateHyperParameterTuningJob API auswählen, wenn Sie die Skalierung für Sie SageMaker 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 Paralleles Ausführen mehrerer HPO-Aufträge 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. HPO kann nur eine dieser ausgegebenen objektiven Metriken zur Bewertung der Modellleistung verwenden. Im verteilten Modus verwendet HPO die objektive Metrik, die vom letzten ausgeführten Job in allen Instanzen 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.