Als nächstesNächster Leitfaden
Datenparallelität
Technisch
Technischer Leitfaden
Fully Sharded Data Parallel (FSDP) ist eine verteilte Trainingstechnik, die die Parameter, Verläufe und Optimiererzustände eines Modells auf viele GPUs aufteilt, sodass jedes Gerät nur einen Slice enthält.
It makes training huge models possible on hardware that could never fit the whole model in one GPU's memory.
Bei der herkömmlichen Datenparallelität bleibt eine vollständige Kopie des Modells auf jeder GPU, was Speicher verschwendet und die Modellgröße begrenzt. FSDP, populär gemacht durch PyTorch von Meta und inspiriert von ZeRO von Microsoft, teilt stattdessen drei Dinge geräteübergreifend auf: Parameter, Verläufe und Optimiererzustände. Während des Vorwärtsdurchlaufs sammelt jede GPU vorübergehend die vollständigen Gewichtungen für die Schicht, die sie berechnet, über ein All-Gather, führt die Berechnung durch und gibt dann sofort die gesammelte Kopie frei. Der Rückwärtsdurchlauf funktioniert ähnlich, gefolgt von einer Reduzierung der Streuung, die Gradienten-Slices zurück an die eigenen GPUs verteilt. Da jedes Gerät nur einen Bruchteil des Modells dauerhaft speichert, sinkt die Speichernutzung ungefähr linear mit der Anzahl der GPUs, sodass Teams Modelle mit Dutzenden oder Hunderten Milliarden Parametern trainieren können.
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.
FSDP wird zum Standard für das offene Training großer Modelle, wobei FSDP2 in PyTorch die Benutzerfreundlichkeit und das Sharding pro Parameter verbessert. Erwarten Sie eine engere Integration mit Tensor- und Pipeline-Parallelität für Billionen-Parameter-Modelle, eine bessere Unterstützung für gemischte Präzision und fp8 sowie eine intelligentere automatische Verpackung, die Sharding-Grenzen für Sie festlegt. Da Inter-GPU-Verbindungen wie NVLink und InfiniBand schneller werden, sinken die Kommunikationskosten des Shardings immer weiter, sodass es in immer größeren Maßstäben praktisch ist.
Feinabstimmung eines Llama-Modells mit 70 Milliarden Parametern auf 8 GPUs, die einzeln nicht die vollen Gewichte aufnehmen können.
Vorabtraining großer Sprachmodelle in KI-Laboren durch Sharding von Optimiererzuständen (die bei Adam den Speicher dominieren) über Hunderte von Beschleunigern.
Forscher nutzen den FSDP-Wrapper von PyTorch, um Vision Transformer auf einem Universitätscluster zu trainieren, ohne Flaggschiff-GPUs mit 80 GB kaufen zu müssen.
Kombination von FSDP mit bfloat16 mit gemischter Genauigkeit, um den Speicher etwa zu halbieren und den Trainingsdurchsatz bei multimodalen Modellen zu beschleunigen.
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
Fully Sharded Data Parallel (FSDP) ist eine verteilte Trainingstechnik, die die Parameter, Verläufe und Optimiererzustände eines Modells auf viele GPUs aufteilt, sodass jedes Gerät nur einen Slice enthält. Es ermöglicht das Training großer Modelle auf Hardware, bei der niemals das gesamte Modell in den Speicher einer GPU passen würde.
FSDP teilt die Parameter, Verläufe und Optimiererzustände des Modells geräteübergreifend auf, während die Standarddatenparallelität das vollständige Modell auf jeder GPU repliziert.
Bevor ein Layer ausgeführt wird, führt FSDP ein All-Gather durch, um vorübergehend die vollständigen Parameter aller Shards zusammenzustellen und sie anschließend freizugeben.
Das permanente Halten nur eines Shards und das vorübergehende Sammeln der vollen Gewichte hält die Speichernutzung niedrig und ungefähr proportional zu einem Bruchteil des Modells.
Das Sharding von Parametern, Verläufen und Optimiererzuständen durch FSDP folgt eng den Ideen, die in ZeRO von Microsoft aus der DeepSpeed-Bibliothek eingeführt wurden.
FSDP ruft die Parameter der nächsten Schicht vorab ab, während die aktuelle Schicht noch rechnet, und überlagert so die All-Gather-Kommunikation mit nützlicher Arbeit.
Lerne weiter
Weitere Leitfäden zu diesem Thema ausgewählt
Als nächstesNächster Leitfaden
Datenparallelität
Technisch