IP Library Granted Patent US 12,430,568
Granted Patent B2
US 12,430,568 · App. 17/029,769 · Granted Sep 30, 2025

Decoupled architecture for artificial intelligence model management

Inventors: Jinpeng Liu (Shanghai, CN); Jin Li (Shanghai, CN); Zhen Jia (Shanghai, CN); Christopher S. MacLellan (Uxbridge, MA)
Assignee: Dell Products L.P.
G06N5/02G06N5/04
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 12,430,568
App. No.
17/029,769
Granted
Sep 30, 2025
Kind
B2
Abstract

A decoupled artificial intelligence model management architecture comprises a front-end component, a scheduler component and a back-end component configured to enable an open and dynamic system which accepts any models from any formats to be deployed on any target devices and to dynamically change scheduling of parallelism, parameter movements and computation executions across the target devices.

Claims (48)

1. A system, comprising:

a processing platform with at least one processor and at least one memory storing computer program instructions wherein, when the at least one processor executes the computer program instructions, the system further comprises:

a front-end component configured to: receive a selected first one of a set of artificial intelligence models having different initial model formats; translate the selected first artificial intelligence model from an initial model format into a second model format wherein the second model format corresponds to a model format supported by a selected one of a set of target devices upon which the selected first artificial intelligence model is to be executed, wherein the set of target devices are deployed in a computing environment; and generate a computation graph corresponding to the translated artificial intelligence model, wherein the computation graph is generated by compiling the selected first artificial intelligence model to be executed into an intermediate representation, and wherein the computation graph comprises two or more nodes each representing a layer operator defined by the selected first artificial intelligence model and one or more edges defining a dependency relationship between the two or more nodes;

a scheduler component configured to: select a scheduler of a plurality of schedulers based on a selected parallelism algorithm, wherein each of the plurality of schedulers implements a different parallelism algorithm; use the selected scheduler to obtain binary representations of computations based on the two or more nodes of the translated computation graph and dependency rules for the computations based on the one or more edges of the translated computation graph; schedule the computations for execution on the selected one of the target devices based on the dependency rules, one or more characteristics of the computations and the selected parallelism algorithm; and schedule parameters associated with the second model format, the scheduling comprising determining whether the parameters associated with the second model format are registered and sharing the parameters associated with the second model format among a subset of the computations that are scheduled for execution on the selected one of the target devices; and

a back-end component configured to: generate code for executing the scheduled computations based on the second model format of the selected one of the target devices, the generating including generating implementations for the two or more nodes of the computation graph and just-in-time computing the implementations into binary representations of the two or more nodes of the computation graph; and causing the code to be executed on the selected one of the target devices in order to execute at least part of the selected first artificial intelligence model on the selected one of the target devices;

wherein the front-end component, the scheduler component and the back-end component are functionally separate from each other and are further configured to re-perform at least a portion of the above operations corresponding to receipt of a selected second one of the set of artificial intelligence models, or a detected change in at least one of the selected one of the set of target devices and the selected parallelism algorithm.

2. The system of claim 1 , wherein the computing environment in which the set of target devices are deployed comprises an edge computing environment.

3. The system of claim 1 , wherein the selected first artificial intelligence model comprises an inference program.

4. The system of claim 1 , wherein the selected parallelism algorithm comprises a model parallelism algorithm or a pipeline parallelism algorithm.

5. The system of claim 1 , wherein the front-end component is further configured to generate an intermediate representation corresponding to the translated artificial intelligence model.

6. The system of claim 1 , wherein, when the selected one of the set of target devices is a central processing unit, the back-end component is further configured to generate code for execution of all computations on the central processing unit.

7. The system of claim 1 , wherein, when the selected one of the set of target devices is a graphical processing unit, the back-end component is further configured to: generate code for execution on the graphical processing unit for computations that are appropriate for execution on the graphical processing unit; and generate code for execution on a central processing unit for computations that are not appropriate for execution on the graphical processing unit.

8. The system of claim 1 , wherein, when the selected one of the set of target devices is a proprietary target device, the back-end component is further configured to:

generate code for execution of computations on the proprietary target device when available for the proprietary target device; and generate code for execution of computations on a central processing unit when not available for the proprietary target device.

9. The system of claim 1 , wherein the scheduler component is further configured to parse the computation graph.

10. The system of claim 1 , wherein the scheduler component is further configured to bind the parameters associated with the second model format to each computation.

11. The system of claim 10 , wherein a given parameter is shared between two or more computations.

12. A method, comprising:

receiving, in a front-end component, a selected first one of a set of artificial intelligence models having different initial model formats;

translating, in the front-end component, the selected first artificial intelligence model from an initial model format into a second model format wherein the second model format corresponds to a model format supported by a selected one of a set of target devices upon which the selected first artificial intelligence model is to be executed, wherein the set of target devices are deployed in a computing environment;

