Verfolgen Sie die Abschlusskriterien für Ihren Tuning-Job und legen Sie sie fest - 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.

Verfolgen Sie die Abschlusskriterien für Ihren Tuning-Job und legen Sie sie fest

Sie können anhand von Abschlusskriterien die automatische Modelloptimierung (AMT) anweisen, Ihren Tuning-Job zu beenden, wenn bestimmte Bedingungen erfüllt sind. Mit diesen Bedingungen können Sie eine Mindestleistung des Modells oder eine maximale Anzahl von Trainingsaufträgen festlegen, die sich nicht verbessern, wenn sie anhand der Zielmetrik bewertet werden. Sie können auch den Fortschritt Ihrer Optimierungsaufgabe verfolgen und entscheiden, ob Sie sie fortsetzen oder manuell beenden möchten. In dieser Anleitung erfahren Sie, wie Sie Abschlusskriterien festlegen, den Fortschritt Ihres Tuning-Jobs überprüfen und ihn manuell beenden können.

Legen Sie die Abschlusskriterien für Ihren Tuning-Job fest

Während der Hyperparameter-Optimierung startet ein Tuning-Job mehrere Trainingsjobs innerhalb einer Schleife. Der Tuning-Job hat folgende Aufgaben.

  • Überprüfe, ob deine Trainingsjobs abgeschlossen sind, und aktualisiere die Statistiken entsprechend

  • Entscheiden Sie, welche Kombination von Hyperparametern als Nächstes ausgewertet werden soll.

AMTüberprüft kontinuierlich die Trainingsaufträge, die von Ihrem Tuning-Job aus gestartet wurden, um die Statistiken zu aktualisieren. Zu diesen Statistiken gehören die Laufzeit des Tuning-Jobs und der beste Trainingsjob. AMTLegt dann anhand Ihrer Abschlusskriterien fest, ob der Job beendet werden soll. Sie können diese Statistiken auch überprüfen und Ihren Job manuell beenden. Weitere Informationen zum manuellen Beenden eines Jobs finden Sie im Manuelles Stoppen Ihres Tuning-Jobs Abschnitt.

Wenn Ihr Tuning-Job beispielsweise Ihrem Ziel entspricht, können Sie das Tuning vorzeitig beenden, um Ressourcen zu schonen oder die Modellqualität sicherzustellen. AMTvergleicht Ihre Auftragsleistung anhand Ihrer Abschlusskriterien und beendet den Tuning-Job, falls alle Kriterien erfüllt wurden.

Sie können die folgenden Abschlusskriterien angeben:

  • MaxNumberOfTrainingJobs– Die maximale Anzahl von Trainingsaufträgen, die ausgeführt werden müssen, bevor das Tuning angehalten wird.

  • MaxNumberOfTrainingJobsNotImproving– Die maximale Anzahl von Trainingsjobs, bei denen die Leistung im Vergleich zur Zielmetrik des aktuell besten Trainingsjobs nicht verbessert wird. Als Beispiel, wenn für die Stelle mit der besten Ausbildung eine objektive Kennzahl zurückgegeben wurde, die eine Genauigkeit von 90% hatte und MaxNumberOfTrainingJobsNotImproving auf 10 eingestellt ist. In diesem Beispiel wird die Optimierung beendet, wenn 10 Trainingsauftrags keine höhere Genauigkeit als90% liefern.

  • MaxRuntimeInSeconds– Die Obergrenze der Wanduhrzeit in Sekunden, die angibt, wie lange ein Tuning-Job ausgeführt werden kann.

  • TargetObjectiveMetricValue– Der Wert der Zielmetrik, anhand derer der Tuning-Job bewertet wird. Sobald dieser Wert erreicht ist, wird der Tuning-Job AMT beendet.

  • CompleteOnConvergence– Eine Markierung, mit der die Optimierung beendet wird, wenn ein interner Algorithmus feststellt, dass es unwahrscheinlich ist, dass sich der Optimierungsjob gegenüber der Zielmetrik des besten Trainingsjobs um mehr als 1% verbessert.

Auswählen der Abschlusskriterien

