Neural Network Device Placement with Constraint Solver

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for determining the placement of computational graphs across multiple devices struggle to efficiently minimize execution time while respecting device resource constraints, particularly in complex architectures with uni-directional interconnects, leading to sparse reward spaces that hinder reinforcement learning-based solutions.

Innovation Solution

A deep neural network approach combined with a constraint solver is used to generate high-quality placements by incorporating a constraint engine that applies constraint-solving techniques, allowing for iterative processes that approximate auto-regressive results with reduced computational resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If reinforcement learning-based methods are used for device placement, then the approach can handle complex constraints, but the reward space becomes extremely sparse making training difficult or impossible

Engineering Contradiction:
Improveability to handle complex constraintsVSAvoidtraining difficulty due to sparse reward space
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent introduces a constraint solver as an intermediary component that bridges the neural network and the placement validation. The constraint solver translates complex placement constraints into a format that can be efficiently checked, and provides meaningful feedback signals to the neural network during training, thereby converting the sparse reward problem into a more tractable optimization task with denser feedback.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If auto-regressive placement processes are used to place each node conditioned on previous nodes, then placement quality can be high, but computational resources become infeasible for large computation graphs

Engineering Contradiction:
Improveplacement qualityVSAvoidcomputational resource consumption
Core Design Contradiction:
Manufacturing precisionVSUse of energy by moving object

Solution Approach 1:

The patent segments the placement process into two distinct phases: a neural network-based initial placement phase that provides a good starting configuration, and a constraint solver-based optimization phase that refines the placement. This segmentation allows the system to achieve high placement quality without the computational burden of a fully auto-regressive process, as the constraint solver can efficiently optimize the placement using the initial neural network output as a warm start.

Inventive Principle:
Principle #1Segmentation

3Ease of manufacture

If heuristics are used for device placement, then the approach is simple to implement, but execution time cannot be minimized and throughput is not maximized

Engineering Contradiction:
Improveimplementation simplicityVSAvoidthroughput
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent replaces traditional mechanical heuristic algorithms with a neural network-based approach that learns optimal placement strategies from data. The neural network processes computational graphs and directly outputs high-quality placements that maximize throughput while respecting constraints, eliminating the need for complex hand-crafted heuristics and achieving superior performance without sacrificing implementability.

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

Data Source

PatentUS20240403660A1Constrained device placement using neural networks
Publication Date: 2024.12.05 GOOGLE LLC
  • US20240403660A1 patent drawing
  • US20240403660A1 patent drawing
  • US20240403660A1 patent drawing

AI summary

Systems and methods for determining a placement for computational graph across multiple hardware devices. One of the methods includes generating a policy output using a policy neural network and using the policy output to generate a final placement that satisfies one or more constraints.