Methods › General › Sharded Data Parallel Methods
Sharded Data Parallel Methods
This section contains a compilation of distributed methods for scaling deep learning to very large models. There are many different strategies for scaling training across multiple devices, including:
-
Data Parallel : for each node we use the same model parameters to do forward propagation, but we send a small batch of different data to each node, compute the gradient normally, and send it back to the main node. Once we have all the gradients, we calculate the weighted average and use this to update the model parameters.
-
Model Parallel : for each node we assign different layers to it. During forward propagation, we start in the node with the first layers, then move onto the next, and so on. Once forward propagation is done we calculate gradients for the last node, and update model parameters for that node. Then we backpropagate onto the penultimate node, update the parameters, and so on.
-
Additional methods including Hybrid Parallel, Auto Parallel, and Distributed Communication.
Image credit: Jordi Torres.
Methods
All 3 methods in this collection, most-tagged first. Year is the archive's introduced_year; the archive stores 2000 when it has none, shown here as “–”. Papers counts distinct papers the archive tags with the method. Click a heading to sort.
| ZeRO | – | 9 |
| ZeRO-Offload | – | 4 |
| ZeRO-Infinity | – | 2 |