PrimeIntellect-ai/OpenDiloco
OpenDiLoCo: An Open-Source Framework for Globally Distributed Low-Communication Training
What it solves
OpenDiLoCo provides a framework for globally distributed training of large models with low communication overhead. It addresses the bottleneck of high-bandwidth requirements typically associated with distributed training, allowing models to be trained across geographically dispersed machines.
How it works
The framework implements a low-communication training strategy (DiLoCo) that utilizes distributed weight averaging. It integrates with PyTorch FSDP (Fully Sharded Data Parallel) and the hivemind library, using a Distributed Hash Table (DHT) to manage peer connections and synchronize weights across workers. Users can implement this by using the DiLoCoOptimizer, which acts as a replacement for standard optimizers to handle the inner and outer optimization loops required for distributed averaging.
Who it’s for
It is designed for researchers and developers training large transformer models who have access to distributed compute resources across different locations and want to reduce the communication costs of synchronization.
Highlights
- Low-Communication Training: Specifically designed for globally distributed environments.
- Integration: Works with PyTorch FSDP and the
hivemindlibrary. - Drop-in Optimizer: Provides
DiLoCoOptimizerfor easy integration into existing training scripts. - Scalable Architecture: Supports distributed weight averaging via DHT.
Related
- Project
- Dispatch
- Project
- Project
- Dispatch