IP Library Granted Patent US 11,429,902
Granted Patent B2
US 11,429,902 · App. 16/417,147 · Granted Aug 30, 2022

Method, device and computer program product for deploying a machine learning model

Inventors: Jinpeng Liu (Shanghai, CN); Pengfei Wu (Shanghai, CN); Junping Zhao (Beijing, CN); Kun Wang (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06N20/10G06F8/447G06F8/60G06N20/00G06F8/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,429,902
App. No.
16/417,147
Granted
Aug 30, 2022
Kind
B2
Abstract

Embodiments of the present disclosure relate to a method, device and computer program product for deploying a machine learning model. The method comprises: receiving an intermediate representation indicating processing of a machine learning model, learning parameters of the machine learning model, and a computing resource requirement for executing the machine learning model, the intermediate representation, the learning parameters, and the computing resource requirement being determined based on an original code of the machine learning model, the intermediate representation being irrelevant to a programming language of the original code; determining, at least based on the computing resource requirement, a computing node and a parameter storage node for executing the machine learning model; storing the learning parameters in the parameter storage node; and sending the intermediate representation to the computing node for executing the machine learning model with the stored learning parameters.

Claims (64)

1. A method of deploying a machine learning model, comprising:

receiving a unified intermediate representation indicating processing of a machine learning model, learning parameters of the machine learning model, and a computing resource requirement for executing the machine learning model, the unified intermediate representation, the learning parameters, and the computing resource requirement being determined based on an original code of the machine learning model, the unified intermediate representation being a compilation of original code written in different programming languages of a plurality of machine learning models, the compilation of the original code being independent of the different programming languages;

determining, at least based on the computing resource requirement, a computing node and a parameter storage node for executing the machine learning model;

storing the learning parameters in the parameter storage node; and

sending the unified intermediate representation to the computing node for executing the machine learning model with the stored learning parameters.

2. The method according to claim 1 , wherein the computing resource requirement comprises at least one of the following:

a type of a device for executing the machine learning model,

a size of a storage space required for executing the machine learning model,

the number of threads required for executing the machine learning model,

a network bandwidth required for executing the machine learning model, and

the number of computation processing unit kernels required for executing the machine learning model; and

wherein the computing resource requirement is determined based on compiling of the original code.

3. The method according to claim 1 , wherein the learning parameters are trained machine learning model parameters.

4. The method according to claim 1 , wherein the learning parameters are obtained by randomly generating intermediate parameters during compiling of the original code, and training the intermediate parameters.

5. The method according to claim 1 , further comprising:

receiving training data for training the machine learning model; and

loading the training data into a training data storage node.

6. The method according to claim 1 , wherein the unified intermediate representation comprises a computing graph and a corresponding runtime library, the computing graph being described by a structured text.

7. The method according to claim 1 , further comprising:

receiving a parallel mode for executing the machine learning model, the parallel mode being one of a data parallel mode and a model parallel mode; and

causing the computing node to execute the machine learning model in the parallel mode.

8. A device for deploying a machine learning model, comprising:

at least one processing unit; and

at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the device to perform acts comprising:

receiving a unified intermediate representation indicating processing of a machine learning model, learning parameters of the machine learning model, and a computing resource requirement for executing the machine learning model, the unified intermediate representation, the learning parameters, and the computing resource requirement being determined based on an original code of the machine learning model, the unified intermediate representation being a compilation of original code written in different programming languages of a plurality of machine learning models, the compilation of the original code being independent of the different programming languages;

determining, at least based on the computing resource requirement, a computing node and a parameter storage node for executing the machine learning model;

storing the learning parameters in the parameter storage node; and

sending the unified intermediate representation to the computing node for executing the machine learning model with the stored learning parameters.

9. The device according to claim 8 , wherein the computing resource requirement comprises at least one of the following:

a type of a device for executing the machine learning model,

a size of a storage space required for executing the machine learning model,

the number of threads required for executing the machine learning model,

a network bandwidth required for executing the machine learning model, and

the number of computation processing unit kernels required for executing the machine learning model; and

wherein the computing resource requirement is determined based on compiling of the original code.

10. The device according to claim 8 , wherein the learning parameters are trained machine learning model parameters.

11. The device according to claim 8 wherein the learning parameters are obtained by randomly generating intermediate parameters during compiling of the original code, and training the intermediate parameters.

12. The device according to claim 8 , the acts further comprising:

receiving training data for training the machine learning model; and

loading the training data into a training data storage node.

13. The device according to claim 8 , wherein the unified intermediate representation comprises a computing graph and a corresponding runtime library, the computing graph being described by a structured text.

14. The device according to claim 8 , wherein the acts further comprise:

receiving a parallel mode for executing the machine learning model, the parallel mode being one of a data parallel mode and a model parallel mode; and

causing the computing node to execute the machine learning model in the parallel mode.

15. A computer program product being stored in a non-transitory computer storage medium and comprising machine-executable instructions which, when executed by a device, cause the device to perform a method of deploying a machine learning model, the method comprising:

receiving a unified intermediate representation indicating processing of a machine learning model, learning parameters of the machine learning model, and a computing resource requirement for executing the machine learning model, the unified intermediate representation, the learning parameters, and the computing resource requirement being determined based on an original code of the machine learning model, the unified intermediate representation being a compilation of original code written in different programming languages of a plurality of machine learning models, the compilation of the original code being independent of the different programming languages;

determining, at least based on the computing resource requirement, a computing node and a parameter storage node for executing the machine learning model;

storing the learning parameters in the parameter storage node; and

sending the unified intermediate representation to the computing node for executing the machine learning model with the stored learning parameters.

16. The computer program product according to claim 15 , wherein the computing resource requirement comprises at least one of the following:

a type of a device for executing the machine learning model,

a size of a storage space required for executing the machine learning model,

the number of threads required for executing the machine learning model,

a network bandwidth required for executing the machine learning model, and

the number of computation processing unit kernels required for executing the machine learning model; and

wherein the computing resource requirement is determined based on compiling of the original code.

17. The computer program product according to claim 15 , wherein the learning parameters comprise at least one of (i) trained machine learning model parameters and (ii) learning parameters obtained by randomly generating intermediate parameters during compiling of the original code, and training the intermediate parameters.

18. The computer program product according to claim 15 , wherein the method further comprises:

receiving training data for training the machine learning model; and

loading the training data into a training data storage node.

19. The computer program product according to claim 15 , wherein the unified intermediate representation comprises a computing graph and a corresponding runtime library, the computing graph being described by a structured text.

20. The computer program product according to claim 15 , wherein the method further comprises:

receiving a parallel mode for executing the machine learning model, the parallel mode being one of a data parallel mode and a model parallel mode; and

causing the computing node to execute the machine learning model in the parallel mode.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0571) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058213/0825 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2019
From: LIU, JINPENG; WU, PENGFEI; ZHAO, JUNPING; WANG, KUN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049233/0090 →