Article
Delta Weight Sync: Wie TRL die Bandbreite beim asynchronen RL reduziert
Asynchrones Reinforcement Learning mit großen Sprachmodellen steht vor einem fundamentalen Problem: Bei jedem Trainingsschritt müssen aktualisierte Gewichte übertragen werden.
Kurzbeschreibung
HuggingFace stellt mit Delta Weight Sync eine elegante Lösung vor, die die Datentransfers drastisch reduziert – von Gigabytes zu Megabytes.
Abstract
Bei asynchronem Reinforcement Learning mit großen Sprachmodellen müssen bei jedem Trainingsschritt die aktualisierten Modellgewichte vom Trainer zur Inference-Engine übertragen werden. Bei modernen Modellen bedeutet das Gigabytes an Daten, während die Inference-Engine wartet und wertvolle GPU-Rechenzeit verstreicht.
Die Lösung von HuggingFace nutzt eine elegante mathematische Eigenschaft: Bei bf16-Modellen ändern sich zwischen zwei aufeinanderfolgenden Optimizer-Schritten typischerweise nur etwa 1% der Gewichte auf Bitebene tatsächlich. Der Grund liegt in der begrenzten Präzision von bf16 – Updates innerhalb der Rundungsschwelle werden absorbiert und bleiben byte-identisch.
Delta Weight Sync implementiert dies als spärliche safetensors-Dateien, die über HuggingFace Buckets synchronisiert werden. Anstatt das vollständige Modell zu übertragen, werden nur die geänderten Gewichtselemente als (indices, values)-Tupel codiert und hochgeladen. Bei Qwen3-0.6B sinkt die Übertragungsmenge von 1,2 GB auf nur 20–35 MB pro Schritt – eine Reduktion um den Faktor 130.
Die Architektur entkoppelt Trainer und Inference-Server vollständig. Beide kommunizieren indirekt über einen gemeinsamen Bucket, was Cluster-gebundenes Training überflüssig macht und global verteilte Rollout-Fleets ermöglicht.
Link zum Original: https://huggingface.co/blog/delta-weight-sync