AI SolutionX

Glossar · Modelle und Inferenz

Wissensstufe: Spezialwissen

Kollektivoperationen

Kollektivoperationen sind Kommunikationsschritte, an denen alle Prozesse einer Gruppe gleichzeitig teilnehmen, etwa um Teilergebnisse zu summieren oder zu verteilen.

Auch: All-Reduce, All-Gather, Collectives

Einfach erklärt

Vier Kassen eines Geschäfts zählen abends ihren Bestand. Damit jede Kasse den Gesamtumsatz kennt, melden alle ihre Summe, die Zahlen werden addiert und das Ergebnis geht an alle zurück. Genau das ist ein All-Reduce, nur zwischen Grafikprozessoren statt zwischen Kassen.

Was technisch passiert

Wird eine Berechnung auf mehrere Prozesse verteilt, hält jeder nur einen Teil der Daten oder des Ergebnisses. Kollektivoperationen sind festgelegte Muster, mit denen die ganze Gruppe diese Teile abgleicht. Die NCCL-Dokumentation beschreibt unter anderem diese:

  • All-Reduce: Die Beiträge aller Teilnehmer werden verrechnet, zum Beispiel summiert oder als Minimum beziehungsweise Maximum bestimmt, und jeder Teilnehmer erhält das Ergebnis.
  • Reduce: Dieselbe Verrechnung, das Ergebnis landet aber nur bei einem festgelegten Teilnehmer.
  • All-Gather: Jeder steuert ein Stück bei, am Ende besitzt jeder Teilnehmer alle Stücke aneinandergereiht.
  • Reduce-Scatter: Die Beiträge werden verrechnet, das Ergebnis aber in gleich große Abschnitte zerlegt, von denen jeder Teilnehmer einen erhält.
  • Broadcast: Ein einzelner Teilnehmer verteilt seine Daten an alle übrigen.

Kennzeichnend ist die Verbindlichkeit für die ganze Gruppe. Eine Kollektivoperation ist erst vollständig, wenn jeder Teilnehmer sie mit derselben Datenmenge und demselben Datentyp aufgerufen hat. Fehlt ein Aufruf oder weicht er ab, warnt die NCCL-Dokumentation vor undefiniertem Verhalten bis hin zu hängenden Prozessen oder beschädigten Daten. Die Korrektheit eines verteilten Modells hängt deshalb auch daran, dass alle Beteiligten im Gleichschritt bleiben.

In der Praxis

Bei Tensor Parallelism im Vier-Spark-Aufbau von AI SolutionX führen All-Reduce und All-Gather die Teilergebnisse der vier GB10 innerhalb jedes Transformer-Layers zusammen, über das RoCE-Netz und per RDMA. Während das Modell die Antwort Token für Token erzeugt, entsteht daraus eine lange Folge kleiner Transfers. Die Projektseite hält fest, dass gerade diese kleinen Übertragungen im Decode-Pfad über die Antwortzeit entscheiden. Dass die Ergebnisse über alle Ranks semantisch korrekt bleiben, zählt sie zu den Punkten, die noch belegt werden müssen.

Wann ist das sinnvoll?

  • Immer dann, wenn ein Modell auf mehrere GPUs verteilt ist: ohne Kollektivoperationen gibt es kein gemeinsames Ergebnis.
  • Bei der Bewertung eines Multi-Node-Systems lohnt der Blick darauf, wie oft solche Abgleiche pro Anfrage stattfinden, nicht nur auf die Nennbandbreite des Netzes.
  • Wenn ein verteilter Dienst hängt oder fehlerhafte Ausgaben liefert, gehört die Frage, ob alle Ranks ihre Collectives gleich aufrufen, zu den ersten Prüfpunkten.

Nicht verwechseln mit

Punkt-zu-Punkt-Kommunikation
Punkt-zu-Punkt heißt, dass genau ein Sender Daten an genau einen Empfänger schickt, in NCCL über einen Sende- und einen passenden Empfangsaufruf. Bei einer Kollektivoperation muss dagegen jeder Teilnehmer der Gruppe denselben Aufruf ausführen.
Broadcast
Ein Broadcast verteilt die Daten eines einzigen Teilnehmers an alle anderen. All-Reduce und All-Gather kombinieren dagegen Beiträge aller Teilnehmer, deshalb ist Broadcast nur eine von mehreren Kollektivoperationen und kein Oberbegriff.

Verwandte Begriffe

Kollektivoperationen NCCL Tensor Parallelism Rank RoCE Prefill und Decode RDMA

Quellen

  1. NVIDIA NCCL User Guide: Collective Operations · abgerufen am
  2. NVIDIA NCCL User Guide: Point-to-point communication · abgerufen am
  3. AI SolutionX: Vier DGX Sparks. Ein Modell. (Projektseite) · abgerufen am

Fachlich geprüft am · Alle Begriffe im Glossar