Sie können ein oder mehrere Abschlusskriterien wählen, um den Hyperparameter-Tuning-Job zu beenden, nachdem eine Bedingung erfüllt wurde. Die folgenden Anweisungen zeigen Ihnen, wie Sie Abschlusskriterien auswählen und entscheiden können, welches für Ihren Anwendungsfall am besten geeignet ist.

  • Verwenden Sie MaxNumberOfTrainingJobs in ResourceLimitsAPI, um eine Obergrenze für die Anzahl der Trainingsjobs festzulegen, die ausgeführt werden können, bevor Ihr Optimierungsjob beendet wird. Beginnen Sie mit einer großen Anzahl und passen Sie sie auf der Grundlage der Modellleistung an Ihr Ziel für den Tuning-Job an. Die meisten Benutzer geben Werte für etwa 50 oder mehr Trainingsjobs ein, um eine optimale Hyperparameter-Konfiguration zu finden. Benutzer, die nach einer höheren Modellleistung suchen, werden 200 oder mehr Trainingsaufträge verwenden.

  • Verwenden Sie diese MaxNumberOfTrainingJobsNotImproving Option vor BestObjectiveNotImprovingAPIOrt, um das Training zu beenden, wenn sich die Leistung des Modells nach einer bestimmten Anzahl von Aufträgen nicht verbessert. Die Modellleistung wird anhand einer Zielfunktion bewertet. Wenn der MaxNumberOfTrainingJobsNotImproving Wert erfüllt ist, AMT wird der Tuning-Job beendet. Bei Tuning-Aufträgen werden in der Regel zu Beginn des Jobs die größten Fortschritte erzielt. Um die Leistung eines Modells im Vergleich zu einer objektiven Funktion zu verbessern, ist gegen Ende des Tunings eine größere Anzahl von Trainingsaufträgen erforderlich. Wählen Sie einen Wert für MaxNumberOfTrainingJobsNotImproving, indem Sie die Leistung ähnlicher Trainingsaufgaben anhand Ihrer Zielmetrik überprüfen.

  • Verwenden Sie MaxRuntimeInSeconds in ResourceLimitsAPI, um eine Obergrenze für die Dauer der Wanduhr festzulegen, die der Tuning-Job in Anspruch nehmen kann. Verwenden Sie dieses Feld, um eine Frist einzuhalten, bis zu der der Tuning-Job abgeschlossen sein muss, oder um die Rechenressourcen zu begrenzen.

    Verwenden Sie die folgende Formel, um die geschätzte Gesamtrechnungszeit in Sekunden für einen Tuning-Job zu ermitteln:

    Geschätzte maximale Rechenzeit in Sekunden= MaxRuntimeInSeconds * MaxParallelTrainingJobs * MaxInstancesPerTrainingJob

    Anmerkung

    Die tatsächliche Dauer eines Tuning-Jobs kann geringfügig von dem in diesem Feld angegebenen Wert abweichen.

  • Verwenden Sie TargetObjectiveMetricValue in TuningJobCompletionCriteriaAPI, um Ihren Tuning-Job zu beenden. Sie beenden den Tuning-Job, nachdem ein Trainingsjob, der durch den Tuning-Job gestartet wurde, diesen Zielmetrikwert erreicht hat. Verwenden Sie dieses Feld, wenn Ihr Anwendungsfall vom Erreichen eines bestimmten Leistungsniveaus abhängt, anstatt Rechenressourcen aufzuwenden, um das bestmögliche Modell zu finden.

  • Verwenden Sie CompleteOnConvergence in TuningJobCompletionCriteriaAPI, um einen Tuning-Job zu beenden, nachdem festgestellt AMT wurde, dass der Tuning-Job konvergiert hat und es unwahrscheinlich ist, dass weitere signifikante Fortschritte erzielt werden. Verwenden Sie dieses Feld, wenn nicht klar ist, welche Werte für eines der anderen Abschlusskriterien verwendet werden sollen. AMTbestimmt die Konvergenz auf der Grundlage eines Algorithmus, der anhand einer Vielzahl unterschiedlicher Benchmarks entwickelt und getestet wurde. Als Optimierungsjob gilt eine Konvergenz, wenn bei keiner der Ausbildungsjobs eine signifikante Verbesserung (1% oder weniger) erzielt wurde. Die Verbesserung wird anhand der objektiven Kennzahl gemessen, die der Job mit der bisher besten Leistung erzielt hat.

Kombination verschiedener Abschlusskriterien

