Hybrid Data-Model Parallelism for Neural Network Training

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current neural network training techniques face inefficiencies with data parallelism in weight-heavy layers due to costly chip-to-chip operations and with model parallelism in feature-heavy layers due to extensive data replication and communication overhead.

Innovation Solution

Implementing a hybrid parallelism technique that dynamically switches between data and model parallelism based on the characteristics of each neural network layer, utilizing different communication directions to optimize bandwidth usage and minimize inefficiencies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If data parallelism is used in weight-heavy layers, then each processor can process complete batches independently, but costly chip-to-chip weight synchronization operations are required

Engineering Contradiction:
Improveindependent batch processingVSAvoidweight synchronization time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent segments the weight data distribution across processors differently than the data batch distribution. In weight-heavy layers, weights are divided into segments assigned to different processors, allowing parallel weight updates without requiring full weight replication across all processors. This segmentation enables independent batch processing while eliminating costly synchronization operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different parallelism strategies to different layers based on their characteristics. For weight-heavy layers, it uses a customized approach where processors maintain local weight segments rather than requiring global weight synchronization. This local quality approach optimizes each layer's processing based on its specific weight-to-feature ratio.

Inventive Principle:
Principle #3Local quality

2Loss of time

If model parallelism is used in feature-heavy layers, then weight replication is avoided, but extensive input data replication and communication overhead occur

Engineering Contradiction:
Improveweight replication timeVSAvoiddata communication energy
Core Design Contradiction:
Loss of timeVSLoss of energy

Solution Approach 1:

The patent dynamically selects between data parallelism and model parallelism for each layer based on the weight-to_feature ratio. This dynamic adaptation allows the system to use data parallelism for feature-heavy layers (avoiding input replication) and model parallelism for weight-heavy layers (avoiding weight replication), optimizing performance and energy efficiency for each specific layer type.

Inventive Principle:
Principle #15Dynamics

3Quantity of substance

If model parallelism is used, then weights are not replicated across processors, but all processors must receive and communicate all activations before the next layer can begin

Engineering Contradiction:
Improveweight data volumeVSAvoidlayer processing throughput
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments the output features and assigns them to different processors in a manner that allows independent processing. Instead of requiring all processors to wait for complete activation propagation, each processor can finalize its assigned feature computations and pass results forward, enabling overlapping execution and improved throughput while maintaining weight efficiency.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11556450B2Hybrid data-model parallelism for efficient deep learning
Publication Date: 2023.01.17 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11556450B2 patent drawing
  • US11556450B2 patent drawing
  • US11556450B2 patent drawing

AI summary

The embodiments herein describe hybrid parallelism techniques where a mix of data and model parallelism techniques are used to split the workload of a layer across an array of processors. When configuring the array, the bandwidth of the processors in one direction may be greater than the bandwidth in the other direction. Each layer is characterized according to whether they are more feature heavy or weight heavy. Depending on this characterization, the workload of an NN layer can be assigned to the array using a hybrid parallelism technique rather than using solely the data parallelism technique or solely the model parallelism technique. For example, if an NN layer is more weight heavy than feature heavy, data parallelism is used in the direction with the greater bandwidth (to minimize the negative impact of weight reduction) while model parallelism is used in the direction with the smaller bandwidth.