Neural Network Training System Using Model Striping and Quantization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The training of deep neural networks (DNNs) for speech recognition is time-consuming due to high bandwidth costs associated with parallelization techniques, limiting their widespread use in recognition problems.

Innovation Solution

The implementation of data-parallel architectures using model striping, quantization, and efficient data transfer techniques to reduce the computational burden by processing gradient matrices across multiple processing units, allowing for faster training of DNNs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If parallelization techniques are used to train deep neural networks, then training speed is improved, but bandwidth costs increase

Engineering Contradiction:
Improvetraining speedVSAvoidbandwidth costs
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The model is divided into multiple stripes or partitions that can be processed independently across different processing units. Each processing unit handles a specific stripe of the model parameters, allowing parallel computation while reducing the amount of data that needs to be communicated between units. This segmentation enables faster training by distributing the computational load without requiring excessive bandwidth for data transfer.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of parallelization by stripe index, in addition to the traditional data parallelism dimension. This allows the system to process different stripes of the model simultaneously across multiple processing units, effectively adding another layer of parallel computation that increases training speed without proportionally increasing bandwidth requirements.

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

2Measurement precision

If the size of updated model increases to process hundreds of millions of frames, then model accuracy is improved, but computation resource capacity is exceeded

Engineering Contradiction:
Improvemodel accuracyVSAvoidcomputation resource capacity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The large model parameters are segmented into multiple stripes that can be processed and stored separately. This segmentation allows the system to handle large-scale models by distributing them across multiple processing units, each managing a manageable portion of the total model size. This approach enables processing of hundreds of millions of frames while keeping the computational burden on each individual resource unit within acceptable limits.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system processes gradients and model updates in partial batches corresponding to different stripes, rather than requiring all model parameters to be updated simultaneously. This partial action approach allows the training process to proceed incrementally across different model stripes, reducing the peak memory and computation requirements while still achieving accurate results through multiple passes.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11049006B2Computing system for training neural networks
Publication Date: 2021.06.29 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11049006B2 patent drawing
  • US11049006B2 patent drawing
  • US11049006B2 patent drawing

AI summary

Techniques and constructs can reduce the time required to determine solutions to optimization problems such as training of neural networks. Modifications to a computational model can be determined by a plurality of nodes operating in parallel. Quantized modification values can be transmitted between the nodes to reduce the volume of data to be transferred. The quantized values can be as small as one bit each. Quantization-error values can be stored and used in quantizing subsequent modifications. The nodes can operate in parallel and overlap computation and data transfer to further reduce the time required to determine solutions. The quantized values can be partitioned and each node can aggregate values for a corresponding partition.