Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Zurück zum Ultralytics-Glossar

Expert Parallelism

Expertenparallelität verteilt die Experten von Mixture-of-Experts-Schichten auf mehrere GPUs und leitet jedes Token mithilfe von All-to-all-Kommunikation an sie weiter.

Expertenparallelisierung (EP) ist ein Verfahren für verteiltes Training und Inferenz von Mixture-of-Experts-Modellen (MoE). Dabei werden verschiedene Experten auf unterschiedliche GPUs verteilt. Jedes Token wird an die Geräte gesendet, auf denen sich die dafür ausgewählten Experten befinden. Eine MoE-Schicht ersetzt einen großen Feedforward-Block eines Transformers durch viele kleinere Expertennetze sowie einen Router, der für jedes Token nur wenige Experten aktiviert. Dadurch kann die Gesamtzahl der Parameter deutlich schneller wachsen als der Rechenaufwand pro Token. Expertenparallelisierung sorgt dafür, dass diese Parameter in den Speicher passen: Statt dass jede GPU alle Experten speichert, enthält jede GPU nur einen Teil davon. Noam Shazeer und seine Kollegen bei Google verteilten bereits in ihrer spärlich gesteuerten MoE-Schicht von 2017 jeweils eine gemeinsame Kopie der Experten auf verschiedene Geräte. GShard skalierte diesen Ansatz im Juni 2020 und verteilte die Experten eines Übersetzungsmodells mit mehr als 600 Milliarden Parametern auf 2.048 TPU-v3-Beschleuniger. Expertenparallelisierung ist heute Standard beim Training und Einsatz großer Sprach- und Vision-Language-Modelle mit MoE-Architektur.

Wie Tokens zwischen GPUs übertragen werden#

Jede MoE-Schicht durchläuft vier Schritte:

  1. Weiterleiten: Der Router bewertet jedes Token für jeden Experten und wählt die Top-k-Experten aus, meist einen, zwei oder acht.
  2. Weiterleitung: Eine kollektive All-to-all-Kommunikation sendet den verborgenen Zustand jedes Tokens an die GPUs, auf denen die ausgewählten Experten liegen.
  3. Berechnen: Jede GPU verarbeitet die empfangenen Tokens mit ihren lokalen Experten.
  4. Zusammenführen: Eine zweite All-to-all-Operation sendet die Ausgaben an die ursprüngliche GPU jedes Tokens zurück. Dort werden sie mit den Router-Werten gewichtet und summiert.

Der folgende Ausschnitt simuliert die Schritte Weiterleitung und Verteilung für eine Schicht mit acht Experten auf vier GPUs, also zwei Experten pro GPU:

import torch

torch.manual_seed(0)
num_experts, num_gpus, top_k = 8, 4, 2
tokens = torch.randn(4096, 512)  # # Verborgene Zustände für 4.096 Tokens
router = torch.nn.Linear(512, num_experts)

# # Weiterleitung: Jedes Token wählt die beiden Experten mit den höchsten Router-Werten
with torch.no_grad():
    _, experts = router(tokens).topk(top_k, dim=-1)

# # Expertenparallelismus: Die Experten 0–1 befinden sich auf GPU 0, Experten 2–3 auf GPU 1 und so weiter
gpu = experts // (num_experts // num_gpus)

# # Verteilung: Zähle die Token-Experten-Zuweisungen, die jeder Experte und jede GPU erhält
print(torch.bincount(experts.flatten(), minlength=num_experts).tolist())
print(torch.bincount(gpu.flatten(), minlength=num_gpus).tolist())

Die erste Ausgabezeile zeigt die Auslastung jedes Experten: 948 bis 1.087 Zuweisungen gegenüber einem gleichmäßigen Anteil von 1.024. Die zweite Zeile zeigt, dass die vier GPUs jeweils 1.968 bis 2.139 der insgesamt 8.192 Zuweisungen erhalten. Selbst ein zufällig initialisierter Router verteilt die Arbeit ungleichmäßig. Trainierte Router entwickeln beliebte Experten, wodurch die Auslastung noch stärker verzerrt wird.

