Ressourcen/Modelltraining/Was während des Trainings passiert

Einstellung

Hyperparameter

Hyperparameter sind die von Ihnen gewählten Trainingseinstellungen, wie Epochen, Lernrate, Batch-Größe und Adapter-Rang, im Gegensatz zu den Gewichten, die das Modell lernt. Die Auto-Funktion wählt diese anhand Ihrer Daten aus und sorgt für einen guten ersten Durchlauf; diese Seite erklärt jede einzelne Einstellung, damit Sie von dort aus weitere Anpassungen vornehmen können.

Kapitel 65 Min. Lesezeit4 Quellen

Parameter und Hyperparameter

Die Parameter eines Modells, seine Gewichte, werden erlernt: Das Training legt sie fest. Hyperparameter werden von Ihnen vor Trainingsbeginn festgelegt und steuern, wie dieses Lernen abläuft: wie oft die Daten gesehen werden, wie groß jede Aktualisierung ist, wie viele Beispiele in jede Aktualisierung einfließen, wie groß ein Adapter ist. Das Training kann von sich aus keine guten Hyperparameter finden. Sie finden diese durch Ausführen, Messen und Anpassen. Deshalb sind ein sinnvoller Standardwert und eine klare Methode zum Ablesen der Ergebnisse wichtiger als ein perfekter erster Versuch.

Die Einstellungen

EpochenTypisch 1–3 (Preference Tuning 1–2)#

Wie viele vollständige Durchläufe das Training über Ihre Daten macht. Bei zu wenigen ändert sich das Modell kaum; bei zu vielen beginnt es, Ihre Beispiele Wort für Wort zu reproduzieren (Overfitting), was sich darin zeigt, dass der Validierungsverlust steigt, während der Trainingsverlust weiter sinkt. Kleine Datensätze vertragen ein paar Epochen mehr; große benötigen oft nur eine. Preference Tuning erfordert meist weniger Epochen als überwachtes Training. Jede Epoche erhöht zudem die Kosten.

Lernrate / MultiplikatorTypisch Anbieter-Standard (× 0,5–2)#

Wie groß jede Gewichtsaktualisierung ist. Dies ist die empfindlichste Einstellung: Ist sie zu hoch, schießen die Aktualisierungen über das Ziel hinaus, der Loss-Wert wird sprunghaft und das Modell kann bereits erlernte Fähigkeiten verlieren; ist sie zu niedrig, endet der Durchlauf, bevor das Modell viel gelernt hat. Gehostete Modelle bieten oft einen Multiplikator anstelle einer absoluten Rate: Die Standardrate des Anbieters für dieses Modell und Ihre Daten wird mit Ihrem Wert multipliziert, sodass 1 den Standard beibehält, 2 ihn verdoppelt und 0,5 ihn halbiert. Offene Modelle verwenden eine absolute Rate, wie etwa 1e-4 für einen LoRA-Adapter oder 1e-5 für ein vollständiges Fine-Tuning.

Batch-GrößeTypisch Auto#

Wie viele Beispiele in jede Gewichtsaktualisierung gemittelt einfließen. Größere Batches führen zu glatteren, zuverlässigeren Aktualisierungen, aber zu weniger Aktualisierungen pro Epoche und benötigen mehr Speicher; kleinere Batches aktualisieren häufiger, aber mit mehr Rauschen. Wenn Sie die Batch-Größe ändern, sollten Sie auch die Lernrate überdenken: Ein größerer Batch toleriert und benötigt meist eine höhere Rate. Bei einem kleinen Datensatz lässt ein sehr großer Batch zu wenige Schritte übrig, um daraus zu lernen.

LoRA-Rang / AdaptergrößeTypisch 4–16#

Für das Adapter-Training bei offenen Modellen. Der Rang der beiden kleinen Matrizen, die LoRA neben jeder Schicht trainiert, bestimmt, wie viel der Adapter lernen kann. Ein Rang von 4–16 reicht für Tonalität, Stil und Format aus; größere, wissensintensive Datensätze können mehr erfordern. Höhere Ränge kosten mehr Speicher und Zeit und bringen keinen zusätzlichen Nutzen mehr, sobald der Adapter über ausreichend Kapazität verfügt. Die LoRA-Seite behandelt Alpha, Zielmodule und Dropout.

Warm-up-SchritteTypisch 0–10 % der Schritte#

In den ersten Trainingsschritten steigt die Lernrate von fast null auf ihren vollen Wert an, anstatt direkt mit voller Stärke zu beginnen. Zu Beginn basieren die laufenden Statistiken des Optimierers auf sehr wenigen Gradienten, sodass bei Schritten in voller Größe das Risiko eines schlechten ersten Zuges besteht; ein kurzes Warm-up vermeidet einen instabilen Start. Es wird als Anzahl von Schritten oder als Anteil aller Schritte angegeben. Nach dem Warm-up sinkt die Rate für den Rest des Durchlaufs normalerweise in Richtung null.

AUFWÄRMPHASEmaximale LernrateKosinus-Abfalllinearer AbfallLernrateTrainingsschritte →010%100%
Ein typischer Lernraten-Verlauf. Die Aufwärmphase erhöht die Rate über die ersten Prozent der Schritte von nahezu null auf ihren Höchstwert, sodass die ersten, rauschstärksten Aktualisierungen klein ausfallen. Danach fällt die Rate entlang einer Kosinuskurve oder einer geraden Linie gegen null ab, sodass die letzten Aktualisierungen feine Anpassungen anstelle großer Sprünge vornehmen.

