Splitting a model and its optimizer state across devices once neither fits on one.
Colour is the family; a dashed line is the second member of it.
Assigns consecutive layers to different devices and streams micro- batches through them. Communication is only at stage boundaries, at the cost of bu… · 2018
Splits individual weight matrices across devices so one layer is computed jointly. Communication lands inside every layer, so it wants the fastest in… · 2019
Partitions optimizer state, gradients and parameters across data- parallel ranks instead of replicating them, gathering each shard only while it is n… · 2019
The sharded-everything form of ZeRO as a framework primitive, gathering each layer's parameters just before use and releasing them straight after. · 2023
A collective that sums a tensor across every participant and returns the result to all of them. Ring and tree schedules make its cost depend on inter…
Every device holds a full replica and processes a slice of the batch, then the gradients are summed. The simplest way to scale, and it stops working…