IP Library Granted Patent US 11,699,093
Granted Patent B2
US 11,699,093 · App. 15/872,547 · Granted Jul 11, 2023

Automated distribution of models for execution on a non-edge device and an edge device

Inventors: Nagajyothi Nookula (Seattle, WA); Poorna Chand Srinivas Perumalla (Seattle, WA); Aashish Jindia (San Francisco, CA); Danjuan Ye (San Mateo, CA); Eduardo Manuel Calleja (San Francisco, CA); Song Ge (Foster City, CA); Vinay Hanumaiah (San Jose, CA); Wanqiang Chen (San Jose, CA); Safeer Mohiuddin (Saratoga, CA); Romi Boimer (Newark, NJ); Madan Mohan Rao Jampani (Mountain View, CA); Fei Chen (San Jose, CA)
Assignee: Amazon Technologies, Inc.
G06N20/00G06F9/5044G06F9/5066G06N5/022
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,699,093
App. No.
15/872,547
Granted
Jul 11, 2023
Kind
B2
Abstract

Techniques for generating and executing an execution plan for a machine learning (ML) model using one of an edge device and a non-edge device are described. In some examples, a request for the generation of the execution plan includes at least one objective for the execution of the ML model and the execution plan is generated based at least in part on comparative execution information and network latency information.

Claims (43)

1. A computer-implemented method comprising:

receiving a request to generate an execution plan for executing a machine learning (ML) model using at least one of an edge device and a web services provider, the request to include at least one objective for the execution of the ML model;

evaluating execution of usage of the ML model on web services provider hardware and on the edge device by executing the usage of the ML model on web services provider hardware and executing or simulating on web services provider hardware execution of the usage of the ML model by hardware of the at least one edge device and comparing execution characteristics of executing the ML model on either the web services provider hardware or the edge device to generate comparative execution information for each step in the ML model, wherein the execution characteristics of executing the ML model on the edge device are further based at least in part on a hardware characteristic of the edge device;

generating the execution plan for usage of the ML model based at least in part on the comparative execution information and network latency information, wherein the execution plan comprises an indication of a portion of the usage of the ML model to be executed on at least one of a host of the web services provider or the edge device;

causing the execution plan to be stored on the edge device; and

executing at least the indicated portion of the usage of the ML model on the at least one of the host of the web services provider or the edge device based at least in part on the execution plan.

2. The computer-implemented method of claim 1 , wherein the at least one objective is one or more of:

an execution throughput of usage of the ML model;

an amount of power to consume during execution of the ML model; or

an amount of resources to be utilized by the edge device.

3. The computer-implemented method of claim 1 , further comprising:

generating the ML model from a ML algorithm using a data set prior to evaluating execution of the ML model, wherein the request includes an identifier of a location of the ML algorithm and data set.

4. A computer-implemented method comprising:

receiving a request to generate an execution plan for executing a machine learning (ML) model using at least one of an edge device and a non-edge device, the request to include at least one objective for the execution of the ML model;

generating the execution plan for the usage of the ML model based at least in part on the at least one objective, comparative execution information and network latency information, wherein the comparative execution information is based at least in part on executing the usage of the ML model on non-edge device hardware and executing or simulating on the non-edge device hardware execution of the usage of the ML model by hardware of the at least one edge device and comparing execution characteristics of executing the ML model on either the non-edge device or the edge device, and wherein the execution characteristics of executing the ML model on the edge device are further based at least in part on a hardware characteristic of the edge device; and

executing at least one portion of the usage of the ML model on at least one of a host of the non-edge device and the edge device based at least in part on the execution plan.

5. The computer-implemented method of claim 4 , further comprising:

evaluating execution of the ML model on non-edge device hardware and on the edge device by comparing execution characteristics of the executing the ML model on either the non-edge device hardware or the edge device to generate comparative execution information for each step in the ML model.

6. The computer-implemented method of claim 4 , further comprising:

generating the ML model from a ML algorithm using a data set prior to evaluating execution of the ML model, wherein the request includes an identifier of a location of the ML algorithm and data set.

7. The computer-implemented method of claim 4 , further comprising:

updating the ML model to reflect the at least one portion of the ML model that is to be executed on the host of the non-edge device.

8. The computer-implemented method of claim 4 , wherein the ML model is executed on the host of the non-edge device as a container.

9. The computer-implemented method of claim 4 , wherein the ML model is executed on the host of the non-edge device as a virtual machine instance.

10. The computer-implemented method of claim 4 , wherein the request includes characteristics of the edge device to be used in the simulating of execution of ML model by the edge device.

11. The computer-implemented method of claim 4 , wherein the request includes an identifier of the edge device and wherein characteristics of the edge device to be used in the simulating of execution of ML model by the edge device are retrieved from a data store based on that identifier.

12. The computer-implemented method of claim 4 , further comprising:

determining a most optimal non-edge device hardware available to run the ML model.

13. The computer-implemented method of claim 4 , wherein the at least one objective is one or more of:

an execution throughput of the ML model;

an amount of power to consume during execution of the ML model; or

an amount of resources to be utilized by the edge device.

14. A system comprising:

an edge device; and

a non-edge device coupled to the edge device, the non-edge device including a memory to store program code and a processor to execute the stored program code to cause the non-edge device to:

receive a request to generate an execution plan for executing a ML model using one of the edge device and the non-edge device, the request to include at least one objective for the execution of the ML model;

generate the execution plan for the usage of the ML model based at least in part on the at least one objective, comparative execution information and network latency information, wherein the comparative execution information is based at least in part on executing the usage of the ML model on non-edge device hardware and executing or simulating on the non-edge device hardware execution of the usage of the ML model by hardware of the at least one edge device and comparing execution characteristics of executing the ML model on either the non-edge device or the edge device, and wherein the execution characteristics of executing the ML model on the edge device are further based at least in part on a hardware characteristic of the edge device; and

execute at least one portion of the usage of the ML model on a host of the non-edge device in conjunction with the edge device based at least in part on the execution plan.

15. The system of claim 14 , wherein the execution of the stored program code is further to cause the non-edge device to evaluate execution of the ML model on non-edge device hardware and on the edge device by comparing execution characteristics of the executing the ML model on either the non-edge device hardware or the edge device to generate comparative execution information for each step in the ML model.

16. The system of claim 14 , wherein the ML model is to be executed on the host of the non-edge device as a container.

17. The system of claim 14 , wherein the ML model to be is executed on a host of the non-edge device as a virtual machine instance.

18. The system of claim 14 , wherein the request includes characteristics of the edge device to be used in the simulating of execution of ML model by the edge device.

19. The system of claim 14 , wherein the request includes an identifier of the edge device and characteristics of the edge device to be used in the simulating of execution of ML model by the edge device are retrieved from a data store based on that identifier.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2018
From: NOOKULA, NAGAJYOTHI; PERUMALLA, POORNA CHAND SRINIVAS; JINDIA, AASHISH; YE, DANJUAN; CALLEJA, EDUARDO MANUEL; GE, SONG; HANUMAIAH, VINAY; CHEN, WANQIANG; MOHIUDDIN, SAFEER; BOIMER, ROMI; JAMPANI, MADAN MOHAN RAO; CHEN, FEI
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 044644/0792 →
Continuity (1)
Related Publication 20190220783A1 · Jul 18, 2019
Cited By (2)
US 12,288,104 US 12,506,706