Sie können auch jedes der verschiedenen Abschlusskriterien in demselben Tuning-Job kombinieren. AMTbeendet den Optimierungsvorgang, wenn eines der Abschlusskriterien erfüllt ist. Wenn Sie Ihr Modell beispielsweise so lange optimieren möchten, bis es eine Zielmetrik erfüllt, aber nicht weiter optimieren möchten, wenn Ihr Job konvergiert hat, folgen Sie den folgenden Anleitungen.

  • Geben Sie TargetObjectiveMetricValue in der ein Zielziel TuningJobCompletionCriteriaAPIfestzulegenden Metrikwert an, den Sie erreichen möchten.

  • Legt fest CompleteOnConvergence, Enabled dass ein Optimierungsjob beendet wird, wenn festgestellt AMT wurde, dass sich die Modellleistung wahrscheinlich nicht verbessern wird.

Verfolgen Sie den Fortschritt des Tuning-Jobs

Mit dem DescribeHyperParameterTuningJob API können Sie den Fortschritt Ihres Tuning-Jobs jederzeit verfolgen, während er ausgeführt wird. Sie müssen keine Abschlusskriterien angeben, um Informationen zur Nachverfolgung Ihres Tuning-Jobs zu erhalten. Verwenden Sie die folgenden Felder, um Statistiken über Ihren Tuning-Job zu erhalten.

  • BestTrainingJob— Ein Objekt, das den besten Trainingsjob beschreibt, den Sie bisher erzielt haben, und das anhand Ihrer objektiven Kennzahl bewertet wurde. Verwenden Sie dieses Feld, um die Leistung Ihres aktuellen Modells und den Wert der Zielmetrik für diesen besten Ausbildungsberuf zu überprüfen.

  • ObjectiveStatusCounters— Ein Objekt, das die Gesamtzahl der im Rahmen eines Tuning-Jobs abgeschlossenen Schulungsjobs angibt. Um die durchschnittliche Dauer eines Tuning-Auftrags zu schätzen, verwenden Sie ObjectiveStatusCounters und die Gesamtlaufzeit eines Tuning-Auftrags. Anhand der durchschnittlichen Dauer können Sie abschätzen, wie lange Ihr Tuning-Job noch läuft.

  • ConsumedResources– Die gesamten Ressourcen, die z. RunTimeInSeconds B. von Ihrem Tuning-Job verbraucht wurden. VergleichtConsumedResources, gefunden in DescribeHyperParameterTuningJob API, mit BestTrainingJob in demselben gefundenAPI. Sie können auch mit den Antworten von ConsumedResources vergleichen, ListTrainingJobsForHyperParameterTuningJobAPIum zu beurteilen, ob Ihr Tuning-Job angesichts der verbrauchten Ressourcen zufrieden stellend vorankommt.

  • TuningJobCompletionDetails— Informationen zum Abschluss des Tuning-Jobs, die Folgendes beinhalten:

    • Der Zeitstempel, zu dem Konvergenz erkannt wurde, wenn der Job konvergiert hat.

    • Die Anzahl der Trainingsjobs, bei denen die Leistung des Modells nicht verbessert wurde. Die Leistung des Modells wird anhand der objektiven Kennzahl für den besten Ausbildungsberuf bewertet.

    Beurteilen Sie anhand der Kriterien für den Abschluss von Tuning-Jobs, wie wahrscheinlich es ist, dass Ihre Tuning-Aufgabe die Leistung Ihres Modells verbessert. Die Leistung des Modells wird anhand der besten objektiven Kennzahl bewertet, wenn das Modell vollständig abgeschlossen ist.

Manuelles Stoppen Ihres Tuning-Jobs

Sie können festlegen, ob Sie den Tuning-Job laufen lassen sollen, bis er abgeschlossen ist, oder ob Sie den Tuning-Job manuell beenden sollen. Um dies zu ermitteln, verwenden Sie die von den Parametern in zurückgegebenen Informationen DescribeHyperParameterTuningJobAPI, wie im vorherigen Abschnitt Nachverfolgen des Fortschritts von Tuning-Jobs beschrieben. Wenn sich die Leistung Ihres Modells beispielsweise nach Abschluss mehrerer Trainingsaufgaben nicht verbessert, können Sie den Tuning-Job beenden. Die Leistung des Modells wird anhand der besten objektiven Metrik bewertet.

Um den Tuning-Job manuell zu beenden, verwenden Sie den StopHyperParameterTuningJobAPIund geben Sie den Namen des Tuning-Jobs ein, der beendet werden soll.