Scheduler

Beim Training eines Modells bestimmt ein einzelner Wert, wie stark das Modell aus jedem Datenpunkt lernt. Bleibt dieser Wert konstant, lernt das Modell entweder zu langsam oder überschießt das Ziel. Ein Scheduler verändert diesen Wert automatisch im Trainingsverlauf. In der Fachsprache heißt dieser Wert Learning Rate.

Was ein Scheduler tut

Ein Scheduler ist eine Funktion, die die Learning Rate zu jedem Zeitpunkt des Trainings festlegt. Die Learning Rate bestimmt die Schrittweite, mit der ein Optimizer die Gewichte eines Modells anpasst. Ohne Scheduler bleibt die Learning Rate über das gesamte Training konstant.

Das Problem einer konstanten Learning Rate: Zu Beginn des Trainings liegen die Gewichte weit vom Optimum entfernt. Große Schritte sind hier effizient. In späteren Phasen, wenn das Modell bereits in der Nähe eines guten Minimums operiert, führen große Schritte dazu, dass das Minimum wiederholt übersprungen wird. Das Modell oszilliert statt zu konvergieren.

Beispiel: Ein Sprachmodell wird mit einer konstanten Learning Rate von 0,001 trainiert. Nach 50 Epochen sinkt der Loss nicht weiter, sondern schwankt um einen Wert. Mit einem Scheduler, der die Rate nach 30 Epochen halbiert, erreicht dasselbe Modell einen um 12% niedrigeren Loss.

Beispiel: Ein Bildklassifikator mit Deep Learning auf ImageNet wird mit Learning Rate 0,1 gestartet. Nach jeweils 30 Epochen reduziert ein Step-Decay-Scheduler die Rate um den Faktor 10. Ohne diesen Scheduler stagniert die Accuracy bei 68% statt der erreichbaren 76%.

Verbreitete Scheduler-Typen

Es gibt mehrere etablierte Strategien, nach denen ein Scheduler die Learning Rate verändert. Jede Strategie eignet sich für bestimmte Trainingsszenarien.

Step Decay

Die Learning Rate wird nach einer festen Anzahl von Epochen um einen konstanten Faktor reduziert. Die Reduktion erfolgt stufenweise.

Beispiel: Start bei 0,01, Reduktion um Faktor 10 nach Epoche 30, 60 und 90. Die Rate beträgt dann 0,01 → 0,001 → 0,0001 → 0,00001. Dieses Schema ist in der Bildklassifikation mit ResNet-Architekturen Standard.

Linear Decay

Die Learning Rate sinkt gleichmäßig über die gesamte Trainingsdauer von einem Startwert auf null oder einen definierten Endwert.

Beispiel: Bei einem Fine-Tuning mit 10.000 Trainingsschritten sinkt die Rate linear von 2e-5 auf 0. Nach der Hälfte des Trainings beträgt sie exakt 1e-5.

Cosine Annealing

Die Learning Rate folgt einer Kosinuskurve: Sie beginnt hoch, sinkt zunächst langsam, dann schneller in der Mitte, und nähert sich am Ende asymptotisch dem Minimum. Die Formel lautet: lr_t = lr_min + 0.5 * (lr_max - lr_min) * (1 + cos(pi * t / T)).

Beispiel: GPT-3 verwendet Cosine Annealing über 300 Milliarden Token. Die Learning Rate startet bei 6e-4 und sinkt auf 10% dieses Wertes. Die Kosinuskurve bewirkt, dass das Modell in der kritischen Schlussphase besonders fein justiert wird.

Warmup mit anschließendem Decay

Die Learning Rate startet bei null oder einem sehr kleinen Wert und steigt in den ersten Trainingsschritten auf den Zielwert an. Danach folgt eine Decay-Phase (linear, cosine oder step). Diese Kombination stabilisiert das Training in der Anfangsphase, wenn die Gradienten noch stark streuen.

Beispiel: BERT verwendet 10.000 Warmup-Schritte bei insgesamt 1 Million Trainingsschritten. Die Learning Rate steigt linear von 0 auf 1e-4 und sinkt danach linear auf 0. Ohne die Warmup-Phase divergiert das Training in den ersten Hundert Schritten.

Einfluss auf Trainingsqualität und Konvergenz

Die Wahl des Schedulers beeinflusst drei messbare Größen: die Konvergenzgeschwindigkeit (wie schnell der Loss sinkt), die finale Modellqualität (wie niedrig der Loss am Ende ist) und die Stabilität (ob das Training ohne Abbruch durchläuft).

Ein zu aggressiver Scheduler reduziert die Learning Rate zu früh. Das Modell bleibt in einem suboptimalen Minimum stecken, weil die Schrittweite nicht mehr ausreicht, um Sattelpunkte oder lokale Minima zu verlassen. Ein zu langsamer Scheduler hält die Rate zu lange hoch. Das Modell oszilliert um das Minimum und konvergiert nicht.

Beispiel: Bei einem Vergleichsexperiment mit einem Transformer-Modell auf WMT-14 (Übersetzung Englisch-Deutsch) erreicht Cosine Annealing einen BLEU-Score von 28,4, während eine konstante Learning Rate bei 26,1 stagniert. Der Unterschied entsteht ausschließlich durch den Scheduler.

Fachliche Einordnung: Die Wahl des Schedulers interagiert mit der Batch Size, dem Optimizer und der Modellarchitektur. Empirische Studien (Loshchilov & Hutter, 2016) zeigen, dass Cosine Annealing mit Warm Restarts in vielen Fällen bessere Ergebnisse liefert als Step Decay. Allerdings gibt es keine universell optimale Scheduler-Konfiguration. Die Interaktion zwischen Hyperparametern erfordert systematische Suche.

