Cosine-Scheduler

Beim Training eines Modells muss die Schrittgröße, mit der das Modell aus Fehlern lernt, im Verlauf kleiner werden. Der Cosine-Scheduler steuert diese Verkleinerung entlang einer Kosinuskurve: Am Anfang bleibt die Schrittgröße lange hoch, in der Mitte sinkt sie zügig, und am Ende flacht sie sanft ab.

Die Schrittgröße beim Training heißt Learning Rate. Sie bestimmt, wie stark ein Modell seine internen Gewichte nach jedem Trainingsschritt anpasst. Eine zu hohe Learning Rate führt dazu, dass das Modell über gute Lösungen hinwegspringt. Eine zu niedrige Learning Rate verlangsamt das Training und kann in lokalen Minima enden. Der Cosine-Scheduler löst dieses Dilemma mit einer mathematisch definierten Absenkungskurve.

Wie die Kosinuskurve die Learning Rate steuert

Der Cosine-Scheduler berechnet die Learning Rate zu jedem Zeitpunkt t nach der Formel:

η(t) = η_min + ½(η_max - η_min)(1 + cos(π · t / T))

Dabei ist η_max der Startwert der Learning Rate, η_min der Endwert (oft nahe null), t der aktuelle Trainingsschritt und T die Gesamtzahl der Schritte. Der Kosinus liefert Werte zwischen 1 und -1. Eingesetzt in die Formel ergibt das einen glatten Abfall von η_max nach η_min.

Beispiel: Ein Modell trainiert 10.000 Schritte mit η_max = 0,001 und η_min = 0. Nach 2.500 Schritten (t/T = 0,25) liegt die Learning Rate bei etwa 0,000854. Nach 5.000 Schritten (t/T = 0,5) bei 0,0005. Nach 7.500 Schritten bei etwa 0,000146. Die Absenkung ist nicht gleichmäßig, sondern folgt der typischen S-Form der Kosinuskurve.

Beispiel: Bei einem linearen Scheduler würde die Learning Rate nach 5.000 von 10.000 Schritten exakt bei 0,0005 liegen. Der Cosine-Scheduler erreicht denselben Mittelpunkt, aber mit anderem Weg: Die erste Hälfte der Reduktion dauert länger, die zweite geht schneller. Das Modell behält in frühen Phasen mehr Explorationskraft.

Fachliche Einordnung: Die Kosinuskurve ist ein Spezialfall monotoner Scheduling-Funktionen. Im Vergleich zu polynomialem Decay (z. B. quadratisch oder kubisch) bietet die Kosinusfunktion eine stetige, unendlich differenzierbare Kurve ohne abrupte Änderungen in der Absenkungsgeschwindigkeit. Loshchilov und Hutter haben das Verfahren 2017 unter dem Namen "SGDR: Stochastic Gradient Descent with Warm Restarts" veröffentlicht.

Unterschied zu linearem und Step-Decay-Scheduling

Ein linearer Scheduler reduziert die Learning Rate in konstanten Schritten. Bei Step Decay wird die Learning Rate an vordefinierten Punkten halbiert oder mit einem Faktor multipliziert. Der Cosine-Scheduler unterscheidet sich von beiden durch seinen glatten, kontinuierlichen Verlauf.

Beispiel: Step Decay halbiert die Learning Rate nach jeder dritten Epoch: 0,001 → 0,0005 → 0,00025. Jeder Sprung ist abrupt. Das Modell muss sich plötzlich an eine deutlich kleinere Schrittgröße anpassen. Der Cosine-Scheduler vermeidet diese Sprünge und senkt die Rate stufenlos.

Beispiel: In einem Bildklassifikationsmodell mit 90 Epochen führt Step Decay (Faktor 0,1 bei Epoch 30 und 60) zu zwei abrupten Einbrüchen in der Trainingsgeschwindigkeit. Cosine Decay verteilt dieselbe Reduktion gleichmäßig über den gesamten Trainingsverlauf. In vielen Benchmarks erreicht Cosine Decay vergleichbare oder bessere Endgenauigkeit.

η_maxStartwert
Cosine Decay½(1 + cos(π t/T))
η_minEndwert
Linear DecayKonstanter Abfall
Step DecayStufenweise Sprünge
Cosine DecayGlatter S-Verlauf

Warmup-Phase: Der Standardstart beim Modelltraining

