Asynchronous Distributed Deep Learning Thread Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current deep learning systems face inefficiencies and inaccuracies in distributed training due to heterogeneous environments, varying processing speeds, network connectivity issues, and the rigidity of synchronous training methods, which hinder the utilization of available computing resources and lead to communication bottlenecks in large-scale deep learning systems.

Innovation Solution

The implementation of asynchronous distributed training through the creation of a list of neighbor nodes for each node, with a first thread for continuous communication and a second thread for continuous gradient computation, sharing variables between threads, and employing weight management operations to optimize model parameters, ensuring data consistency and adaptability to heterogeneous environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If synchronous training methods are used in distributed deep learning, then coordination and consistency between nodes are improved, but communication bottlenecks and system rigidity increase

Engineering Contradiction:
Improvecoordination consistencyVSAvoidtraining efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system transitions from rigid synchronous training to dynamic asynchronous training, where nodes can independently update model parameters without waiting for other nodes. This dynamic approach allows fast nodes to continue working while slow nodes proceed at their own pace, eliminating communication bottlenecks while maintaining consistency through version control mechanisms.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The training process is segmented into independent operations that can execute asynchronously. Each node performs gradient computation and parameter updates as separate, independent tasks rather than coordinated synchronous steps, allowing parallel execution without communication bottlenecks.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If heterogeneous computing environments are used, then resource utilization and flexibility are improved, but system stability and data consistency deteriorate

Engineering Contradiction:
Improveenvironment flexibilityVSAvoiddata consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system adapts to heterogeneous environments by dynamically adjusting parameters such as gradient accumulation counts, batch sizes, and synchronization intervals for different nodes based on their computing capabilities. This allows fast nodes to process more data while slow nodes process less, maintaining overall system consistency without requiring uniform hardware specifications.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements feedback mechanisms where nodes report their computing status and performance metrics, allowing the system to dynamically adjust work distribution and synchronization points. This feedback loop ensures data consistency across heterogeneous nodes by coordinating updates based on actual node performance rather than assuming uniform capabilities.

Inventive Principle:
Principle #23Feedback

3Productivity

If more nodes are added to distributed training, then computing power and processing capacity are improved, but communication overhead and system complexity increase

Engineering Contradiction:
Improveprocessing capacityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system extracts the communication coordination overhead from the core training logic by implementing independent asynchronous operations. Each node performs gradient computation and parameter updates locally without requiring continuous communication with other nodes, eliminating the need for complex synchronization protocols while maintaining training effectiveness.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Each node in the distributed system operates autonomously, performing its own gradient computation, parameter updates, and synchronization without requiring centralized coordination. This self-service approach allows nodes to independently contribute to model training, reducing system complexity while scaling to large numbers of nodes.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11521067B2Decentralized distributed deep learning
Publication Date: 2022.12.06 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11521067B2 patent drawing
  • US11521067B2 patent drawing
  • US11521067B2 patent drawing

AI summary

Various embodiments are provided for decentralized distributed deep learning by one or more processors in a computing system. Asynchronous distributed training of one or more machine learning models may be performed by generating a list of neighbor nodes for each node in a plurality of nodes and creating a first thread for continuous communication according to a weight management operation and a second thread for continuous computation of a gradient for each node. One or more variables are shared between the first thread and the second thread.