Distributed DAG Communication for Neural Network Training

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current distributed computing methods for training neural networks are inflexible and require significant user involvement, especially when changes are needed in the network architecture, and they struggle with synchronizing processing across multiple nodes and complex communication patterns, making it difficult to scale beyond a single machine's compute and memory capacity.

Innovation Solution

A distributed computing system that configures a directed acyclic graph (DAG) across multiple nodes, allowing for the creation of clone DAGs, calculating aggregate gradient data, and updating weights based on this data, enabling efficient traversal and communication between nodes through data exchange vertices, facilitating synchronous or asynchronous updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a master-slave model is used for distributed computing, then control and coordination are improved, but flexibility and adaptability deteriorate due to heavy user involvement and re-programming requirements

Engineering Contradiction:
Improvecontrol and coordinationVSAvoidflexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system enables nodes to automatically discover and join the distributed computing network without manual configuration. Nodes self-organize into a DAG structure, performing automatic load balancing and task distribution, eliminating the need for centralized master node management and re-programming when nodes are added or removed.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The distributed computing system uses a dynamic DAG structure where nodes and edges can be added or removed during runtime. The system automatically reconfigures computation graphs and redistributes tasks when nodes join or leave, providing adaptive flexibility while maintaining coordinated execution through the DAG framework.

Inventive Principle:
Principle #15Dynamics

2Power

If distributed computing is used to scale beyond single machine capacity, then computing power is improved, but communication synchronization complexity increases

Engineering Contradiction:
Improvecomputing powerVSAvoidcommunication synchronization complexity
Core Design Contradiction:
PowerVSDevice complexity

Solution Approach 1:

The computation is divided into discrete vertices (operations) and edges (data dependencies) in a DAG structure. Each node in the distributed system executes specific vertices, and the graph structure naturally segments the computation into independent, parallelizable units with explicit data flow relationships, simplifying synchronization compared to traditional distributed computing models.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The DAG structure acts as an intermediary that defines explicit data flow relationships between computation vertices. This intermediary structure automatically manages synchronization by determining execution order based on graph dependencies, reducing the complexity of direct node-to-node communication coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If clone DAGs are created for parallel training, then training speed is improved, but gradient aggregation complexity increases

Engineering Contradiction:
Improvetraining speedVSAvoidgradient aggregation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system creates clone DAGs that are identical copies of the original computation graph, allowing parallel training on different data batches or nodes. Each clone maintains the same vertex and edge structure, enabling independent parallel execution while simplifying gradient aggregation through structured correspondence between clones.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

Clone DAGs use the same homogeneous structure and vertex types as the original DAG, ensuring consistent gradient formats and computation patterns across all parallel instances. This homogeneity simplifies gradient aggregation by providing uniform data structures and aggregation rules, reducing the complexity of combining gradients from multiple clones.

Inventive Principle:
Principle #33Homogeneity

Data Source

PatentUS11875261B2Automated cross-node communication in distributed directed acyclic graph
Publication Date: 2024.01.16 FORD GLOBAL TECH LLC
  • US11875261B2 patent drawing
  • US11875261B2 patent drawing
  • US11875261B2 patent drawing

AI summary

A system and method is disclosed for automated cross-node communication in a distributed directed acyclic graph. The method can include identifying a directed acyclic graph (“DAG”) overlaying a plurality of nodes and identifying the nodes underlying the DAG. A subordinate DAG can be generated in an entry vertex of the DAG. The subordinate DAG can include a vertex for each of the nodes underlying the DAG. Data and metadata can be received at the entry vertex. The data can be delivered to a next vertex in the DAG, and the metadata can be communicated to nodes underlying the DAG via the subordinate DAG.