Als nächstesNächster Leitfaden
Modell- und Pipeline-Parallelität
Technisch
Technischer Leitfaden
Eine Möglichkeit, die Mathematik innerhalb einer einzelnen neuronalen Netzwerkschicht auf mehrere GPUs aufzuteilen, sodass ein Modell, das für ein Gerät zu groß ist, trotzdem ausgeführt werden kann.
Dies ist wichtig, da Grenzmodelle über Hunderte Milliarden Parameter verfügen, die keine einzelne GPU allein speichern oder schnell genug berechnen kann.
Tensorparallelität (auch Intra-Layer-Modellparallelität genannt) teilt einzelne Gewichtsmatrizen auf GPUs auf, anstatt ganze Schichten auf separate Geräte zu verteilen. In einem Transformator werden die großen Matrixmultiplikationen – Aufmerksamkeitsprojektionen und Feed-Forward-MLP – aufgeteilt: Beispielsweise wird die erste Gewichtsmatrix des MLP durch Spalten und die zweite durch Zeilen unterteilt, sodass jede GPU einen Slice berechnet und eine einzelne Gesamtreduzierung die Ergebnisse kombiniert. Die Aufmerksamkeit wird auf mehrere Köpfe aufgeteilt, wobei jede GPU eine Teilmenge verarbeitet. Da jede GPU einen Teil jeder Schicht gleichzeitig ausführt, reduziert die Tensorparallelität den Speicher pro GPU und beschleunigt die Rechenleistung, erfordert jedoch eine häufige Kommunikation mit hoher Bandbreite zwischen den GPUs jeder Schicht. Aus diesem Grund ist es normalerweise auf einen über NVLink verbundenen Knoten beschränkt und wird für sehr große Schulungs- und Serviceaufgaben mit Pipeline- und Datenparallelität kombiniert.
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 Tensorparallelität bleibt grundlegend, wird jedoch zunehmend mit der „3D-Parallelität“ (Tensor + Pipeline + Daten) vermischt und mit der Expertenparallelität für Mixture-of-Experts-Modelle kombiniert. Frameworks wie Megatron-LM, DeepSpeed und vLLM automatisieren das Sharding. Da GPU-Verbindungen (NVLink, NVSwitch) und optische Strukturen schneller werden, lockert sich die Knotengrenzengrenze, was größere tensorparallele Gruppen ermöglicht. Erwarten Sie eine intelligentere automatische Parallelisierung, die Shard-Dimensionen und Gruppengrößen auswählt, um die Kommunikation für eine bestimmte Cluster-Topologie zu minimieren.
Trainieren eines 175B-Parameter-Modells durch Aufteilen der Gewichtsmatrizen jeder Schicht auf 8 GPUs in einem mit NVLink verbundenen Knoten mithilfe von Megatron-LM.
Bereitstellung eines 70B-Parameter-Chat-Modells in vLLM mit tensor_parallel_size=4, damit die Gewichte auf vier GPUs passen und in Echtzeit reagieren.
Aufteilung der Aufmerksamkeitsköpfe des Transformators auf GPUs, sodass jedes Gerät eine Teilmenge berechnet und dann die Ausgaben für die nächste Ebene verkettet.
Kombination von Tensor-Parallelität innerhalb von Knoten und Pipeline-Parallelität zwischen Knoten, um Billionen-Parameter-Modelle auf großen GPU-Clustern zu trainieren.
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
Eine Möglichkeit, die Mathematik innerhalb einer einzelnen neuronalen Netzwerkschicht auf mehrere GPUs aufzuteilen, sodass ein Modell, das für ein Gerät zu groß ist, trotzdem ausgeführt werden kann. Dies ist wichtig, da Grenzmodelle über Hunderte Milliarden Parameter verfügen, die keine einzelne GPU allein speichern oder schnell genug berechnen kann.
Tensor-(Intra-Layer-)Parallelität teilt die Gewichtsmatrizen innerhalb einer Schicht auf, sodass jede GPU einen Teil derselben Schicht berechnet – im Gegensatz zur Pipeline-Parallelität, bei der ganze Schichten auf verschiedenen GPUs platziert werden.
Durch die Aufteilung der ersten Matrix nach Spalten kann jede GPU die Nichtlinearität lokal anwenden. Das Aufteilen der Sekunde nach Zeilen bedeutet, dass eine einzige Gesamtreduzierung die Teilausgaben summiert und so die Synchronisierung minimiert.
Jede Schicht löst eine kollektive Kommunikation aus (All-Reduces), sodass der starke, latenzempfindliche Datenverkehr eher schnelle knoteninterne Verbindungen wie NVLink als langsamere Netzwerke zwischen Knoten erfordert.
Aufmerksamkeitsköpfe sind unabhängig, daher werden sie auf GPUs verteilt – jedes Gerät berechnet einige Köpfe und die Ausgaben werden kombiniert.
All-Reduce summiert die auf jeder GPU berechneten Teilausgaben, sodass sie sich auf das Ergebnis der Ebene einigen. Dies geschieht mehrmals pro Schicht in Vorwärts- und Rückwärtsdurchgängen.
Lerne weiter
Weitere Leitfäden zu diesem Thema ausgewählt
Als nächstesNächster Leitfaden
Modell- und Pipeline-Parallelität
Technisch