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
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.
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.
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.
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.
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.
Zusammenspiel der Einstellungen
| Wenn Sie Folgendes ändern | Berücksichtigen Sie auch | Warum |
|---|---|---|
| Mehr Epochen | Eine niedrigere Lernrate; Beobachtung des Validation Loss | Mehr Durchläufe und große Schritte verstärken zusammen das Overfitting |
| Eine größere Batch-Größe | Eine höhere Lernrate | Es gibt weniger, aber zuverlässigere Schritte pro Epoche |
| Einen kleineren Datensatz | Eine kleinere Batch-Größe; möglicherweise einige Epochen mehr | Andernfalls gibt es zu wenige Schritte, aus denen gelernt werden kann |
| LoRA anstelle eines vollständigen Fine-Tunings | Eine höhere Lernrate, etwa 10-fach | Der Adapter beginnt bei null und seine Ausgabe wird durch Alpha ÷ r skaliert |
| Preference Tuning nach überwachtem Training | Weniger Epochen und eine niedrigere Lernrate | Es verfeinert ein funktionierendes Modell; große Schritte führen zu einem Drift |
Eine praktische Reihenfolge für das Tuning
- 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.
- 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.
- Evaluieren Sie gegen das Basismodell, nicht nur anhand des Loss-Wertes. Ein niedrigerer Loss-Wert garantiert keine besseren Antworten.
- Ä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.
- 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?‘.
- 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.
- Diagnose: Overfitting ab etwa der Mitte des Durchlaufs. Die Lernrate sieht gut aus: Die Kurve ist glatt, nicht gezackt.
- Durchlauf 2: 2 Epochen, alles andere unverändert. Der Validierungsverlust endet nun nahe seinem Tiefpunkt, und der Durchlauf kostet ein Drittel weniger.
- 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.
- 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.
- 02Linear regression: HyperparametersGoogle Machine Learning Crash Course · developers.google.comLernrate, Batch-Größe und Epochen, erklärt anhand interaktiver Beispiele.
- 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.
- 04Hyperparameter (machine learning)Wikipedia · en.wikipedia.org