- cross-posted to:
- technology@lemmygrad.ml
- Aii@programming.dev
- cross-posted to:
- technology@lemmygrad.ml
- Aii@programming.dev
Training LLMs requires thousands of accelerators that need to be wired together with ultra fast cables because they constantly share intermediate states and gradients during every single step of the optimization process. Building and maintaining a single compute cluster of that size is something that only large corps can afford to do.
Instead, we could piece together spare computing resources that happen to be scattered across the world. A new distributed optimization algorithm called DiLoCo, which stands for Distributed Low Communication, allows training language model across multiple smaller islands of devices that are poorly connected.
Rather than forcing the chips to sync up after every single calculation they let each island train independently for hundreds of steps before updating the global parameters. This approach takes heavy inspiration from a concept called Federated Learning where devices do a bunch of work locally before syncing their model replicas.
The technical breakthrough here is in the way they structure the math behind the inner and outer learning steps using an optimizer called AdamW for the local training steps on each island and then apply Nesterov momentum when gathering and blending all those outer gradients together.
Their approach was tested on the popular C4 dataset and proved that an 8 worker setup performs just as well as a fully synchronized model while communicating 500 times less. It is also remarkably resilient since the model still converges even if the data distribution is wildly different on every worker or if compute islands randomly drop offline during training.
This is a massive step towards being able to train models completely outside corporate control, paving the way towards genuine community driven projects developing this technology in open source fashion. It would be possible to build something akin to SETI@Home where people contribute some of their idle computing power towards training that’s done using a distributed network of regular computers across the world.


