Pipeline-Parallelismus

Pipeline-Parallelismus

Pipeline-Parallelismus verteilt ein sehr großes KI-Modell in Schichten über mehrere Rechenchips: Chip 1 rechnet den ersten Teil, gibt das Ergebnis an Chip 2 weiter und so fort. So passen Modelle in den Speicher, die auf einem einzelnen Chip keinen Platz hätten.

Moderne KI-Programme sind so groß, dass sie in den Arbeitsspeicher eines einzelnen Rechenchips nicht mehr hineinpassen. Man muss sie also aufteilen. Beim Pipeline-Parallelismus schneidet man das Programm quer durch: es besteht aus vielen hintereinanderliegenden Rechenstufen, und jeder Chip übernimmt eine Gruppe dieser Stufen. Eine Eingabe wandert dann von Chip zu Chip, ähnlich wie ein Auto an einem Fließband von Station zu Station fährt. Chip 1 rechnet den Anfang, schickt sein Zwischenergebnis an Chip 2, der rechnet weiter, und am Ende fällt das fertige Ergebnis heraus. Der Name kommt von genau diesem Fließband, das im Englischen « pipeline » heißt.

Warum große Modelle ohne Aufteilung nicht laufen

Ein KI-Modell besteht aus Milliarden gelernter Zahlen, den Parametern. Diese Zahlen müssen beim Rechnen komplett im schnellen Speicher der Grafikchips liegen. Ein einzelner Chip für Rechenzentren hat davon typischerweise 80 bis 192 Gigabyte. Ein Modell mit mehreren hundert Milliarden Parametern braucht ein Vielfaches davon, beim Training sogar noch mehr, weil zusätzliche Hilfswerte gespeichert werden. Ohne Aufteilung wäre so ein Modell also überhaupt nicht trainierbar.

Pipeline-Parallelismus ist die naheliegendste Antwort darauf, weil er dem Aufbau des Modells folgt. Die Rechenstufen sind sowieso schon hintereinander angeordnet. Man muss sie nur an sinnvollen Stellen durchtrennen. Zwischen zwei Chips wird dann pro Schritt nur ein relativ kleines Zwischenergebnis verschickt, keine riesige Datenmenge.

Das ist ein wirtschaftliches Argument, nicht nur ein technisches. Wer ein Modell auf 64 statt auf 8 Chips verteilen kann, kann überhaupt in eine andere Größenklasse vorstoßen. Fast alle bekannten großen Sprachmodelle wurden auf diese Weise über tausende Chips hinweg trainiert.

Wie das Fließband ohne Leerlauf gefüllt wird

Der naive Ansatz hat ein offensichtliches Problem. Während Chip 1 an einer Eingabe rechnet, haben die Chips 2, 3 und 4 nichts zu tun. Danach ist Chip 2 beschäftigt, und Chip 1 wartet. Diese Wartezeit nennt man Blase, im Englischen « bubble ». Bei vier Chips könnten so drei Viertel der teuren Rechenleistung ungenutzt bleiben.

Die Lösung heißt Micro-Batching. Man zerlegt jeden Datenstapel in viele kleine Häppchen und schickt sie kurz hintereinander los. Sobald Chip 1 das erste Häppchen abgegeben hat, beginnt er mit dem zweiten. Nach einer kurzen Anlaufphase arbeiten alle Chips gleichzeitig, jeder an einem anderen Häppchen. Genau so funktioniert ein echtes Fließband auch: erst wenn an jeder Station ein Auto steht, ist es effizient.

Beim Training kommt eine Besonderheit dazu. Nach dem Vorwärtsdurchlauf muss die Korrektur rückwärts durch alle Stufen zurücklaufen. Verfahren mit Namen wie GPipe oder 1F1B verschachteln Vorwärts- und Rückwärtsschritte so, dass die Blase klein bleibt. Ein zweiter Stolperstein ist die Aufteilung selbst: sind die Abschnitte ungleich groß, bestimmt der langsamste Chip das Tempo aller anderen.

Neben Tensor- und Datenparallelismus im Rechenzentrum

In der Praxis kommt Pipeline-Parallelismus selten allein. Beim Tensor-Parallelismus wird eine einzelne Rechenstufe in der Breite zerlegt und von mehreren Chips gemeinsam bearbeitet. Beim Datenparallelismus liegt das ganze Modell mehrfach vor, und jede Kopie bekommt andere Trainingsdaten. Große Trainingsläufe kombinieren alle drei Varianten und sprechen dann von 3D-Parallelismus.

Eine gängige Aufteilung: Tensor-Parallelismus innerhalb eines Servers, weil dort die Chips über sehr schnelle Kabel verbunden sind. Pipeline-Parallelismus über Servergrenzen hinweg, weil dabei weniger Daten hin- und hergeschickt werden. Datenparallelismus dann über die entstehenden Gruppen.

Begegnen wird man dem Begriff in Ankündigungen zu neuen Modellen, in technischen Berichten von Anbietern wie Meta oder DeepSeek und in Software wie Megatron-LM oder DeepSpeed. Ein häufiger Irrtum ist, Pipeline-Parallelismus mache das Rechnen schneller. Für eine einzelne Anfrage stimmt das nicht, sie wandert ja durch alle Chips. Der Gewinn liegt im Speicherplatz und im Durchsatz bei vielen parallelen Anfragen.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.