A process group is a set of worker processes that participate together in collective communication during distributed model training. Each worker computes gradients, and the group coordinates their exchange so workers maintain the same model parameters. section 3.3.2
A process group supports distributed training through a repeated collective workflow:
- Workers consume data partitions and calculate gradients independently. section 3.3.2
- A reduce operation combines corresponding gradients using functions such as sum, maximum, minimum, or average. section 3.3.2
- A broadcast operation distributes the reduced result to every worker. section 3.3.2
- Together, reduce and broadcast form allreduce, allowing every worker to update an identical model before the next round. section 3.3.2
Recovering from a stalled allreduce
Three workers enter an allreduce operation, but an unstable network slows two communications and blocks the group. Abandoning the affected workers and the stalled operation allows the remaining workers to form a new process group and continue training from the existing model. The same reconstruction approach handles worker preemption without restarting training from scratch. section 3.4.2
Figure 3.20 An example of an allreduce operation that reduces the results on each process in the group and then sends the result to every process in the group
Use the allreduce diagram to trace how each process reduces results and receives the combined value. section 3.3.2


