IP Library Granted Patent US 11,461,291
Granted Patent B2
US 11,461,291 · App. 16/678,758 · Granted Oct 4, 2022

Method, electronic device and computer program product for processing machine learning model

Inventors: Jinpeng Liu (Shanghai, CN); Pengfei Wu (Shanghai, CN); Zhi Ying (Shanghai, CN); Min Zhao (Shanghai, CN)
Assignee: EMC IP Holding Company LLC
G06F16/212G06F16/2228G06F16/81G06N20/00
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,461,291
App. No.
16/678,758
Granted
Oct 4, 2022
Kind
B2
Abstract

A method comprises obtaining an intermediate representation of the machine learning model written in a source language. The intermediate representation is independent of the source language and a target language and comprises a structured text. The method also comprises generating a computation graph based on the intermediate representation. Nodes in the computation graph represent functions related to the machine learning model and a directed edge in the computation graph represents a dependency between functions. The method further comprises partitioning the computation graph into sequential parts in sequence such that the parts are executed sequentially, and functions corresponding to nodes in each part are executed in parallel.

Claims (37)

1. A method for processing a machine learning model, comprising:

obtaining an intermediate representation of a machine learning model written in a source language, the intermediate representation being independent of the source language and a target language and comprising a structured text;

generating a computation graph based on the intermediate representation, nodes in the computation graph representing functions related to the machine learning model, a directed edge in the computation graph representing a dependency between the functions; and

partitioning the computation graph into sequential parts, such that the parts are executed sequentially and functions corresponding to nodes in each part are executed in parallel;

wherein partitioning the computation graph into sequential parts comprises determining a value for each of at least a first part of the nodes of the computation graph, wherein the value represents a number of edges directed to a given node; and

wherein each node in the first part has a first predetermined value.

2. The method of claim 1 , wherein partitioning the computation graph into sequential parts comprises partitioning the computation graph into the parts based on the values for each of the at least a first part of the nodes.

3. The method of claim 2 , wherein partitioning the computation graph into sequential parts based on the values comprises executing iteratively acts of removing, from the computation graph, the first part and a directed edge associated with nodes in the first part, to update the computation graph.

4. The method of claim 3 , wherein partitioning the computation graph into sequential parts based on the values comprises executing iteratively acts of selecting one or more sequential first parts of the computation graph, such that each node in the one or more sequential first parts has the first predetermined value.

5. The method of claim 4 , wherein the first predetermined value is equal to zero.

6. A computer program product, being tangibly stored on a non-transitory computer-readable medium and comprising machine executable instructions, the machine executable instructions, when executed, causing a machine to perform acts comprising:

obtaining an intermediate representation of a machine learning model written in a source language, the intermediate representation being independent of the source language and s target language and including a structured text;

generating a computation graph based on the intermediate representation, a node in the computation graph representing functions related to the machine learning model, a directed edge in the computation graph representing a dependency between the functions; and

partitioning the computation graph into sequential parts, such that the parts are executed sequentially, and functions corresponding to nodes in each part are executed in parallel;

wherein partitioning the computation graph into sequential parts comprises determining a value for each of at least a first part of the nodes of the computation graph, wherein the value represents a number of edges directed to a given node; and

wherein each node in the first part has a first predetermined value.

7. The method of claim 1 , wherein the first predetermined value is equal to zero.

8. An electronic device, comprising:

a processor; and

a memory storing computer program instructions, the processor running the computer program instructions in the memory to control the electronic device to perform acts comprising:

obtaining an intermediate representation of a machine learning model written in a source language, the intermediate representation being independent of the source language and a target language and comprising a structured text;

generating a computation graph based on the intermediate representation, nodes in the computation graph representing functions related to the machine learning model, a directed edge in the computation graph representing a dependency between the functions; and

partitioning the computation graph into sequential parts in sequence, such that the parts are executed sequentially, and functions corresponding to nodes in each part are executed in parallel;

wherein partitioning the computation graph into sequential parts comprises determining a value for each of at least a first part of the nodes of the computation graph, wherein the value represents a number of edges directed to a given node; and

wherein each node in the first part has a first predetermined value.

9. The electronic device of claim 8 , wherein partitioning the computation graph into sequential parts comprises partitioning the computation graph into the parts based on the values for each of the at least a first part of the nodes.

10. The electronic device of claim 9 , wherein partitioning the computation graph into sequential parts based on the values comprises executing iteratively acts of removing, from the computation graph, the first part and a directed edge associated with nodes in the first part, to update the computation graph.

11. The electronic device of claim 10 , wherein partitioning the computation graph into sequential parts based on the values comprises executing iteratively acts of selecting one or more sequential first parts of the computation graph, such that each node in the one or more sequential first parts has the first predetermined value.

12. The electronic device of claim 8 , wherein the first predetermined value is equal to zero.

13. The electronic device of claim 8 , wherein the intermediate representation of the machine learning model is described in a JavaScript Object Notation (JSON) format.

14. The electronic device of claim 8 , wherein the intermediate representation of the machine learning model is described in an Extensible Markup Language (XML) format.

15. The computer program product of claim 6 , wherein the first predetermined value is equal to zero.

16. The computer program product of claim 6 , wherein partitioning the computation graph into sequential parts comprises partitioning the computation graph into the parts based on the values for each of the at least a first part of the nodes.

17. The computer program product of claim 16 , wherein partitioning the computation graph into sequential parts based on the values comprises executing iteratively acts of removing, from the computation graph, the first part and a directed edge associated with nodes in the first part, to update the computation graph.

18. The computer program product of claim 17 , wherein partitioning the computation graph into sequential parts based on the values comprises executing iteratively acts of selecting one or more sequential first parts of the computation graph, such that each node in the one or more sequential first parts has the first predetermined value.

19. The computer program product of claim 6 , wherein the intermediate representation of the machine learning model is described in a JavaScript Object Notation (JSON) format.

20. The computer program product of claim 6 , wherein the intermediate representation of the machine learning model is described in an Extensible Markup Language (XML) format.

Assignments (9)
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 (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 (052216/0758) 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 IP HOLDING COMPANY LLC
Reel/Frame 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
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 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2019
From: LIU, JINPENG; WU, PENGFEI; YING, ZHI; ZHAO, MIN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 050966/0446 →
Cited By (1)
US 12,493,785