Decoupled architecture for artificial intelligence model management
AssigneeEMC IP Holding Company LLC
InventorsJinpeng Liu, Jin Li, Zhen Jia, Christopher S. MacLellan
Life of this patent
Estimating the term…
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.
Claims20
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 received 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 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;
- a scheduler component configured to:
- obtain binary representations of computations and dependency rules for the computations from the translated computation graph;
- and schedule the computations for execution on the selected one of the target devices based on the dependency rules and a selected parallelism algorithm;
- and
- a back-end component configured to:
- generate code for executing the scheduled computations on the selected one of the target devices;
- and causing the code to be executed on the selected one of the target devices;
- wherein the front-end component, the scheduler component and the back-end component are further configured to perform again at least a portion of the above operations corresponding to receipt of a selected second one of the set of artificial intelligence models or selection of another one of the set of target devices.
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 received 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 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;
- obtaining, in a scheduler component, binary representations of computations and dependency rules for the computations from 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 and a selected parallelism algorithm;
- generating, in a back-end component, code for executing the scheduled computations on the selected one of the target devices;
- causing, by the back-end component, the code to be executed on the selected one of the target devices;
- and
- performing again at least a portion of the above steps corresponding to receipt of a selected second one of the set of artificial intelligence models or selection of another one of the set of target devices;
- wherein the front-end component, the scheduler component and the back-end component 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.
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 received 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 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;
- obtain, in a scheduler component, binary representations of computations and dependency rules for the computations from 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;
- generate, in a back-end component, code for executing the scheduled computations on the selected one of the target devices;
- cause, by the back-end component, the code to be executed on the selected one of the target devices;
- and
- perform again at least a portion of the above steps corresponding to receipt of a selected second one of the set of artificial intelligence models or selection of another one of the set of target devices.
Dependencies are inferred from the claim text.