Hierarchical Device Placement for Machine Learning Models

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for determining the placement of neural network operations across multiple devices rely on simple heuristics and human intuition, leading to inefficient use of hardware resources and increased processing times, especially when handling large computational graphs.

Innovation Solution

A two-level hierarchical model comprising a grouper neural network and a placer neural network is used to optimize device placement, where the grouper groups operations and the placer assigns these groups to hardware devices, trained jointly using reinforcement learning to minimize processing time and adapt to the current hardware environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If simple heuristics and human intuition are used to determine device placement, then the method is easy to implement, but the hardware resource utilization is inefficient and processing time increases

Engineering Contradiction:
Improveease of implementationVSAvoidhardware resource utilization efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The system employs reinforcement learning agents that automatically learn optimal device placement strategies through self-interaction with the environment. The agents receive rewards based on execution time and automatically improve their placement decisions without manual intervention, enabling the system to self-optimize hardware resource utilization while maintaining ease of implementation through automated decision-making

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The reinforcement learning framework implements continuous feedback loops where the system evaluates execution times of placed computational graphs and uses this feedback to adjust and improve placement decisions. The reward signal based on actual execution performance creates a closed-loop system that automatically adapts to optimize hardware resource utilization without requiring manual tuning

Inventive Principle:
Principle #23Feedback

2Ease of manufacture

If simple heuristics and human intuition are used to determine device placement, then the method is easy to implement, but the processing time increases

Engineering Contradiction:
Improveease of implementationVSAvoidprocessing time
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The reinforcement learning agents automatically learn time-optimization strategies through self-interaction with the execution environment. By autonomously exploring different placement configurations and receiving feedback based on execution time, the system develops optimized placement policies that minimize processing time without requiring manual optimization efforts

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system uses execution time as a reward signal in the reinforcement learning framework, creating a direct feedback mechanism that guides the optimization of processing time. The agents continuously learn from time-based feedback to improve placement decisions, automatically reducing processing time while maintaining ease of implementation through automated learning

Inventive Principle:
Principle #23Feedback

3Extent of automation

If manual grouping of operations is required as a pre-processing step, then the placement process requires user intervention, but the automation level decreases

Engineering Contradiction:
Improveautomation levelVSAvoidmanual effort required
Core Design Contradiction:
Extent of automationVSEase of operation

Solution Approach 1:

The system merges the operation grouping function with the device placement function into a unified reinforcement learning framework. The grouping agent and placement agent work together as integrated components of the same automated system, eliminating the need for separate manual grouping steps and achieving end-to-end automation while maintaining ease of operation through unified automated decision-making

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The reinforcement learning agents automatically perform both grouping and placement decisions without requiring manual intervention. The system serves itself by autonomously learning optimal grouping strategies and placement decisions through interaction with the execution environment, achieving high automation level while maintaining ease of operation through complete automation

Inventive Principle:
Principle #25Self-service

4Productivity

If the system adapts to current hardware environment properties, then the placement optimization improves, but the training complexity increases

Engineering Contradiction:
Improveplacement optimization qualityVSAvoidtraining complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system adapts to hardware environment by learning from actual execution time measurements rather than relying on static hardware specifications. The reinforcement learning agents dynamically adjust their placement decisions based on observed performance parameters, enabling high placement optimization quality while managing training complexity through empirical learning from real hardware behavior

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3580698B1Hierarchical device placement with reinforcement learning
Publication Date: 2024.02.14 GOOGLE LLC
  • EP3580698B1 patent drawingFigure 1
  • EP3580698B1 patent drawingFigure 2
  • EP3580698B1 patent drawingFigure 3

AI summary

A method for determining a placement for machine learning model operations across multiple hardware devices includes receiving data specifying machine learning operations, and determining a placement that assigns each of the operations specified by the data to a respective device from the multiple hardware devices. Determining the placement includes: generating, from the data, a respective operation embedding for each of the operations; grouping the operations into multiple operation groups, comprising processing each of the respective operation embeddings using a grouper neural network having multiple grouper parameters, in which the grouper neural network is configured to, for each of the operations, process the operation embedding for the operation in accordance with first values of the grouper parameters to generate a grouper output that assigns the operation to an operation group from the multiple operation groups; and assigning each of the operation groups to a respective device from the multiple hardware devices.