Neural Network Parallelization Plan Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Deep neural networks (DNNs) require significant computational resources and memory, making it challenging to train large models on a single GPU due to limited memory, necessitating the use of parallel GPUs to distribute model weights, but existing solutions are error-prone and lack flexibility in designing parallelization plans.

Innovation Solution

A computing system generates a parallelization plan by transforming a data flow graph into fine-grained tasks and scheduling them across multiple devices, using primitives like operator transformation, assignment, and data dependency materialization, with virtual tensors to track dependencies and prevent deadlocks, allowing for flexible and efficient parallelization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If parallel GPUs are used to distribute model weights, then memory limitation is overcome, but system complexity and error-proneness increase

Engineering Contradiction:
Improvememory capacityVSAvoidparallelization system complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary parallelization plan generator that sits between the neural network model and the execution system. This generator automatically transforms the model into a parallelization plan, mediating the complexity of distributed memory management and operator scheduling, thereby reducing user burden while enabling large model training across multiple GPUs

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the neural network model into multiple operators and tensors that can be distributed across different GPUs. By dividing the model into manageable segments (operators and tensors), the system can manage complexity through structured decomposition while achieving distributed memory utilization

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If manual parallelization design is performed, then control over parallelization plan is precise, but time consumption and error rate increase

Engineering Contradiction:
Improveparallelization plan controlVSAvoidparallelization design time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The parallelization plan generator performs self-service by automatically analyzing the neural network model and generating appropriate parallelization plans without requiring manual intervention. The system autonomously handles operator transformation, tensor virtualization, and scheduling, eliminating time-consuming manual design while maintaining precision through automated validation

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent applies preliminary action by pre-defining transformation rules and scheduling strategies in the parallelization plan generator. These pre-established rules enable rapid automatic generation of parallelization plans, avoiding the need for time-consuming manual design while ensuring correctness through built-in validation mechanisms

Inventive Principle:
Principle #10Preliminary action

3Productivity

If existing parallelization solutions are used, then model training is enabled on multiple GPUs, but flexibility and adaptability are limited

Engineering Contradiction:
Improvemodel training capabilityVSAvoidparallelization plan flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamics by enabling the parallelization plan generator to adaptively create different parallelization strategies based on the specific neural network model characteristics. The system dynamically adjusts operator transformations and scheduling plans according to model architecture, data types, and hardware configurations, providing flexibility while maintaining training capability

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent utilizes parameter changes by allowing the parallelization plan generator to modify key parameters such as operator partitioning strategies, tensor virtualization levels, and scheduling priorities. These parameter adjustments enable the system to adapt to different model types and hardware configurations, enhancing versatility while preserving productivity

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20240403598A1Parallelization plan generation for a neural network
Publication Date: 2024.12.05 MICROSOFT TECHNOLOGY LICENSING LLC
  • US20240403598A1 patent drawing
  • US20240403598A1 patent drawing
  • US20240403598A1 patent drawing

AI summary

Embodiments of the present disclosure include techniques for designing and generating a parallelization plan for a neural network so that workloads in the neural network may be split amongst multiple devices. Operators and tensors in the neural network are transformed into a set of functionally equivalent operators and tensors. These functionally equivalent operators and tensors are then scheduled to separate devices for execution.