Modulated Asynchronous Weight Updates in ML Pipelines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Asynchronous updates in pipelined processing schemes for machine learning models lead to delays and staleness of gradients, which can slow down the convergence of parameters to optimal weights.

Innovation Solution

A modulated asynchronous update scheme is introduced, where a modulation factor is applied to the weight update computation based on the number of processing stages between the layer and the output layer, mitigating the effect of staleness and noise in weight updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If asynchronous updates are used in pipelined processing, then processing node utilization is maximized, but gradient staleness increases causing slower convergence

Engineering Contradiction:
Improveprocessing node utilizationVSAvoidgradient staleness
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies parameter changes by introducing a modulation factor that varies based on the pipeline stage position. This factor dynamically adjusts the learning rate or update magnitude for gradients at different stages, compensating for the increasing staleness effect as gradients propagate through more pipeline stages. The modulation factor is computed based on the number of processing stages between a given layer and the output layer, transforming the uniform update rule into a stage-dependent parameter adjustment.

Inventive Principle:
Principle #35Parameter changes

2Speed

If asynchronous updates are applied without modulation, then processing speed increases, but weight update variance increases reducing training stability

Engineering Contradiction:
Improvetraining speedVSAvoidweight update consistency
Core Design Contradiction:
SpeedVSManufacturing precision

Solution Approach 1:

The patent modifies the weight update parameters by introducing a modulation factor that is a function of the pipeline stage position. This factor changes the effective learning rate or update magnitude dynamically across different stages, reducing the variance of weight updates by compensating for the different degrees of gradient staleness at each stage. The modulation factor is specifically computed based on the number of processing stages between a given layer and the output layer.

Inventive Principle:
Principle #35Parameter changes

3Speed

If modulation factor is applied to compensate for staleness, then convergence speed improves, but computational complexity increases

Engineering Contradiction:
Improveparameter convergence speedVSAvoidupdate computation complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent implements parameter changes by computing a modulation factor based on the number of processing stages between a given layer and the output layer. This factor is then applied to adjust the weight update computation. The complexity increase is mitigated by the fact that the modulation factor depends only on the pipeline stage position rather than requiring complex calculations of actual gradient staleness or noise levels.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12307362B2Batch processing in a machine learning computer
Publication Date: 2025.05.20 GRAPHCORE LTD
  • US12307362B2 patent drawing
  • US12307362B2 patent drawing
  • US12307362B2 patent drawing

AI summary

A method of processing batches of data in a computer comprising a plurality of pipelined stages each providing one or more layers of a machine learning model. The method comprises: processing a first batch of data in the pipeline processing stages, each layer of the model using an activation function and weights for that layer to generate an output activation, wherein an output layer generates an output of the model. The method further comprises, for each layer: computing an estimated gradient of a loss function; generating updated weights by processing the estimated gradient with respect to the weights for the first batch using a learning rate for the model; and storing the updated weights for processing on the next batch of data. Updated weights are generated using a modulation factor based on the number of processing stages between that layer and the output layer.