Zurück zum Glossar

Begriff

Accelerate

Accelerate ist eine quelloffene Bibliothek von Hugging Face, die PyTorch-Trainingscode mit minimalen Änderungen auf beliebiger Hardware und in verteilten Setups lauffähig macht — inklusive Mixed Precision sowie FSDP- und DeepSpeed-Unterstützung.

Accelerate — ausführlich erklärt

Accelerate ist eine Bibliothek von Hugging Face, die das Ziel verfolgt, denselben PyTorch-Trainingscode ohne große Umbauten von einer einzelnen GPU bis zu Multi-GPU- und Multi-Node-Clustern skalieren zu lassen. Kern ist die Accelerator-Klasse, die die übliche Trainingsschleife umschließt und automatisch Geräteplatzierung, verteilte Synchronisation und Mixed Precision übernimmt. Welche verteilte Strategie tatsächlich läuft — klassisches DDP, FSDP (Fully Sharded Data Parallel) oder DeepSpeed —, entscheidet die Konfiguration, nicht der Anwendungscode.

Praktisch reichen wenige Zeilen: Modell, Optimizer und DataLoader werden durch accelerator.prepare(...) geschleust, der Backward-Pass über accelerator.backward(loss) ausgeführt. Die gewünschte Umgebung legt man interaktiv mit accelerate config fest und startet das Training mit accelerate launch. Accelerate unterstützt automatische Mixed Precision inklusive FP8 sowie das Sharding von Optimizer-Zuständen, Gradienten und Parametern über FSDP, um große Modelle und Batch-Größen in den Speicher zu bekommen.

Beispiel / Praxisbezug

Ein Forschungsteam entwickelt ein Fine-Tuning-Skript zunächst auf einer einzelnen GPU. Für den großen Lauf auf acht GPUs ändert es keine einzige Zeile Modellcode — es ruft accelerate config auf, wählt FSDP mit gemischter Präzision und startet via accelerate launch train.py. Derselbe Code liefe ebenso mit DeepSpeed-ZeRO, falls in der Konfiguration so gewählt. Damit dient Accelerate als gemeinsame Abstraktionsschicht über sonst inkompatible Distributed-Backends.

Abgrenzung zu ähnlichen Begriffen

Transformers nutzt Accelerate intern (etwa für device_map und den Trainer), ist aber die Modell-Bibliothek, nicht die Trainings-Infrastruktur. PEFT und LoRA reduzieren den Trainingsaufwand durch parameter-effiziente Methoden — orthogonal zu Accelerate, das die Verteilung und Präzision regelt. DeepSpeed und PyTorch FSDP sind die zugrunde liegenden Engines, die Accelerate unter einer einheitlichen Schnittstelle bündelt, statt sie zu ersetzen.

Entdecke mehr

Themenuebersicht