liveBook · Manning

Synchronous model update

As explained in Designing Deep Learning Systems: A guide for software engineers

A distributed optimization method in which workers synchronize before applying a shared model update.

Synchronous model update keeps data-parallel workers aligned by pausing each training iteration during gradient synchronization. After every worker receives the aggregated gradients, all devices update shared model parameters and begin the next iteration together. section 4.2.1

Use the synchronization barrier deliberately because it trades consistency for throughput:

  • Preserves the same model state across workers at every training iteration. section 4.2.1
  • Blocks the whole group while gradients synchronize, leaving faster workers idle when machines or networks lag. section 4.2.1
  • Adds relatively little implementation change to single-device training beyond gradient aggregation synchronization. section 4.2.1
Figure 4.1 A synchronous data parallelism concept graph. (a) Deep learning training on a single GPU. (b) Synchronous data parallel training with three GPUs.

Compare single-GPU training with three-GPU synchronous data-parallel training and locate the synchronization point in the workflow. section 4.2.1

How Designing Deep Learning Systems: A guide for software engineers covers it

How deep it goes
Explains the iteration workflow and operational trade-offs but does not descend into synchronization internals.
Examples
Uses a three-GPU workflow diagram and points to PyTorch all-reduce support.
What it assumes
Assumes a single-device training process and introduces gradient synchronization as data parallelism’s added step.
What you can do after
Evaluate synchronization costs and consistency trade-offs when choosing a distributed training update strategy.
How it connects
Connects data parallelism, gradient aggregation, all-reduce, and asynchronous model updates.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Designing Deep Learning Systems: A guide for software engineers. The section links point to the parts of the book it draws on.