generating, in the front-end component, a computation graph corresponding to the translated artificial intelligence model, wherein the computation graph is generated by compiling the selected first artificial intelligence model to be executed into an intermediate representation, and wherein the computation graph comprises two or more nodes each representing a layer operator defined by the selected first artificial intelligence model and one or more edges defining a dependency relationship between the two or more nodes;

selecting, with a scheduler component, a scheduler of a plurality of schedulers based on a selected parallelism algorithm, wherein each of the plurality of schedulers implements a different parallelism algorithm;

using the selected scheduler to obtain, in the scheduler component, binary representations of computations based on the two or more nodes of the translated computation graph and dependency rules for the computations based on the one or more edges of the translated computation graph;

scheduling, by the scheduler component, the computations for execution on the selected one of the target devices based on the dependency rules, one or more characteristics of the computations and a selected parallelism algorithm;

scheduling parameters associated with the second model format, the scheduling comprising determining whether the parameters associated with the second model format are registered and sharing the parameters associated with the second model format among a subset of the computations that are scheduled for execution on the selected one of the target devices;

generating, in a back-end component, code for executing the scheduled computations based on the second model format of the selected one of the target devices, the generating including generating implementations for the two or more nodes of the computation graph and just-in-time computing the implementations into binary representations of the two or more nodes of the computation graph;

causing, by the back-end component, the code to be executed on the selected one of the target devices in order to execute at least part of the selected first artificial intelligence model on the selected one of the target devices; and

re-performing at least a portion of the above steps corresponding to receipt of a selected second one of the set of artificial intelligence models or a detected change in at least one of the selected one of the set of target devices and the selected parallelism algorithm;

wherein the front-end component, the scheduler component and the back-end component are functionally separate from each other and are implemented on a processing platform with at least one processor and at least one memory storing computer program instructions wherein, when the at least one processor executes the computer program instructions, the above steps are performed.

13. The method of claim 12 , wherein the computing environment in which the set of target devices are deployed comprises an edge computing environment.

14. The method of claim 12 , wherein the selected first artificial intelligence model comprises an inference program.

15. The method of claim 12 , wherein the selected parallelism algorithm comprises a model parallelism algorithm or a pipeline parallelism algorithm.

16. The method of claim 12 , further comprising generating, in the front-end component, an intermediate representation corresponding to the translated artificial intelligence model.

17. A computer program product stored on a non-transitory computer-readable medium and comprising machine executable instructions, the machine executable instructions, when executed, causing a processing device to:

receive, in a front-end component, a selected first one of a set of artificial intelligence models having different initial model formats;

translate, in the front-end component, the selected first artificial intelligence model from an initial model format into a second model format wherein the second model format corresponds to a model format supported by a selected one of a set of target devices upon which the selected first artificial intelligence model is to be executed, wherein the set of target devices are deployed in a computing environment;

generate, in the front-end component, a computation graph corresponding to the translated artificial intelligence model, wherein the computation graph is generated by compiling the selected first artificial intelligence model to be executed into an intermediate representation, and wherein the computation graph comprises two or more nodes each representing a layer operator defined by the selected first artificial intelligence model and one or more edges defining a dependency relationship between the two or more nodes;

select, with a scheduler component, a scheduler of a plurality of schedulers based on a selected parallelism algorithm, wherein each of the plurality of schedulers implements a different parallelism algorithm;

use the selected scheduler to obtain, in the scheduler component, binary representations of computations based on the two or more nodes of the translated computation graph and dependency rules for the computations based on the one or more edges of the translated computation graph;

schedule, by the scheduler component, the computations for execution on the selected one of the target devices based on the dependency rules and a selected parallelism algorithm;

schedule parameters associated with the second model format, the scheduling comprising determining whether the parameters associated with the second model format are registered and sharing the parameters associated with the second model format among a subset of the computations that are scheduled for execution on the selected one of the target devices;

generate, in a back-end component, code for executing the scheduled computations based on the second model format of the selected one of the target devices, the generating including generating implementations for the two or more nodes of the computation graph and just-in-time computing the implementations into binary representations of the two or more nodes of the computation graph;

cause, by the back-end component, the code to be executed on the selected one of the target devices in order to execute at least part of the selected first artificial intelligence model on the selected one of the target devices; and

re-perform at least a portion of the above steps corresponding to receipt of a selected second one of the set of artificial intelligence models or a detected change in at least one of the selected one of the set of target devices and the selected parallelism algorithm;

wherein the front-end component, the scheduler component and the back-end component are functionally separate from each other.

18. The computer program product of claim 17 , wherein the computing environment in which the set of target devices are deployed comprises an edge computing environment.

19. The computer program product of claim 17 , wherein the selected first artificial intelligence model comprises an inference program.

