Graph Neural Network Policy for Neural Network Execution Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems for optimizing the execution of neural networks are device-specific, require constant tuning with expert knowledge, and are not transferable across different neural networks or devices, leading to inefficiencies and high computational costs.

Innovation Solution

A system that generates an execution optimization policy for neural networks by representing them as computational graphs, allowing for the optimization of multiple execution tasks simultaneously and being invariant to the underlying graph topology, thus enabling efficient execution across a wide range of devices and model architectures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If hand-tuned heuristics are used to optimize neural network execution, then optimization can be achieved for specific devices, but the system cannot be generalized to other devices or architectures

Engineering Contradiction:
Improvedevice compatibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent uses graph neural networks to learn execution policies from training graphs and applies these learned policies to unseen computational graphs. Instead of hand-tuning heuristics for each device, the system learns generalizable patterns from training data and copies this knowledge to new devices and architectures, achieving adaptability without proportional increases in system complexity

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system changes the approach from fixed hand-tuned parameters to learned parameters through graph neural networks. The execution policies are represented as learnable parameters that are optimized during training and can be adapted to different devices by adjusting these parameters, rather than redesigning the entire optimization system for each device

Inventive Principle:
Principle #35Parameter changes

2Productivity

If existing systems are re-trained for each individual neural network, then optimal policies can be generated for that specific network, but the trained parameters are not transferrable to other neural networks

Engineering Contradiction:
Improveexecution efficiencyVSAvoidre-training time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The graph neural network is designed to be universal across different neural network architectures and computational graphs. The same trained model can process various types of graphs (different neural network architectures) and generate appropriate execution policies without re-training, making the system multi-functional and transferable across different productivity scenarios

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system performs preliminary training on a diverse set of computational graphs during the offline phase. This preliminary action prepares the graph neural network to handle various architectures, so when a new neural network needs optimization, the policy can be generated immediately without time-consuming re-training, thus reducing loss of time while maintaining productivity

Inventive Principle:
Principle #10Preliminary action

3Manufacturing precision

If existing techniques generate decisions for a single node per iteration, then detailed optimization can be achieved, but the time required to generate execution optimization policies becomes computationally expensive

Engineering Contradiction:
Improveoptimization precisionVSAvoidpolicy generation time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The computational graph is segmented into individual nodes that can be processed independently by the graph neural network. Each node's execution policy is determined based on its local features and neighborhood information, allowing parallel processing of multiple nodes simultaneously. This segmentation enables detailed optimization of each node while reducing overall policy generation time through parallel computation

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12205038B2Computational graph optimization
Publication Date: 2025.01.21 GOOGLE LLC
  • US12205038B2 patent drawing
  • US12205038B2 patent drawing
  • US12205038B2 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for optimizing the execution of the operations of a neural network. One of the methods includes obtaining data representing a graph characterizing a plurality of operations of a neural network, wherein each node of the graph characterizes an operation of the neural network and each edge of the graph characterizes data dependency between the operations; processing the data representing the graph using a graph embedding neural network to generate an embedding of the graph; and processing the embedding of the graph using a policy neural network to generate a task output, wherein the task output comprises, for each of the plurality of operations of the neural network, a respective decision for a particular optimization task.