Hyperparameter zur Optimierung des Lernprozesses Ihrer Textgenerierungsmodelle - Amazon SageMaker AI

Hyperparameter zur Optimierung des Lernprozesses Ihrer Textgenerierungsmodelle

Sie können den Lernprozess Ihres Basismodells optimieren, indem Sie eine beliebige Kombination der folgenden Hyperparameter anpassen. Diese Parameter sind jetzt für alle Modelle verfügbar.

  • Epochen-Anzahl: Der epochCount-Hyperparameter bestimmt, wie oft das Modell den gesamten Trainingsdatensatz durchläuft. Er beeinflusst die Trainingsdauer und kann bei entsprechender Einstellung eine Überanpassung verhindern. Eine große Anzahl von Epochen kann die Gesamtlaufzeit von Optimierungsaufgaben verlängern. Wir empfehlen, innerhalb der CompletionCriteria von TextGenerationJobConfig einen großen Wert für MaxAutoMLJobRuntimeInSeconds festzulegen, um zu verhindern, dass Optimierungsaufträge vorzeitig beendet werden.

  • Batchgröße: Der batchSize-Hyperparameter definiert die Anzahl der Datenproben, die in jeder Trainingsiteration verwendet werden. Dies kann sich auf die Konvergenzgeschwindigkeit und die Speichernutzung auswirken. Bei einer großen Batchgröße steigt das Risiko von OOM-Fehlern (Out of Memory), die im Autopilot als interner Serverfehler auftreten können. Um nach solchen Fehlern zu suchen, überprüfen Sie die /aws/sagemaker/TrainingJobs-Protokollgruppe für die Trainingsjobs, die von Ihrem Autopilot-Job gestartet wurden. Sie können von der AWS-Managementkonsole aus auf diese Protokolle in CloudWatch zugreifen. Wählen Sie Protokolle und anschließend die /aws/sagemaker/TrainingJobs-Protokollgruppen aus. Reduzieren Sie die Batchgröße, um OOM-Fehler zu beheben.

    Wir empfehlen, mit einer Batchgröße von 1 zu beginnen und diese dann schrittweise zu erhöhen, bis ein Fehler aufgrund unzureichender Speicherkapazität auftritt. Als Referenz: Die Fertigstellung von 10 Epochen dauert in der Regel bis zu 72 Stunden.

  • Lernrate: Der learningRate-Hyperparameter steuert die Schrittweite, mit der die Parameter eines Modells während des Trainings aktualisiert werden. Sie bestimmt, wie schnell oder langsam die Modellparameter während des Trainings aktualisiert werden. Eine hohe Lernrate bedeutet, dass die Parameter in großen Schritten aktualisiert werden, was zu einer schnelleren Konvergenz führen kann, aber auch dazu, dass der Optimierungsprozess über die optimale Lösung hinausgeht und instabil wird. Eine niedrige Lernrate bedeutet, dass die Parameter in kleinen Schritten aktualisiert werden, was zu einer stabileren Konvergenz führen kann, allerdings auf Kosten eines langsameren Lernprozesses.

  • Aufwärmschritte für die Lernrate: Der learningRateWarmupSteps-Hyperparameter gibt die Anzahl der Trainingsschritte an, während derer die Lernrate schrittweise ansteigt, bevor sie ihren Ziel- oder Maximalwert erreicht. Dies hilft dem Modell, effektiver zu konvergieren und Probleme wie Divergenz oder langsame Konvergenz zu vermeiden, die bei einer anfänglich hohen Lernrate auftreten können.

Informationen darüber, wie Sie Hyperparameter für Ihr Optimierungsexperiment im Autopilot anpassen und ihre möglichen Werte ermitteln können, finden Sie unter Hyperparameter festlegen, um den Lernprozess eines Modells zu optimieren.