20. The computer program product of claim 17 , wherein the selected parallelism algorithm comprises a model parallelism algorithm or a pipeline parallelism algorithm.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2020
From: LIU, JINPENG; LI, JIN; JIA, ZHEN; MACLELLAN, CHRISTOPHER S.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053861/0780 →
Continuity (1)
Related Publication 20220092439A1 · Mar 24, 2022
References Cited (28)
US 10698737B2 · Fachini · 2020 [cited by examiner]
US 11159628B1 · Gupta · 2021 [cited by examiner]
US 11301762B1 · Chen · 2022 [cited by examiner]
US 20190324810A1 · Zhao et al. · 2019 [cited by applicant]
US 20220172044A1 · Liu · 2022 [cited by examiner]
Wikipedia, “Intermediate Representation,” https://en.wikipedia.org/w/index.php?title=Intermediate_representation&direction=next&oldid=905361000, Jan. 24, 2020, 4 pages. [cited by applicant]
Jia et al., “Beyond Data and Model Parallelism for Deep Neural Networks,” Proceedings of the 2nd SysML Conference, Palo Alto, CA, Jul. 2018, 13 pages. [cited by applicant]
Wikipedia, “Deep Learning,” https://en.wikipedia.org/wiki/Deep_learning, Feb. 6, 2020, 33 pages. [cited by applicant]
Wikipedia, “Everything as a Service,” https://simple.wikipedia.org/wiki/Everything_as_a_service, Aug. 23, 2019, 2 pages. [cited by applicant]
L. Song et al., “HyPar: Towards Hybrid Parallelism for Deep Learning Accelerator Array,” arXiv:1901.02067v1, Jan. 7, 2019, 13 pages. [cited by applicant]
Github, “OpenNess Architecture and Solution Overview,” https://github.com/open-ness/specs/blob/master/doc/architecture.md, accessed Jul. 7, 2020, 15 pages. [cited by applicant]
Amazon Web Services, “Machine Learning Inference with AWS IoT Greengrass Solution Accelerator” https://aws.amazon.com/iot/solutions/mli-accelerator/, Oct. 2019, 5 pages. [cited by applicant]
Y. Huang et al., “GPipe: Efficient Training of Giant Neural Networks using Pipeline Parallelism,” arXiv:1811.06965v5 [cs.CV], Jul. 25, 2019, 11 pages. [cited by applicant]
D. Narayanan et al., “PipeDream: Generalized Pipeline Parallelism for DNN Training,” The 27th ACM Symposium on Operating Systems Principles, Huntsville, Ontario, Canada, Oct. 27-30, 2019, 15 pages. [cited by applicant]
LLVM, “The LLVM Compiler Infrastructure,” https://llvm.org/, Accessed Jul. 10, 2020, 3 pages. [cited by applicant]
LLLV, “Multi-Level Intermediate Representation Overview,” https://mlir.llvm.org/, Accessed Jul. 10, 2020, 3 pages. [cited by applicant]
ONNX, “Open Neural Network Exchange,” https://onnx.ai/, 2019, 3 pages. [cited by applicant]
Github, “ONNX: Open Standard for Machine Learning Interoperability,” https://github.com/onnx/onnx, Accessed Jul. 10, 2020, 8 pages. [cited by applicant]
Github, “ONNX: Operators.md at Master,” https://github.com/onnx/onnx/blob/master/docs/Operators.md, Accessed Jul. 10, 2020, 233 pages. [cited by applicant]
Github, “ONNX Runtime: Cross-Platform, High Performance ML Inferencing and Training Accelerator,” https://github.com/microsoft/onnxruntime, Accessed Jul. 10, 2020, 10 pages. [cited by applicant]
Github, “LLVM Project: MLIR at Master,” https://github.com/llvm/llvm-project/tree/master/mlir, Accessed Jul. 10, 2020, 2 pages. [cited by applicant]
U.S. Appl. No. 16/540,385 filed in the name of Jinpeng Liu et al. on Aug. 14, 2019, and entitled “Method, a Device and a Computer Program Product for Determining a Resource Required for Executing a Code Segment.” [cited by applicant]
U.S. Appl. No. 16/542,757 filed in the name of Jinpeng Liu et al. on Aug. 16, 2019, and entitled “Method, Device and Computer Program Product for Processing Machine Learning Model.” [cited by applicant]
U.S. Appl. No. 16/678,758 filed in the name of Jinpeng Liu et al. on Nov. 8, 2019, and entitled “Method, Electronic Device and Computer Program Product for Processing Machine Learning Model.” [cited by applicant]
U.S. Appl. No. 16/789,006 filed in the name of Jin Li et al. on Feb. 12, 2020, and entitled “Scheduling Artificial Intelligence Model Partitions Based on Reversed Computation Graph.” [cited by applicant]
U.S. Appl. No. 16/823,445 filed in the name of Jinpeng Liu et al. on Mar. 19, 2020, and entitled “Task Scheduling Method, Electronic Device, and Computer Storage Medium.” [cited by applicant]
U.S. Appl. No. 16/845,682 filed in the name of Jin Li et al. on Apr. 10, 2020, and entitled “Task Processing Method, Electronic Device, and Computer Program Product.” [cited by applicant]
U.S. Appl. No. 16/925,864 filed in the name of Jinpeng Liu et al. on Jul. 10, 2020, and entitled “Managing Artificial Intelligence Model Partitions for Edge Computing Environment.” [cited by applicant]