In der Praxis startet das Training fast nie direkt mit der maximalen Learning Rate. Stattdessen steigt die Rate in einer Warmup-Phase linear von null auf η_max. Erst danach beginnt der Cosine Decay. Diese Kombination heißt Warmup + Cosine Decay und ist der De-facto-Standard bei großen Transformer-Modellen.

Der Grund für das Warmup liegt in der Initialisierung: Zu Beginn des Trainings sind die Gewichte zufällig. Ein hoher Lernschritt bei zufälligen Gewichten kann den Gradienten destabilisieren. Das Warmup gibt dem Modell Zeit, grundlegende Muster zu erfassen, bevor die volle Schrittgröße angewendet wird.

Beispiel: GPT-3 nutzt ein Warmup von 375 Millionen Token (bei insgesamt 300 Milliarden Token). Das entspricht etwa 0,125 % des Trainings. Danach folgt Cosine Decay bis auf 10 % der maximalen Learning Rate. Die Warmup-Phase ist kurz, aber entscheidend für die Stabilität der frühen Trainingsschritte.

Beispiel: LLaMA-2 verwendet ein Warmup von 2.000 Schritten bei einem Gesamttraining von etwa 2 Billionen Token. Die maximale Learning Rate liegt bei 3 × 10⁻⁴ und wird durch Cosine Decay auf 3 × 10⁻⁵ (10 % des Maximalwerts) gesenkt.

Cosine Annealing mit Warm Restarts

Eine Variante des Cosine-Schedulers setzt die Learning Rate nach Erreichen des Minimums wieder auf den Maximalwert zurück. Danach beginnt ein neuer Cosine-Zyklus. Dieses Verfahren heißt Cosine Annealing with Warm Restarts (SGDR).

Die Idee: Wenn ein Modell in einem lokalen Minimum feststeckt, kann ein plötzlicher Anstieg der Learning Rate es aus diesem Minimum herausstoßen. Der darauffolgende Cosine Decay führt das Modell dann möglicherweise in ein besseres Minimum. Jeder Zyklus kann dabei länger sein als der vorherige (typisch: Verdopplung der Zykluslänge).

Beispiel: Ein Modell trainiert mit drei Zyklen: Der erste läuft 10 Epochen, der zweite 20, der dritte 40. Die Learning Rate springt nach Epoch 10 und nach Epoch 30 jeweils zurück auf η_max. Das Modell exploriert damit dreimal verschiedene Regionen der Verlustlandschaft und konvergiert am Ende des letzten Zyklus.

Beispiel: In einem Fine-Tuning-Szenario mit einem vortrainierten Embedding-Modell können Warm Restarts dazu beitragen, dass das Modell nicht nur die am stärksten vertretenen Muster im Fine-Tuning-Datensatz lernt, sondern durch erneute Exploration auch unterrepräsentierte Zusammenhänge erfasst.

Abstimmung der Scheduler-Parameter

Der Cosine-Scheduler hat wenige, aber wirkungsvolle Hyperparameter: die maximale Learning Rate (η_max), die minimale Learning Rate (η_min), die Gesamtzahl der Trainingsschritte (T) und, bei Verwendung von Warmup, die Anzahl der Warmup-Schritte.

Der Wert von η_min wird typischerweise auf 0 oder auf einen kleinen Bruchteil von η_max gesetzt (z. B. η_min = 0,1 × η_max). Ein η_min von exakt 0 bedeutet, dass das Modell in den letzten Schritten praktisch nicht mehr lernt. Ein kleiner Restwert hält minimale Anpassungsfähigkeit aufrecht.

Beispiel: Chinchilla (DeepMind) setzt η_min auf das 10-fache unter η_max. Bei einer maximalen Rate von 1,5 × 10⁻⁴ endet das Training bei 1,5 × 10⁻⁵. Dieser Restwert stellt sicher, dass das Modell auch in den letzten Trainingsschritten noch minimale Korrekturen vornehmen kann.

Beispiel: Bei einem kleinen Textklassifikationsmodell mit 50.000 Trainingsschritten und Warmup von 500 Schritten werden 1 % der Schritte für Warmup verwendet. Die restlichen 49.500 Schritte folgen dem Cosine Decay. Eine Verdopplung der Warmup-Schritte auf 1.000 hat bei kleinen Modellen oft keinen messbaren Effekt. Bei großen Modellen mit Milliarden von Parametern kann die Warmup-Länge die Trainingsstäbilität spürbar beeinflussen.

