Asynchronous SGD Staleness Control via Bucketed Allreduce

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Asynchronous stochastic gradient descent algorithms face challenges in minimizing staleness and optimizing network utilization during the training of deep neural networks, leading to suboptimal convergence and accuracy in machine learning models.

Innovation Solution

The implementation of a continuous, bucketed allreduce operation in a distributed, asynchronous stochastic gradient descent method that uses collective operations to reduce network bandwidth and minimize staleness, allowing for efficient weight updates and improved convergence by maintaining algorithmic bounds on staleness and overlapping computation and communication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If asynchronous stochastic gradient descent is used to train deep neural networks, then parallel processing speed is improved, but staleness of gradient updates increases leading to suboptimal convergence

Engineering Contradiction:
Improveparallel processing speedVSAvoidstaleness of gradient updates
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system pre-synchronizes learners at specific checkpoints before asynchronous processing begins, ensuring that all learners start from a known consistent state. This preliminary synchronization action prevents staleness from accumulating beyond acceptable bounds while maintaining high parallel processing speed during the asynchronous training phases.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements periodic synchronization intervals where learners briefly pause asynchronous processing to synchronize their states. This periodic action creates a rhythm of asynchronous computation followed by brief synchronization events, bounding staleness while preserving overall parallel productivity.

Inventive Principle:
Principle #19Periodic action

2Manufacturing precision

If frequent synchronization is performed to reduce staleness, then convergence accuracy is improved, but network bandwidth consumption increases

Engineering Contradiction:
Improveconvergence accuracyVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
Manufacturing precisionVSLoss of energy

Solution Approach 1:

The system segments the training process into distinct asynchronous phases and synchronized checkpoint phases. During asynchronous phases, learners process independently with minimal network communication. At checkpoint boundaries, synchronization occurs. This segmentation allows the system to achieve accurate convergence through periodic synchronization while minimizing overall network bandwidth consumption compared to continuous synchronization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system maintains continuous asynchronous processing between synchronization checkpoints, ensuring that useful computational work continues uninterrupted. This continuity maximizes productivity while concentrating network bandwidth usage into discrete synchronization events rather than continuous communication, thereby reducing total energy loss.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If learners process mini-batches independently in parallel, then processing throughput is improved, but weight consistency across learners deteriorates

Engineering Contradiction:
Improveprocessing throughputVSAvoidweight consistency
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The system establishes a preliminary weight index tracking mechanism before parallel processing begins. Each learner maintains a record of the weight versions it has processed, enabling the master controller to identify and synchronize specific weight updates that maintain consistency across learners while allowing independent mini-batch processing to continue in parallel.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a feedback mechanism where learners report their processed weight indices and mini-batch completions to the master controller. The master controller uses this feedback to determine when synchronization is needed and to coordinate weight updates across learners, thereby maintaining weight consistency while preserving parallel processing throughput.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10628740B2Asynchronous stochastic gradient descent
Publication Date: 2020.04.21 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10628740B2 patent drawing
  • US10628740B2 patent drawing
  • US10628740B2 patent drawing

AI summary

The example computer-implemented method may comprise computing, by a generator processor on each of a plurality of learners, a gradient for a mini-batch using a current weight at each of the plurality of learners. The method may also comprise generating, by the generator processor on each of the plurality of learners, a plurality of triples, wherein each of the triples comprises the gradient, the weight index of the current weights used to compute the gradient, and a mass of the gradient. The method may further comprise performing, by a reconciler processor on each of the plurality of learners, an allreduce operation on the plurality of triples to obtain an allreduced triple sequence. Additionally, the method may comprise updating, by the reconciler processor on each of the plurality of learners, the current weight at each of the plurality of learners to a new current weight using the allreduced triple sequence.