IP Library Granted Patent US 11,138,522
Granted Patent B1
US 11,138,522 · App. 16/827,376 · Granted Oct 5, 2021

Allocating resources for a machine learning model

Inventors: Jonathan Ross (Mountain View, CA); John Michael Stivoric (Pittsburgh, PA)
Assignee: Google LLC
G06N20/00G06F9/4887G06F9/505G06F9/5016G06F8/41
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,138,522
App. No.
16/827,376
Granted
Oct 5, 2021
Kind
B1
Abstract

A method for allocating resources for a machine learning model is disclosed. A machine learning model to be executed on a special purpose machine learning model processor is received. A computational data graph is generated from the machine learning model. The computational dataflow graph represents the machine learning model which includes nodes, connector directed edges, and parameter directed edges. The operations of the computational dataflow graph is scheduled and then compiled using a deterministic instruction set architecture that specifies functionality of a special purpose machine learning model processor. An amount of resources required to execute the computational dataflow graph is determined. Resources are allocated based on the determined amounts of resources required to execute the machine learning model represented by the computational dataflow graph.

Claims (24)

1. A computer-implemented method for allocating resources for a machine learning model, the method comprising:

receiving a machine learning model to execute on a special purpose machine learning model processor;

compiling, with a deterministic instruction set architecture that specifies functionality of the special purpose machine learning model processor, the machine learning model to provide a schedule of operations, each operation having a defined starting clock cycle and duration;

determining, based on the schedule of operations, an amount of resources required to execute the machine learning model; and

allocating resources of the special purpose machine learning model processor based on the determined amounts of resources required to execute the machine learning model.

2. The method of claim 1 , wherein the determined amount of resources required to execute the machine learning model comprises a number of operations to be performed.

3. The method of claim 1 , wherein the determined amount of resources required to execute the machine learning model comprises an amount of storage the machine learning model requires to execute.

4. The method of claim 1 , wherein the determined amount of resources required to execute the machine learning model comprises an amount of input/output communications required for executing the machine learning model.

5. The method of claim 1 , wherein compiling the machine learning model comprises:

generating a computational graph for the machine learning model; and

scheduling and compiling the computational graph into executable binaries.

6. The method of claim 1 , comprising executing the machine learning model on the special purpose machine learning model processor after allocating the resources of the special purpose machine learning model processor.

7. A system comprising one or more computers and one or more storage devices storing instructions that are executable by the one or more computers to cause the one or more computers to perform the operations of:

receiving a machine learning model to execute on a special purpose machine learning model processor;

compiling, with a deterministic instruction set architecture that specifies functionality of the special purpose machine learning model processor, the machine learning model to provide a schedule of operations, each operation having a defined starting clock cycle and duration;

determining, based on the schedule of operations, an amount of resources required to execute the machine learning model; and

allocating resources of the special purpose machine learning model processor based on the determined amounts of resources required to execute the machine learning model.

8. The system of claim 7 , wherein the determined amount of resources required to execute the machine learning model comprises a number of operations to be performed.

9. The system of claim 7 , wherein the determined amount of resources required to execute the machine learning model comprises an amount of storage the machine learning model requires to execute.

10. The system of claim 7 , wherein the determined amount of resources required to execute the machine learning model comprises an amount of input/output communications required for executing the machine learning model.

11. The system of claim 7 , wherein compiling the machine learning model comprises:

generating a computational graph for the machine learning model; and

scheduling and compiling the computational graph into executable binaries.

12. The system of claim 7 , wherein the operations further comprise executing the machine learning model on the special purpose machine learning model processor after allocating the resources of the special purpose machine learning model processor.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2021
From: X DEVELOPMENT LLC
To: GOOGLE LLC
Reel/Frame 057352/0030 →
EMPLOYMENT AGREEMENT Recorded May 4, 2021
From: ROSS, JONATHAN
To: X DEVELOPMENT LLC
Reel/Frame 056135/0670 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2020
From: ROSS, JONATHAN
To: GOOGLE INC.
Reel/Frame 052922/0112 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2020
From: STIVORIC, JOHN MICHAEL
To: X DEVELOPMENT LLC
Reel/Frame 052922/0793 →
ENTITY CONVERSION Recorded Jun 12, 2020
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 053581/0427 →
Continuity (2)
Continuation 15859077 · Dec 29, 2017
Provisional Application 62440357 · Dec 29, 2016