Hierarchical device placement with reinforcement learning

US10438113B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10438113-B2
Application numberUS-201816040186-A
CountryUS
Kind codeB2
Filing dateJul 19, 2018
Priority dateJul 21, 2017
Publication dateOct 8, 2019
Grant dateOct 8, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving data specifying machine learning operations that are to be distributed across a plurality of hardware devices for processing; and determining a placement that assigns each of the operations specified by the received data to a respective device from the plurality of hardware devices, comprising: generating, from the data specifying the operations, a respective operation embedding for each of the plurality of operations; grouping the operations into a plurality of operation groups, comprising processing each of the respective operation embeddings using a grouper neural network having a plurality of grouper parameters, wherein 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 plurality of operation groups; and assigning each of the operation groups to a respective device from the plurality of hardware devices, comprising: generating, for each of the operation groups, a respective group embedding by combining the operation embeddings for the operations in the operation group, and processing the respective group embeddings for the operation groups using a placer neural network having a plurality of placer parameters, wherein the placer neural network is configured to process the respective group embeddings in accordance with first values of the placer parameters to generate a placer output that assigns each operation group to a respective hardware device from the plurality of hardware devices. 2. The method of claim 1 , further comprising: scheduling the operations for processing by the plurality of hardware devices by, for each operation group, placing the operations in the operation group on the hardware device to which the operation group was assigned. 3. The method of claim 1 , wherein the operations are operations necessary to train a machine learning model. 4. The method of claim 1 , wherein the operations are operations necessary to perform an inference using a machine learning model. 5. The method of claim 1 , wherein the data specifying the operations is data representing a computational graph having vertices that represent operations and edges that represent data communicated between the operations. 6. The method of claim 1 , wherein the grouper neural network is a feedforward neural network. 7. The method of claim 1 , wherein the placer neural network is a recurrent neural network. 8. The method of claim 7 , wherein the placer neural network is a sequence-to-sequence neural network. 9. The method of claim 1 , wherein the placer neural network employs learnable embeddings for the plurality of hardware devices. 10. The method of claim 1 , wherein generating, from the data specifying the operations, a respective operation embedding for each of the plurality of operations comprises: generating a respective property embedding for each of a plurality of properties of the operation; and combining the property embeddings to generate the operation embedding. 11. The method of claim 10 , wherein the properties comprise one or more of: an operation type of the operation, a size of outputs generated by the operation, or operations that provide input to and receive output generated by the operation. 12. The method of claim 1 , further comprising: determining the first values of the grouper parameters and the placer parameters from initial values of the grouper parameters and placer parameters by repeatedly performing the following: processing a current sequence of operation embeddings using the grouper neural network and the placer neural network in accordance with current values of the placer parameters and the grouper parameters to select one or more placements of the operations across the plurality of devices; for each selected placement: performing the operations across the plurality of devices according to the placement, and determining a time required for the processing to complete; adjusting the current values of the grouper parameters and the placer parameters using a reinforcement learning technique that uses a reward derived from the times required for the processing to complete for each of the selected placements. 13. The method of claim 12 , wherein the reinforcement learning technique is a REINFORCE technique. 14. The method of claim 13 , wherein the reinforcement learning technique includes a baseline that is derived from a moving average of the required times. 15. The method of claim 12 , wherein the initial values have been determined by pre-training the grouper neural network and the placer neural network. 16. The method of claim 15 , wherein the pre-training used a different set of machine learning operations, a different plurality of hardware devices, or both. 17. The method of claim 12 , further comprising initializing the initial values of the grouper parameters and the placer parameters using a parameter initialization technique. 18. A system comprising one or more computers and one or more non-transitory computer-readable storage media storing instructions that, when executed by the one or more computers, cause the one or more computers to perform operations comprising: receiving data specifying machine learning operations that are to be distributed across a plurality of hardware devices for processing; and determining a placement that assigns each of the operations specified by the received data to a respective device from the plurality of hardware devices, comprising: generating, from the data specifying the operations, a respective operation embedding for each of the plurality of operations; grouping the operations into a plurality of operation groups, comprising processing each of the respective operation embeddings using a grouper neural network having a plurality of grouper parameters, wherein 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 plurality of operation groups; and assigning each of the operation groups to a respective device from the plurality of hardware devices, comprising: generating, for each of the operation groups, a respective group embedding by combining the operation embeddings for the operations in the operation group, and processing the respective group embeddings for the operation groups using a placer neural network having a plurality of placer parameters, wherein the placer neural network is configured to process the respective group embeddings in accordance with first values of the placer parameters to generate a placer output that assigns each operation group to a respective hardware device from the plurality of hardware devices. 19. One or more non-transitory computer-readable storage media storing instructions that, when executed by one or more computers, cause the one or more computers to perform operations comprising: receiving data specifying machine learning operations that are to be distributed across a plurality of hardware devices for processing; and determining a placement that assigns each of the operations specified by the received data to a respective device from the plurality of hardware devices, comprising: generating, from the data specifying the ope

Assignees

Inventors

Classifications

  • Recurrent networks, e.g. Hopfield networks · CPC title

  • Combinations of networks · CPC title

  • G06F9/5066Primary

    Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs (mappping at compile time, see G06F8/451) · CPC title

  • Graphs; Linked lists (G06F16/9027 takes precedence) · CPC title

  • using electronic means · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10438113B2 cover?
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 oper…
Who is the assignee on this patent?
Google Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/5066. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 08 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).