ADMM Algorithm for Parallel Deep Neural Network Training

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Deep neural networks (DNNs) training using existing techniques such as mini-batch SGD is difficult to parallelize across multiple computing devices, and techniques like asynchronous SGD or model averaging often produce inferior results compared to mini-batched SGD.

Innovation Solution

The use of the alternating direction method of multipliers (ADMM) algorithm for training DNNs, which allows for parallelization across multiple computing nodes by partitioning training data into non-overlapping blocks and iteratively processing them until a stop criterion is satisfied, utilizing both CPU and GPU nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If mini-batch SGD is used for training DNNs, then training accuracy is improved, but parallelization capability deteriorates

Engineering Contradiction:
Improvetraining accuracyVSAvoidparallelization capability
Core Design Contradiction:
Manufacturing precisionVSAdaptability or versatility

Solution Approach 1:

The training data is segmented into multiple non-overlapping blocks that are distributed across different computing nodes. Each node processes a specific block independently, enabling parallel computation while maintaining the joint distribution properties necessary for accurate gradient estimation. This segmentation resolves the contradiction by allowing both parallelization and accurate training results.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An intermediary coordination mechanism is introduced to manage communication between computing nodes during the ADMM iteration process. This intermediary layer facilitates the exchange of model parameters and gradient information while maintaining the parallel structure, thus enabling both parallelization and training accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If asynchronous SGD or model averaging is used for parallel training, then parallelization capability is improved, but training result quality deteriorates

Engineering Contradiction:
Improveparallelization capabilityVSAvoidtraining result quality
Core Design Contradiction:
Adaptability or versatilityVSManufacturing precision

Solution Approach 1:

The ADMM algorithm incorporates a feedback mechanism where computing nodes iteratively exchange model parameters and gradient information with the central coordinator. This feedback loop ensures that all nodes converge to the same optimal solution, maintaining training result quality while enabling parallel computation across multiple nodes.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The results from multiple parallel computing nodes are merged through the ADMM consensus mechanism, which combines the local model updates from each node into a global optimal solution. This merging process ensures that the final training results maintain the quality of centralized training while benefiting from parallel computation.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If training data is partitioned into non-overlapping blocks for parallel processing, then training speed is improved, but data distribution preservation becomes more difficult

Engineering Contradiction:
Improvetraining speedVSAvoidjoint distribution preservation
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The data partitioning strategy ensures that each local data block maintains the joint distribution properties necessary for accurate gradient estimation. By preserving the local quality of data distribution in each block while enabling parallel processing, the system achieves both high training speed and accurate results.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10579922B2Deep learning using alternating direction method of multipliers
Publication Date: 2020.03.03 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10579922B2 patent drawing
  • US10579922B2 patent drawing
  • US10579922B2 patent drawing

AI summary

The use of the alternating direction method of multipliers (ADMM) algorithm to train a classifier may reduce the amount of classifier training time with little degradation in classifier accuracy. The training involves partitioning the training data for training the classifier into multiple data blocks. The partitions may preserve the joint distribution of input features and an output class of the training data. The training may further include performing an ADMM iteration on the multiple data blocks in an initial order using multiple worker nodes. Subsequently, the training of the classifier is determined to be completed if a stop criterion is satisfied following the ADMM iteration. Otherwise, if the stop criterion is determined to be unsatisfied following the ADMM iteration, one or more additional ADMM iterations may be performed on different orders of the multiple data blocks until the stop criterion is satisfied.