Replicas видят разные examples и согласуют gradients
В synchronous data parallel каждая replica хранит полные parameters, обрабатывает local mini-batch и получает local gradient. Collective reduction формирует gradient global batch, после чего replicas выполняют одинаковый optimizer step. При равных local batch sizes это обычное среднее.
Если число valid tokens на replicas различается из-за padding/masking, усреднение готовых local means может дать неверный вес. Надёжный контракт редуцирует gradient sums и denominator valid targets. Gradient accumulation увеличивает effective batch без дополнительной replica, но меняет число forward/backward на optimizer step.
Что показывает модель. Диаграмма показывает scatter examples, local forward/backward, all-reduce и единый update barrier. Optimizer state может быть replicated или sharded; последнее уже меняет memory/communication contract, хотя математический global gradient остаётся тем же.
Граница применимости. Удвоение replicas не гарантирует удвоение throughput: communication и input pipeline становятся bottleneck. Большой batch может потребовать другой learning-rate schedule и влиять на optimization. Asynchronous variants имеют stale gradients и не описываются этой формулой.