Zusammenspiel der Einstellungen

Wenn Sie Folgendes ändernBerücksichtigen Sie auchWarum
Mehr EpochenEine niedrigere Lernrate; Beobachtung des Validation LossMehr Durchläufe und große Schritte verstärken zusammen das Overfitting
Eine größere Batch-GrößeEine höhere LernrateEs gibt weniger, aber zuverlässigere Schritte pro Epoche
Einen kleineren DatensatzEine kleinere Batch-Größe; möglicherweise einige Epochen mehrAndernfalls gibt es zu wenige Schritte, aus denen gelernt werden kann
LoRA anstelle eines vollständigen Fine-TuningsEine höhere Lernrate, etwa 10-fachDer Adapter beginnt bei null und seine Ausgabe wird durch Alpha ÷ r skaliert
Preference Tuning nach überwachtem TrainingWeniger Epochen und eine niedrigere LernrateEs verfeinert ein funktionierendes Modell; große Schritte führen zu einem Drift

Eine praktische Reihenfolge für das Tuning

  1. Führen Sie einen Durchlauf auf Auto aus. Dies ist eine vernünftige Basislinie und zeigt, was der Anbieter für Ihre Daten auswählt.
  2. Lesen Sie die Loss-Kurven. Wenn der Validation Loss früh ansteigt: weniger Epochen oder eine niedrigere Lernrate. Wenn beide Loss-Werte am Ende noch fallen: mehr Epochen. Wenn sich keiner von beiden bewegt: Überprüfen Sie zuerst die Daten und versuchen Sie dann eine höhere Lernrate.
  3. Evaluieren Sie gegen das Basismodell, nicht nur anhand des Loss-Wertes. Ein niedrigerer Loss-Wert garantiert keine besseren Antworten.
  4. Ändern Sie immer nur eine Einstellung, während Sie den Rest beibehalten, damit Sie wissen, was den Unterschied ausgemacht hat. Zuerst Lernrate und Epochen; Batch-Größe und Warm-up müssen selten angepasst werden.
  5. Behalten Sie die schlechteren Durchläufe. Wenn sie mit ihren Evaluierungen archiviert werden, beantworten sie Monate später die Frage: ‚Haben wir eine höhere Lernrate ausprobiert?‘.
Eine Anpassung, abgelesen aus den Kurven
  1. Durchlauf 1, auf Auto: 3 Epochen, Multiplikator 1. Der Trainingsverlust sinkt durchgehend; der Validierungsverlust ist früh in Epoche 2 am niedrigsten und steigt danach an.
  2. Diagnose: Overfitting ab etwa der Mitte des Durchlaufs. Die Lernrate sieht gut aus: Die Kurve ist glatt, nicht gezackt.
  3. Durchlauf 2: 2 Epochen, alles andere unverändert. Der Validierungsverlust endet nun nahe seinem Tiefpunkt, und der Durchlauf kostet ein Drittel weniger.
  4. Bevor Sie ihn beibehalten: Evaluieren Sie Durchlauf 2 gegen das Basismodell und gegen Durchlauf 1.

Häufige Fehler

  • Mehrere Einstellungen gleichzeitig ändern, sodass ein besseres oder schlechteres Ergebnis nicht erklärt werden kann.
  • Tuning basierend auf dem Trainingsverlust. Dieser verbessert sich fast immer mit mehr Epochen oder einer höheren Rate; ausschlaggebend sind jedoch Validierungsverlust und Evaluierung.
  • Einen Multiplikator als absolute Lernrate behandeln. Ein Multiplikator von 2 verdoppelt den Standardwert des Anbieters; es ist keine Rate von 2.
  • Einstellungen aus einem Durchlauf mit einer völlig anderen Datengröße kopieren. Schritte, Warm-up und die richtige Anzahl an Epochen skalieren alle mit den Daten.
  • Kleinen Unterschieden auf einem winzigen Validierungsdatensatz nachjagen. Bei ein paar Dutzend Holdout-Konversationen ist eine kleine Abweichung nur Rauschen.

Quellen und weiterführende Literatur

Externe Quellen werden in einem neuen Tab geöffnet.

  1. 01TrainerHugging Face Transformers docs · huggingface.coDie vollständige Liste der Trainingsargumente und ihrer Standardwerte, von Lernrate und Epochen bis hin zu Warm-up und Weight Decay.
  2. 02Linear regression: HyperparametersGoogle Machine Learning Crash Course · developers.google.comLernrate, Batch-Größe und Epochen, erklärt anhand interaktiver Beispiele.
  3. 03Accurate, Large Minibatch SGD: Training ImageNet in 1 HourGoyal et al., 2017 · arXiv · arxiv.orgDie lineare Skalierungsregel, die Batch-Größe und Lernrate verknüpft, sowie graduelles Warm-up.
  4. 04Hyperparameter (machine learning)Wikipedia · en.wikipedia.org

Verwandeln Sie wochenlange Expertenarbeit in Minuten

Erfahren Sie, wie Scalata zu Ihrem Team, Ihren Daten und Ihren Kontrollen passt.

Vertrieb kontaktieren