Optimierung
Was ein Minimum ist, warum es in hohen Dimensionen kaum lokale Fallen gibt und wie Lernrate, Momentum und Adam zusammenwirken.
Die Idee
Sie stehen im Nebel auf einem Hang und sollen ins Tal. Sie sehen nur den Boden unter Ihren Füßen. Also tasten Sie, in welche Richtung es abwärts geht, machen einen Schritt und wiederholen das.
Zu große Schritte lassen Sie über das Tal hinausschießen. Zu kleine Schritte brauchen ewig. Diese Abwägung ist die gesamte Kunst der Optimierung.
Wozu es gut ist
Jedes Training ist ein solcher Abstieg, nur in einem Raum mit Milliarden von Richtungen statt zweien.
Die drei Regler
| Regler | Wirkung wenn zu klein | Wirkung wenn zu groß |
|---|---|---|
| Lernrate | Training dauert ewig, bleibt auf Plateaus | Verlust springt oder wird NaN |
| Batch-Größe | Sehr verrauschte Gradienten | Weniger Schritte je Epoche, oft schlechtere Generalisierung |
| Aufwärmphase | Frühe Instabilität, besonders bei Transformern | Verschwendete Rechenzeit |
# Lernraten-Suchlauf: die Rate je Schritt exponentiell steigern und
# aufzeichnen, wo der Verlust am steilsten fällt.
import numpy as np
lrs = np.geomspace(1e-6, 1e-1, 60)
# In der Praxis: pro lr einen Batch trainieren, Verlust merken, Kurve ansehen.
# Gewaehlt wird ungefaehr eine Zehnerpotenz unter dem Minimum der Kurve.Typische Fehler
- Lernrate aus einem fremden Rezept übernehmen, ohne die Batch-Größe mitzuskalieren.
- Kein Warmup bei Transformern: die ersten Schritte zerstören dann die Normalisierung.
- Gradient Clipping vergessen, wodurch ein einziger Ausreißer-Batch das Modell ruiniert.
- Weight Decay über den Optimierer und zusätzlich als L2-Term im Verlust anwenden.
Die Formeln
Was Adam kostet
Adam hält je Parameter zwei zusätzliche Zustände. Für ein Modell mit 7
Milliarden Parametern in float32:
| Posten | Bytes je Parameter | Gesamt |
|---|---|---|
| Gewichte | 4 | 28 GB |
| Gradienten | 4 | 28 GB |
Adam m | 4 | 28 GB |
Adam v | 4 | 28 GB |
| Summe ohne Aktivierungen | 16 | 112 GB |
Deshalb passt ein 7-Milliarden-Modell zwar zur Inferenz auf eine einzelne Karte mit 24 GB, aber nicht zum vollen Training. Genau diese Rechnung ist der Grund für LoRA und parametereffizientes Training.
Warum lokale Minima überschätzt werden
In d Dimensionen ist ein kritischer Punkt nur dann ein Minimum, wenn alle d
Eigenwerte der Hesse-Matrix positiv sind. Bei zufälliger Vorzeichenverteilung
ist die Wahrscheinlichkeit dafür in der Größenordnung 2^(−d). Für d in
Millionen ist das praktisch null: fast jeder kritische Punkt ist ein
Sattelpunkt, und Sattelpunkte verlässt man mit Momentum.
Passende Kurse und Quellen
Adam
Das Optimierungsverfahren, mit dem praktisch jedes heutige Netz trainiert wird. Kurz und gut lesbar.
Kurz und gut lesbar; das Verfahren, mit dem praktisch jedes heutige Netz trainiert wird.
Deep Learning
Das Standardwerk von Goodfellow, Bengio und Courville, frei lesbar. Mathematisch dicht, vollständig, und in den Grundlagenteilen zeitlos.
Für den systematischen Zugang. Als Nachschlagewerk stark, als Einstieg zu dicht.
MIT 18.065 Matrixmethoden
Singulärwertzerlegung, Hauptkomponenten und Optimierung, angewandt auf Daten. Die Brücke zwischen linearer Algebra und dem, was Modelle tatsächlich rechnen.
Für den Schritt von der reinen Mathematik zu dem, was Modelle tatsächlich rechnen.