Ablauf eines Schedulers im Trainingszyklus

Initiale Learning Ratez.B. lr = 0.001
Warmup-Phaselr steigt linear an
TrainingsschrittForward + Backward
Scheduler.step()lr wird angepasst
Training beendet?Prüfung Endkriterium

Dieses Diagramm zeigt den typischen Ablauf: Nach der Initialisierung durchläuft das Modell eine optionale Warmup-Phase. In jedem Trainingsschritt berechnet der Optimizer die Gewichtsaktualisierung mit der aktuellen Learning Rate. Nach jedem Schritt (oder jeder Epoche, je nach Konfiguration) ruft der Scheduler seine step()-Methode auf und passt die Rate an.

Implementierung in PyTorch

In PyTorch sind Scheduler als Klassen im Modul torch.optim.lr_scheduler implementiert. Jeder Scheduler erhält den Optimizer als Argument und verändert dessen Learning Rate bei jedem Aufruf von scheduler.step().

Die gebräuchlichsten Klassen:

Beispiel: Ein typisches Trainingssetup mit Warmup und Cosine Decay in PyTorch besteht aus drei Zeilen: optimizer = AdamW(model.parameters(), lr=3e-4), scheduler = CosineAnnealingLR(optimizer, T_max=num_epochs), und in der Trainingsschleife scheduler.step() nach optimizer.step(). Die Reihenfolge ist entscheidend: Zuerst Gewichte aktualisieren, dann Learning Rate anpassen.

Warm Restarts und zyklische Strategien

Bei Warm Restarts wird die Learning Rate nach einer Decay-Phase abrupt auf den Startwert zurückgesetzt. Das Modell kann dadurch aus lokalen Minima entkommen und potenziell bessere Regionen der Verlustlandschaft erreichen. In der Literatur wird dieses Verfahren als SGDR (Stochastic Gradient Descent with Warm Restarts) bezeichnet.

Zyklische Strategien wie Cyclical Learning Rates (CLR, Smith 2017) variieren die Learning Rate kontinuierlich zwischen einem Minimum und Maximum. Statt monoton zu sinken, oszilliert die Rate. Die Hypothese: Durch regelmäßige Erhöhungen überwindet das Modell schmale Minima und findet breitere, besser generalisierende Minima.

Beispiel: CosineAnnealingWarmRestarts mit T_0=50 und T_mult=2 erzeugt Zyklen der Länge 50, 100, 200 Epochen. In jedem Zyklus sinkt die Rate gemäß Kosinuskurve auf null und springt dann zurück. Die wachsende Zykluslänge erlaubt immer feinere Anpassungen in späteren Phasen.

Beispiel: Snapshot Ensembles (Huang et al., 2017) nutzen Warm Restarts, um an jedem Zyklusende ein Checkpoint zu speichern. Die gespeicherten Modelle werden als Ensemble kombiniert. Ein einzelner Trainingslauf liefert so mehrere diverse Modelle.

Kriterien zur Scheduler-Auswahl

Die Wahl des Schedulers hängt von mehreren Faktoren ab: der Trainingsaufgabe, der verfügbaren Rechenzeit, dem Optimizer und der Modellgröße.

Für Fine-Tuning vortrainierter Sprachmodelle hat sich die Kombination aus linearem Warmup und linearem Decay als Standard etabliert. Die Warmup-Phase umfasst typischerweise 5% bis 10% der gesamten Trainingsschritte. Diese Konfiguration ist robust gegenüber verschiedenen Datensatzgrößen und Hyperparameter-Variationen.

Für das Training von Grund auf (Pretraining) sind Cosine Annealing und Cosine mit Warm Restarts verbreitet. Große Sprachmodelle wie GPT-3, PaLM und LLaMA verwenden Cosine Annealing mit Warmup. Die Trainingszeit dieser Modelle macht systematische Scheduler-Vergleiche unwirtschaftlich, weshalb die Wahl oft auf bewährte Konfigurationen fällt.

Beispiel: LLaMA (Meta, 2023) trainiert mit Cosine Annealing, einer maximalen Learning Rate von 3e-4 und einem Warmup über 2.000 Schritte. Die finale Learning Rate beträgt 10% des Maximalwerts. Diese Konfiguration wird über 1,4 Billionen Token beibehalten.

Grenzen und häufige Fehler

Ein Scheduler löst keine fundamentalen Probleme des Trainingssetups. Wenn die initiale Learning Rate um Größenordnungen falsch liegt, kann kein Scheduler dies kompensieren. Ebenso ersetzt ein Scheduler nicht die Wahl eines geeigneten Optimizers.

Häufige Fehler bei der Scheduler-Konfiguration:

Beispiel: Ein Nutzer konfiguriert OneCycleLR mit total_steps=len(dataloader)*num_epochs, ruft scheduler.step() aber pro Epoche statt pro Batch auf. Die Learning Rate durchläuft nur einen Bruchteil des geplanten Zyklus. Das Training konvergiert deutlich schlechter als erwartet.

Fachliche Einordnung: Scheduler-Konfiguration gehört zur Kategorie der Hyperparameter-Optimierung. Es gibt keine geschlossene Theorie, die den optimalen Scheduler für eine gegebene Aufgabe vorhersagt. Praktische Empfehlungen basieren auf empirischen Vergleichen. Die Übertragbarkeit von Scheduler-Konfigurationen zwischen verschiedenen Modellgrößen und Datensätzen ist begrenzt. Automatisierte Methoden wie Population Based Training (Jaderberg et al., 2017) können Scheduler-Parameter während des Trainings anpassen, erfordern aber erhebliche Rechenressourcen.


Karl Kratz · 07.12.2025 (aktualisiert 15.03.2026)

Technologie Künstliche Intelligenz Training