Dual-Pipeline Neural Network Training for Balanced Memory Use

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for training deep neural networks (DNNs) in distributed systems face inefficiencies in memory utilization and training time due to imbalanced memory usage across compute elements in pipeline parallelism.

Innovation Solution

Implementing dual pipeline architectures where two instances of a neural network are trained in opposite directions across compute elements, balancing memory usage and improving efficiency by processing data in parallel.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional pipeline parallelism is used for training DNNs in distributed systems, then the system can process large-scale neural networks, but memory usage becomes imbalanced across compute elements leading to reduced training efficiency

Engineering Contradiction:
Improvetraining efficiencyVSAvoidmemory usage imbalance
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies inversion by reversing the traditional pipeline parallelism approach. Instead of processing data sequentially through layers in a single pipeline, the system implements dual pipelines that process data in opposite directions simultaneously. Compute elements process forward passes in one direction and backward passes in the opposite direction, balancing the memory usage across all compute elements while improving training efficiency.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The patent introduces a new dimension to pipeline parallelism by creating a dual-pipeline architecture where data flows through the network in two opposite directions simultaneously. This dimensional change allows compute elements to participate in both forward and backward propagation, transforming the single-direction sequential processing into a multi-directional parallel system that balances memory workload.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Loss of time

If single pipeline architecture is used, then implementation is simpler, but training time increases due to sequential processing

Engineering Contradiction:
Improvetraining timeVSAvoidpipeline architecture complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent segments the single training pipeline into two parallel pipelines that operate simultaneously in opposite directions. This segmentation allows the system to process forward and backward passes concurrently rather than sequentially, reducing training time while distributing the computational workload more evenly across the distributed system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The dual pipeline architecture enables continuous useful action by eliminating idle time in the training process. While one pipeline processes forward passes, the other processes backward passes, ensuring that all compute elements remain actively engaged throughout the training cycle rather than experiencing idle waiting periods between forward and backward propagation.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS12511516B2Training neural networks based on dual pipeline architectures
Publication Date: 2025.12.30 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12511516B2 patent drawing
  • US12511516B2 patent drawing
  • US12511516B2 patent drawing

AI summary

Embodiments of the present disclosure include systems and methods for training neural networks based on dual pipeline architectures. In some embodiments, a first set of compute elements are configured to implement a first set of layers of a first instance of a neural network. A second set of compute elements are configured to implement a second set of layers of the first instance of the neural network. The second set of compute elements are further configured to implement a first set of layers of a second instance of the neural network. The first set of compute elements are further configured to implement a second set of layers of the second instance of the neural network. The first set of layers of the first instance of the neural network and the first set of layers of the second instance of the neural network are each configured to receive training data.