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 Hyperparameteroptimierung (HPO) ist kein vollständig automatisierter Prozess. Um die Optimierung zu verbessern, folgen Sie diesen bewährten Methoden für die Optimierung von Hyperparametern.

Wahl einer Tuning-Strategie

Bei großen Aufträgen kann die Verwendung der Hyperband-Tuning-Strategie die Rechenzeit reduzieren. Hyperband verfügt über einen Frühstoppmechanismus, um leistungsschwache Jobs zu beenden. Hyperband kann auch Ressourcen gut ausgelasteten Hyperparameterkonfigurationen zuweisen und parallel Jobs ausführen. Verwenden Sie für kleinere Trainingsjobs, die weniger Laufzeit benötigen, entweder die zufällige Suche oder die Bayessche Optimierung.

Verwenden Sie die Bayessche Optimierung, um im nächsten Durchlauf immer fundiertere Entscheidungen zur Verbesserung der Hyperparameterkonfigurationen 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 zufällige Suche, um eine große Anzahl parallel Jobs auszuführen. Bei der zufälligen Suche 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 zufällige Suche 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 erkunden. 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 die Rastersuche jede Kombination von Hyperparametern analysiert, sind die optimalen Hyperparameterwerte für Optimierungsjobs, die dieselben Hyperparameter verwenden, identisch.

Anzahl der Hyperparameter auswählen

Während der Optimierung hängt die Rechenkomplexität eines Hyperparameter-Tuning-Jobs von folgenden Faktoren ab:

  • Die Anzahl der Hyperparameter

  • Der Wertebereich, den Amazon SageMaker für die Suche benötigt

Sie können zwar bis zu 30 Hyperparameter gleichzeitig angeben, aber wenn Sie Ihre Suche auf eine kleinere Anzahl beschränken, kann dies die Rechenzeit reduzieren. Die Reduzierung der Rechenzeit SageMaker ermöglicht eine schnellere Konvergenz zu einer optimalen Hyperparameterkonfiguration.

Auswahl von Hyperparameterbereichen

Der Wertebereich, den Sie für die Suche auswählen, kann sich negativ auf die Hyperparameteroptimierung auswirken. Beispielsweise kann ein Bereich, der jeden möglichen Hyperparameterwert abdeckt, zu langen Rechenzeiten und einem Modell führen, das sich nicht gut auf unsichtbare Daten verallgemeinern lässt. Wenn Sie wissen, dass die Verwendung einer Teilmenge mit dem größtmöglichen Bereich für Ihren Anwendungsfall geeignet ist, sollten Sie erwägen, den Bereich auf diese Teilmenge zu beschränken.

Verwenden der richtigen Skalen für Hyperparameter

SageMaker Versucht während der Hyperparameter-Optimierung abzuleiten, ob Ihre Hyperparameter logarithmisch oder linear skaliert sind. Geht zunächst von SageMaker einer linearen Skalierung für Hyperparameter aus. Wenn Hyperparameter logarithmisch skaliert sind, wird Ihre Suche durch die Wahl der richtigen Skala effizienter. Sie könnenScalingType in der CreateHyperParameterTuningJobAPI auchAuto für auswählen, wenn Sie die Skala für Sie ermitteln möchten SageMaker .

Auswahl der besten Anzahl parallel Trainingsaufträge

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 liegt und die Recheneinschränkungen berücksichtigen. Verwenden Sie das MaxParallelTrainingJobsFeld, 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 bei Amazon SageMaker.

Trainingsjobs auf mehreren Instanzen ausführen

Wenn ein Trainingsjob auf mehreren Computern im verteilten Modus ausgeführt wird, gibt jede Maschine eine objektive Metrik aus. HPO kann nur eine dieser ausgegebenen objektiven Metriken verwenden, um die Modellleistung zu bewerten. Im verteilten Modus verwendet HPO die Zielmetrik, die vom letzten laufenden Job für alle Instanzen gemeldet wurde.

Verwendung eines zufälligen Startwerts zur Reproduktion von Hyperparameterkonfigurationen

Sie können eine Ganzzahl als zufälligen Startwert für die Optimierung von Hyperparametern angeben und diesen Startwert bei der Hyperparametergenerierung verwenden. Später können Sie denselben Ausgangswert verwenden, um Hyperparameterkonfigurationen zu reproduzieren, die mit Ihren vorherigen Ergebnissen übereinstimmen. Bei Zufallssuche und Hyperband-Strategien kann durch die Verwendung desselben zufälligen Startwerts eine Reproduzierbarkeit der vorherigen Hyperparameterkonfiguration für dieselbe Optimierungsaufgabe von bis zu 100% erreicht werden. Bei der Bayesschen Strategie verbessert die Verwendung desselben zufälligen Startwerts die Reproduzierbarkeit für dieselbe Tuning-Aufgabe.