Pipeline Parallelism Compilation for Automated Micro-Batch Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for training deep learning models require additional user efforts in programming and system settings for pipeline parallel computing, such as explicitly determining micro-batches and communication processes, which are inconvenient and inefficient.

Innovation Solution

A method and apparatus for pipeline parallelism compiling that automatically determines operation groups and sets, allocates accelerators, and sequences processing to optimize parallelism, reducing the need for manual user intervention and enhancing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If users manually determine each stage or micro-batch of the pipeline and explicitly insert communication processes, then control over the parallel processing is precise, but the programming effort and complexity increase significantly

Engineering Contradiction:
Improveprogramming effortVSAvoidpipeline control complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The compiler automatically analyzes the source program, determines operation groups, generates micro-batches, and allocates accelerators without requiring user intervention. The system self-manages the pipeline parallelism configuration, eliminating the need for users to manually determine stages or insert communication processes while maintaining precise control through automated optimization

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The compiler performs preliminary analysis of the source program to determine operation groups and their dependencies before generating the parallel execution plan. This preliminary action includes analyzing the computational graph, identifying independent operations, and pre-configuring the pipeline stages, so that when execution occurs, the pipeline is already optimized and ready without requiring user setup

Inventive Principle:
Principle #10Preliminary action

2Productivity

If additional efforts are required during programming for pipeline parallelism, then the parallel processing can be customized, but the development time and user burden increase

Engineering Contradiction:
Improvemodel training throughputVSAvoidprogramming time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The manual mechanical process of dividing pipelines into stages and configuring communication processes is replaced by an automated compiler system. The compiler mechanically analyzes the source program, generates operation groups, creates micro-batches, and allocates resources automatically, substituting user manual configuration with automated compilation that achieves the same productivity benefits without the time cost

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Productivity

If the pipeline is divided into more micro-batches for parallel processing, then the throughput increases, but the memory usage and live range of activation tensors increase

Engineering Contradiction:
Improveprocessing throughputVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The pipeline is segmented into operation groups based on computational dependencies, and each group is further divided into micro-batches that can be processed in parallel. The compiler segments the computational graph into independent operation groups, then allocates micro-batches to accelerators in a way that minimizes memory overlap and activation tensor live ranges while maintaining high throughput

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The compiler dynamically determines the optimal number of micro-batches and their allocation to accelerators based on the specific computational characteristics of the source program. This dynamic configuration allows the system to adjust the balance between throughput and memory usage for different workloads, optimizing performance rather than using a fixed approach

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12619408B2Method and apparatus for pipeline parallelism compiling
Publication Date: 2026.05.05 MOREH CORP
  • US12619408B2 patent drawing
  • US12619408B2 patent drawing
  • US12619408B2 patent drawing

AI summary

A method for pipeline parallelism compiling is provided, which is executed by one or more processors, and includes receiving a source program associated with training of a machine learning model, determining, based on the source program, a plurality of operation groups including operations executed on training data of the machine learning model, generating a plurality of micro-batches from the training data, and determining, for each of the plurality of micro-batches, a plurality of operation sets corresponding to the plurality of operation groups.