Ein LLM besteht intern aus vielen aufeinander gestapelten Schichten (Layers). Ein 70B-Modell in Q4-Quantisierung hat z.B. 80 solcher Schichten und braucht ca. 40 GB Speicher. Wenn das nicht in eine einzelne GPU passt, muss das Modell irgendwie aufgeteilt werden. Dafür gibt es zwei grundlegend verschiedene Ansätze.
Pipeline Parallelism (Layer-Split) die übliche Consumer Methode "Ollama"
Das Modell wird schichtweise aufgeteilt: GPU 1 bekommt z.B. Layer 0–39, GPU 2 bekommt Layer 40–79. Bei der Token-Generierung geht der Input zuerst in GPU 1, wird dort durch die ersten Schichten verarbeitet, dann wird das Zwischenergebnis (ein relativ kleiner Tensor, nicht das ganze Modell) über die Verbindung an GPU 2 geschickt. GPU 2 rechnet die restlichen Schichten, und am Ende fällt der nächste Token raus.
Wichtig: Es wird dabei nicht parallel gerechnet. Es ist wie ein Fliessband — GPU 1 arbeitet, dann wartet sie, während GPU 2 arbeitet, dann wartet GPU 2 wieder. Je mehr GPUs beteiligt sind, desto mehr Übergaben gibt es, und jede Übergabe kostet Zeit. Bei zwei GPUs im selben System läuft das über den PCIe-Bus (ca. 32 GB/s bei PCIe 5.0 x16), was gegenüber dem internen Speicherzugriff einer GPU (z.B. ~1.000 GB/s bei einer RTX Pro 5000 Blackwell) ein Flaschenhals ist, aber bei Inferenz noch akzeptabel, weil pro Schritt nur ein kleiner Tensor übertragen wird, nicht das gesamte Modell.
Tensor Parallelism, vLLM und Datacenter-Setups "NVIDIA DGX"
Das ist die Methode, die vLLM und Datacenter-Setups (z.B. NVIDIA DGX) nutzen. Bei der Tensor Parallelism Methode wird nicht Layer für Layer aufgeteilt, sondern innerhalb jedes Layers werden die Gewichtsmatrizen in Scheiben geschnitten. Jede GPU rechnet einen Teil jedes Layers gleichzeitig, und die Teilergebnisse werden dann zusammengeführt. Das ermöglicht echte Parallelität — aber es erfordert extrem schnelle Verbindungen zwischen den GPUs, weil bei jedem einzelnen Layer synchronisiert werden muss. In Datacentern gibt es dafür NVLink (bis 900 GB/s) oder InfiniBand. Über normales PCIe oder gar Ethernet ist echter Tensor Parallelism ein massiver Flaschenhals, weil die Kommunikation pro Token um Grössenordnungen häufiger stattfindet als bei Pipeline Parallelism.