Lastausgleich und Kapazität#

Eine Schicht ist erst fertig, wenn die am stärksten ausgelastete GPU fertig ist. Eine unausgewogene Weiterleitung führt daher direkt zu ungenutzter Hardware. Beim MoE-Training wird dem auf drei Arten entgegengewirkt:

  • Zusätzlicher Ausgleichsverlust: Ein zusätzlicher Term in der Verlustfunktion belohnt den Router dafür, Tokens gleichmäßig auf die Experten zu verteilen.
  • Kapazitätsfaktor: Jeder Experte akzeptiert pro Batch höchstens eine festgelegte Anzahl von Tokens, zum Beispiel das 1,25-Fache seines gleichmäßigen Anteils. Überschüssige Tokens überspringen diesen Experten.
  • Ausgleich über Bias-Werte: DeepSeek-V3 ergänzt die Router-Werte um einen Bias für jeden Experten, der nur beeinflusst, welche Experten ausgewählt werden. Nach jedem Schritt wird der Bias für überlastete Experten gesenkt und für ungenutzte erhöht. So wird die Auslastung ausgeglichen, ohne dass ein zusätzlicher Verlustterm mit dem Hauptziel konkurriert.

Bei einer Kapazitätsgrenze hängt der Pfad jedes Tokens davon ab, wie stark seine Experten ausgelastet sind:

Ein übersprungenes Token durchläuft die Schicht unverändert über die Residualverbindung. Viele verworfene Tokens beeinträchtigen daher die Qualität. DeepSeek-V3 verwirft beim Training keine Tokens, sondern setzt auf den Ausgleich über Bias-Werte.

Kommunikation verursacht zusätzliche Kosten. Die beiden All-to-all-Austausche erfolgen in jeder MoE-Schicht. Daher funktioniert Expertenparallelisierung am besten innerhalb eines Knotens, wo GPUs über schnelle NVLink-Verbindungen verfügen. Über langsamere Verbindungen zwischen Knoten wird sie dagegen teuer. DeepSeek-V3 verteilt die 256 gerouteten Experten pro Schicht mit 64-facher Expertenparallelisierung auf 8 Knoten. Jedes Token wird dabei höchstens an Experten auf 4 Knoten gesendet. Die Kommunikation wird parallel zu den Berechnungen ausgeführt.

Kombination von Parallelisierungsstrategien#

Expertenparallelisierung ist eine von mehreren Methoden, das Training auf mehrere Geräte aufzuteilen:

  • Datenparallelisierung: Repliziert das vollständige Modell auf jeder GPU und verteilt jeden Batch. Nach jedem Schritt werden die Gradienten abgeglichen.
  • Tensorparallelisierung: Teilt einzelne Gewichtsmatrizen auf mehrere GPUs auf, sodass jede GPU an jeder Schicht beteiligt ist.
  • Pipelineparallelisierung: Weist aufeinanderfolgende Schichten unterschiedlichen GPUs zu und leitet Mikro-Batches nacheinander durch diese GPUs.
  • Kontextparallelisierung: Teilt eine einzelne lange Eingabesequenz auf mehrere GPUs auf.

Dichte Modelle, die auf eine GPU passen, benötigen nichts weiter als Datenparallelismus. So trainiert Ultralytics YOLO26 auf mehreren GPUs, wenn im Trainingsmodus eine Geräteliste wie device=[0, 1] übergeben wird. Große MoE-Modelle kombinieren mehrere Verfahren: DeepSeek-V3 trainierte seine 671 Milliarden Parameter, davon 37 Milliarden pro Token aktiv, mit 16-fachem Pipeline-Parallelismus, 64-fachem Expertenparallelismus und aufgeteiltem Datenparallelismus, jedoch ohne Tensorparallelismus. Inferenz-Engines wie vLLM wenden dieselbe Aufteilung an, wenn sie ein Modell bereitstellen. So läuft ein MoE-Modell, dessen Experten den Speicher einer einzelnen GPU überlasten würden, auf mehreren GPUs, von denen jede nur ihren Anteil der Experten enthält.

Explore solutions

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens