DocsKI-Training Coach⚙️ Hyperparameter

Learning Rate (vertieft)

Der wichtigste Hyperparameter vollständig verstehen

Die Learning Rate (LR) bestimmt die Schrittgröße beim Gradient Descent. Sie ist der einflussreichste Hyperparameter: kein anderer Parameter kann das Training so stark positiv oder negativ beeinflussen.

Auswirkungen auf den Trainingsverlauf

⚡ Chaos

LR zu groß (z.B. 1e-2)

Loss oszilliert extrem

Kein Konvergieren

Mögliche Gradient-Explosion (NaN)

✓ Optimal

LR ideal (z.B. 2e-5)

Loss sinkt gleichmäßig

Stabile Konvergenz

Erreicht niedriges Minimum

🐌 Zu langsam

LR zu klein (z.B. 1e-8)

Kaum Fortschritt pro Epoche

Sehr langsames Training

Praktisch kein Lernen

LR-Empfehlungen nach Modelltyp und Aufgabe

BERT / RoBERTa Fine-Tuning (Klassifikation)
2e-5 bis 5e-5
DeBERTa / ELECTRA Fine-Tuning
1e-5 bis 3e-5
GPT-2 Fine-Tuning (Generierung)
5e-5 bis 1e-4
LLaMA / Mistral LoRA (rank=8–16)
1e-4 bis 3e-4
LLaMA / Mistral LoRA (rank=32–64)
5e-5 bis 1e-4
QLoRA (4-bit) Fine-Tuning
2e-4 bis 3e-4
Full Fine-Tuning (7B, fp16)
1e-5 bis 5e-5
Training von Scratch (kleines Modell)
1e-3 bis 3e-3

Der LR Range Test – systematische Findung

LR Range Test (implementierung):

  1. Initialisiere Modell frisch
  2. Trainiere 1 Epoche mit LR Schedule: 1e-8 → 1e-1
     (exponentiell steigend über alle Steps)
  3. Plotte Loss vs. LR (log-Skala)
  4. Identifiziere:
     - Punkt wo Loss am steilsten sinkt → LR_steep
     - Punkt wo Loss beginnt zu steigen → LR_max
  5. Gute LR = LR_steep / 10 bis LR_steep

Beispiel-Ergebnis:
  LR_steep  = 5e-4
  LR_max    = 2e-3
  → Gute LR = 5e-5 (sicher unter steep)
             oder 1e-4 (aggressiver)

Linear Scaling Rule & Batch-LR-Beziehung

Linear Scaling Rule:
  LR_neu = LR_basis × (Batch_Size_neu / Batch_Size_basis)

Beispiel:
  Basis: BS=8, LR=2e-5
  Neu:   BS=32 → LR = 2e-5 × (32/8) = 8e-5

Für Batch Size < 512:  Linear Scaling gut
Für Batch Size > 512:  Square Root Scaling besser:
  LR_neu = LR_basis × sqrt(BS_neu / BS_basis)

Hinweis: Bei kleinen Änderungen (8→16) oft optional.

Praktischer Ansatz für FrameTrain

Starte immer mit dem Standardwert des gewählten Modells. Wenn nach 1–2 Epochen Loss kaum sinkt: LR × 3. Wenn Loss oszilliert: LR ÷ 5. Warmup immer auf 5–10% der Steps setzen.