Einsatz beim Training großer Sprachmodelle

Die meisten modernen Sprachmodelle verwenden Warmup + Cosine Decay. Die folgende Übersicht zeigt, wie verbreitet dieses Schema ist:

GPT-3 (OpenAI): Cosine Decay auf 10 % von η_max. LLaMA (Meta): Cosine Decay auf 10 % von η_max. PaLM (Google): Cosine Decay auf 0. Chinchilla (DeepMind): Cosine Decay mit η_min = η_max / 10. BLOOM (BigScience): Cosine Decay nach Warmup.

Beispiel: Das PaLM-Modell mit 540 Milliarden Parametern trainiert mit Cosine Decay über 780 Milliarden Token. Die maximale Learning Rate beträgt 0,01 (höher als bei den meisten anderen Modellen), und der Cosine Decay senkt sie auf 0. Die Wahl eines aggressiveren Startwerts wird durch die glatte Absenkung des Cosine-Schedulers abgefangen.

Beispiel: Beim Fine-Tuning eines vortrainierten Modells auf einen domänenspezifischen Datensatz (z. B. juristische Texte) wird häufig eine deutlich niedrigere maximale Learning Rate gewählt als beim Pre-Training (typisch: 2 × 10⁻⁵ statt 3 × 10⁻⁴). Der Cosine-Scheduler sorgt dafür, dass die Rate sanft auf nahe null abfällt, ohne das vortrainierte Wissen zu stark zu überschreiben.

Grenzen und bekannte Schwachstellen

Der Cosine-Scheduler ist nicht universell optimal. Es gibt dokumentierte Szenarien, in denen andere Scheduling-Strategien besser abschneiden.

Die Gesamtzahl der Trainingsschritte (T) muss im Voraus festgelegt werden. Bei Trainingsabläufen, deren Dauer erst zur Laufzeit bestimmt wird (z. B. Training bis zur Konvergenz), ist der Cosine-Scheduler ohne Anpassung nicht direkt einsetzbar. Eine gängige Behelfslösung besteht darin, T konservativ zu schätzen und den Scheduler bei vorzeitigem Abbruch bei der aktuellen Rate einzufrieren.

Beispiel: Ein Forschungsteam trainiert ein Modell mit T = 100.000 Schritten und stellt nach 60.000 Schritten fest, dass es konvergiert ist. Die restlichen 40.000 Schritte würden die Learning Rate weiter senken, obwohl kein relevanter Trainingsfortschritt mehr stattfindet. Linearer Decay hätte denselben Endwert früher erreicht.

Bei sehr langen Trainings mit Milliarden von Schritten kann die flache Phase am Ende des Cosine-Schedules Tausende Schritte umfassen, in denen die Learning Rate sich kaum noch ändert. Diese Phase trägt wenig zum Modell bei, verbraucht aber Rechenzeit.

Beispiel: Während der letzten 5 % eines Trainings ändert sich die Learning Rate beim Cosine-Scheduler nur noch um weniger als 1 % ihres Endwerts. Bei 100.000 Schritten sind das 5.000 Schritte mit faktisch konstanter, sehr niedriger Rate. Bei einem GPU-Cluster mit 256 A100-GPUs können diese 5.000 Schritte mehrere Stunden Rechenzeit beanspruchen.

Warm Restarts erhöhen die Komplexität der Hyperparameter-Suche. Neben η_max und T kommen die Zykluslänge, der Multiplikator für die Zyklusverlängerung und die Frage hinzu, ob η_max zwischen den Zyklen ebenfalls angepasst werden soll. In der Praxis sind Warm Restarts daher seltener als einfacher Cosine Decay.

Fachliche Einordnung: Neuere Forschung untersucht Alternativen zum Cosine-Scheduler. WSD (Warmup-Stable-Decay) hält die Learning Rate nach dem Warmup für einen Großteil des Trainings konstant und senkt sie erst am Ende. Erste Ergebnisse deuten darauf hin, dass WSD bei bestimmten Modellgrößen vergleichbare Ergebnisse liefert, ohne dass T im Voraus festgelegt werden muss. Ob sich WSD als Standard durchsetzt, ist zum jetzigen Zeitpunkt offen.


Karl Kratz · 26.02.2025

Technologie Künstliche Intelligenz Training