Machine Learning Model Computation Graph Partitioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current machine learning models require significant computing resources and communication bandwidth, making it challenging to deploy large-scale models efficiently due to limitations in central processing units (CPUs) and communication bandwidth, and existing methods struggle with model parallelism and tensor data management.

Innovation Solution

A method that involves obtaining an intermediate representation of a machine learning model, generating a computation graph, and partitioning it into sequential parts for parallel execution, eliminating the need for inter-layer and intra-layer communication and tensor data division, allowing for efficient processing at a function level.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If machine learning models are made more complicated to handle larger data sets, then model accuracy and capability are improved, but computing resources and communication bandwidth requirements increase

Engineering Contradiction:
Improvemodel accuracyVSAvoidcomputing resources
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent segments the computation graph into multiple independent parts that can be executed in parallel. Each part contains a subset of functions from the machine learning model, allowing the model to be distributed across multiple computing devices. This segmentation enables large-scale models to be processed without requiring excessive computing resources on a single machine.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If machine learning models are made more complicated to handle larger data sets, then model accuracy and capability are improved, but communication bandwidth requirements increase

Engineering Contradiction:
Improvemodel accuracyVSAvoidcommunication bandwidth
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The computation graph is divided into separate parts that can be executed independently in parallel. This segmentation reduces the need for inter-layer and intra-layer communication between computing devices, as each part can be processed autonomously. The patent explicitly states that this approach eliminates the need to take inter-layer and intra-layer communication into consideration.

Inventive Principle:
Principle #1Segmentation

3Productivity

If existing methods are used for model deployment, then current computing capabilities are utilized, but deployment efficiency is insufficient due to CPU limitations

Engineering Contradiction:
Improvedeployment efficiencyVSAvoidCPU limitations
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediate representation (IR) as a mediator between the source language model and the target execution environment. The IR is independent of both source and target languages and represents the model in a structured text format. This intermediary enables efficient compilation and deployment across different platforms without being constrained by specific CPU architectures or programming languages.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the representation parameters of the machine learning model by converting it from source code into an intermediate representation with a computation graph. This parameter change allows the model to be processed, optimized, and deployed more efficiently across different computing environments, overcoming CPU limitations.

Inventive Principle:
Principle #35Parameter changes

4Speed

If computation graph is partitioned into sequential parts for parallel execution, then processing speed is improved, but implementation complexity increases

Engineering Contradiction:
Improveprocessing speedVSAvoidimplementation complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The computation graph is automatically segmented into multiple parts based on function dependencies. Each part contains a subset of functions that can be executed in parallel without requiring complex coordination. The segmentation is performed in a way that simplifies the execution model, allowing parallel processing while maintaining clear boundaries between parts.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs automatic partitioning of the computation graph without requiring manual intervention or complex configuration. The intermediate representation enables the system to self-organize the computation into executable parts, reducing the implementation complexity while achieving parallel execution.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11461291B2Method, electronic device and computer program product for processing machine learning model
Publication Date: 2022.10.04 EMC IP HLDG CO LLC
  • US11461291B2 patent drawing
  • US11461291B2 patent drawing
  • US11461291B2 patent drawing

AI summary

A method comprises obtaining an intermediate representation of the machine learning model written in a source language. The intermediate representation is independent of the source language and a target language and comprises a structured text. The method also comprises generating a computation graph based on the intermediate representation. Nodes in the computation graph represent functions related to the machine learning model and a directed edge in the computation graph represents a dependency between functions. The method further comprises partitioning the computation graph into sequential parts in sequence such that the parts are executed sequentially, and functions corresponding to nodes in each part are executed in parallel.