Als nächstesNächster Leitfaden
SmoothQuant und Aktivierungsquantisierung
Technisch
Technischer Leitfaden
Die Neuberechnung der Aktivierung (Gradienten- oder Aktivierungsprüfpunkt) spart GPU-Speicher während des Trainings, indem Zwischenaktivierungen im Vorwärtsdurchlauf verworfen und im Rückwärtsdurchlauf neu berechnet werden.
It trades extra compute for the ability to train larger models or longer sequences on the same hardware.
Für die Backpropagation sind die Vorwärtspass-Aktivierungen erforderlich, um Gradienten zu berechnen. Daher werden standardmäßig die Ausgaben jeder Ebene gespeichert – ein enormer Speicheraufwand, der mit der Modellgröße, der Stapelgröße und der Sequenzlänge zunimmt. Bei der Aktivierungsneuberechnung bleiben nur wenige „Checkpoint“-Tensoren (oft nur Schichtgrenzen) erhalten und der Rest wird verworfen. Während des Rückwärtsdurchlaufs wird die Vorwärtsberechnung zwischen Prüfpunkten erneut ausgeführt, um die verworfenen Aktivierungen bei Bedarf neu zu generieren. Das klassische Ergebnis ist, dass bei der Platzierung von Prüfpunkten auf allen sqrt(N)-Ebenen der Speicher auf ungefähr O(sqrt(N)) sinkt, während etwa ein zusätzlicher Vorwärtsdurchlauf hinzugefügt wird (~33 % mehr Rechenleistung). Selektive Varianten berechnen nur kostengünstige, aber speicherintensive Vorgänge (wie Aufmerksamkeit oder Dropout) neu, während teure Vorgänge zwischengespeichert werden, wodurch die meisten Speichereinsparungen bei weitaus geringerem Neuberechnungsaufwand erzielt werden.
Architekturentscheidungen beeinflussen über Jahre hinweg die Leistung und die Betriebskosten.
Technische Schulungen helfen Teams dabei, den richtigen Stack auszuwählen, nicht nur den neuesten.
Bessere technische Entscheidungen reduzieren Zuverlässigkeitsvorfälle in der Produktion.
Die Neuberechnung erfolgt zunehmend automatisiert und selektiv. Frameworks profilieren jetzt den Arbeitsspeicher und die FLOP-Kosten jedes Vorgangs, um optimale Prüfpunkte auszuwählen, und kombinieren Neuberechnung mit Aktivierungsverlagerung auf CPU/NVMe und mit Parallelitätsstrategien. Da Kontextlängen und Modellgrößen immer größer werden, erwarten Sie vom Compiler gesteuerte Richtlinien (in PyTorch, JAX/XLA), die Neuberechnungsentscheidungen pro Operation automatisch treffen, sowie eine engere Überlappung der Neuberechnung mit der Kommunikation, sodass die zusätzlichen FLOPs teilweise ausgeblendet werden.
Trainieren Sie einen großen Transformator, der sonst nicht passen würde, indem Sie jeden Layer-Block mit einem Checkpoint versehen
Verwenden Sie den Torch.utils.checkpoint von PyTorch, um Transformatorblöcke zu umschließen und den Aktivierungsspeicher zu beschneiden
Selektive Neuberechnung von Aufmerksamkeit/Softmax in Megatron-LM, um Speicher bei minimaler Verlangsamung zu sparen
Ermöglicht längere Sequenzlängen bei einem festen GPU-Budget, indem Aktivierungen neu berechnet werden, anstatt sie zu speichern
Die Optimierung eines Benchmarks kann umfassendere Systemschwächen verbergen.
Infrastruktur- und Wartungskosten werden oft unterschätzt.
Sicherheits- und Beobachtbarkeitslücken können größer werden, wenn die Systeme komplexer werden.
Definieren Sie vor der Implementierung Latenz-, Qualitäts- und Kostenziele.
Benchmark unter realistischen Last- und Datenbedingungen.
Instrumentenüberwachung auf Fehler, Drift und Benutzereinflüsse.
Bereiten Sie vor der Skalierung Rollback- und Incident-Response-Pfade vor.
Free newsletter
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Die Neuberechnung der Aktivierung (Gradienten- oder Aktivierungsprüfpunkt) spart GPU-Speicher während des Trainings, indem Zwischenaktivierungen im Vorwärtsdurchlauf verworfen und im Rückwärtsdurchlauf neu berechnet werden. Es tauscht zusätzliche Rechenleistung gegen die Möglichkeit ein, größere Modelle oder längere Sequenzen auf derselben Hardware zu trainieren.
Bei der Neuberechnung werden gespeicherte Aktivierungen verworfen und im Rückwärtsdurchlauf neu generiert, wodurch zusätzliche Rechenleistung aufgewendet wird, um die Speichernutzung zu reduzieren.
Beim Rückwärtsdurchlauf werden die Vorwärtsaktivierungen zur Berechnung von Farbverläufen verwendet. Sie werden daher standardmäßig im Speicher gehalten, bis der Rückwärtsdurchlauf ausgeführt wird.
Bei der vollständigen Neuberechnung wird die Vorwärtsberechnung während des Rückwärtsdurchlaufs erneut ausgeführt, wodurch ungefähr ein zusätzlicher Vorwärtsdurchlauf hinzugefügt wird – in der Größenordnung von 30–40 % mehr Rechenleistung.
Die selektive Neuberechnung zielt auf Operationen ab, die viel Speicher, aber wenig Rechenleistung verbrauchen (wie Softmax oder Layernorm), während teure GEMM-Ergebnisse zwischengespeichert werden, um verschwendete FLOPs zu minimieren.
Durch das Aktivierungs-Offloading werden einige Aktivierungen auf den CPU-/NVMe-Speicher verschoben und häufig mit Neuberechnung und Parallelität kombiniert, um weitere Speichereinsparungen zu erzielen.
Lerne weiter
Weitere Leitfäden zu diesem Thema ausgewählt
Als nächstesNächster Leitfaden
SmoothQuant und Aktivierungsquantisierung
Technisch