IP Library Granted Patent US 11,614,932
Granted Patent B2
US 11,614,932 · App. 17/334,617 · Granted Mar 28, 2023

Method and system for machine learning framework and model versioning in a machine learning serving infrastructure

Inventors: Vaibhav Gumashta (San Francisco, CA); Alexandr Nikitin (El Sobrante, CA); Yuliya L. Feldman (Campbell, CA); Seyedshahin Ashrafzadeh (San Francisco, CA); Manoj Agarwal (Cupertino, CA)
Assignee: Salesforce, Inc.
G06F8/71G06F9/44536G06N20/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,614,932
App. No.
17/334,617
Granted
Mar 28, 2023
Kind
B2
Abstract

Machine learning version management method for a prediction service includes receiving a prediction request, determining application metadata for the request that defines routing logic and a machine learning framework version, determining model metadata for the request that defines at least one model and at least one model version, forwarding the prediction request to the at least one model with the at least one model version, and returning a prediction from the at least one model to a requestor.

Claims (53)

1. A method of machine learning version management for a prediction service, the method comprising:

receiving, from an application, a prediction request at a machine learning version manager that supports a plurality of machine learning framework versions, wherein each of the plurality of machine learning framework versions supports a plurality of models, and wherein each of the plurality of models supports a plurality of model versions;

determining based on the prediction request, application metadata that corresponds to the application;

determining, based on the prediction request and the application metadata, a first machine learning framework version of the plurality of machine learning framework versions and model metadata that corresponds to the first machine learning framework version, wherein the model metadata identifies at least one model of the first machine learning framework version and at least one model version of the at least one model;

forwarding the prediction request to the at least one model with the at least one model version to be executed using the first machine learning framework version; and

returning a prediction from the at least one model to the application.

2. The method of claim 1 , further comprising:

selecting a backup model and backup model version in response to a failure of the at least one model or at least one model version.

3. The method of claim 1 , wherein the plurality of machine learning framework versions can execute in the prediction service.

4. The method of claim 3 , wherein a plurality of model versions can execute in any one or more of the plurality of machine learning framework versions.

5. The method of claim 1 , further comprising:

selecting the at least one model or the at least one model version based on being a most recent version, an enabled version for the prediction service, or having a most recent training.

6. The method of claim 1 , further comprising:

supporting model chaining by routing the prediction request to a plurality of model versions.

7. The method of claim 1 , further comprising:

selecting the at least one model version based on the at least one model version having training specific to a tenant application that sent the prediction request.

8. The method of claim 1 , wherein the application is a tenant application in a multi-tenancy system, and wherein the plurality of model versions that are supported by each of the plurality of models that are supported by each of the plurality of machine learning framework versions are a plurality of shared model versions and tenant-specific model versions.

9. A non-transitory machine-readable storage medium that provides instructions that, if executed by a set of one or more processors, are configurable to cause the set of one or more processors to perform operations of a method of machine learning version management for a prediction service, the operations comprising:

receiving, from an application, a prediction request at a machine learning version manager that supports a plurality of machine learning framework versions, wherein each of the plurality of machine learning framework versions supports a plurality of models, and wherein each of the plurality of models supports a plurality of model versions;

determining based on the prediction request, application metadata that corresponds to the application;

determining, based on the prediction request and the application metadata, a first machine learning framework version of the plurality of machine learning framework versions and model metadata that corresponds to the first machine learning framework version, wherein the model metadata that defines identifies at least one model of the first machine learning framework version and at least one model version of the at least one model;

forwarding the prediction request to the at least one model with the at least one model version to be executed using the first machine learning framework version; and

returning a prediction from the at least one model to the application.

10. The non-transitory machine-readable storage medium of claim 9 , the operations further comprising:

selecting a backup model and backup model version in response to a failure of the at least one model or at least one model version.

11. The non-transitory machine-readable storage medium of claim 9 , wherein the plurality of machine learning framework versions can execute in the prediction service.

12. The non-transitory machine-readable storage medium of claim 11 , wherein a plurality of model versions can execute in any one or more of the plurality of machine learning framework versions.

13. The non-transitory machine-readable storage medium of claim 9 , further comprising:

selecting the at least one model or the at least one model version based on being a most recent version, an enabled version for the prediction service, or having a most recent training.

14. The non-transitory machine-readable storage medium of claim 9 , further comprising:

supporting model chaining by routing the prediction request to a plurality of model versions.

15. The non-transitory machine-readable storage medium of claim 9 , further comprising:

selecting the at least one model version based on the at least one model version having training specific to a tenant application that sent the prediction request.

16. The non-transitory machine-readable storage medium of claim 9 , wherein the application is a tenant application in a multi-tenancy system, and wherein the plurality of model versions that are supported by each of the plurality of models that are supported by each of the plurality of machine learning framework versions are a plurality of shared model versions and tenant-specific model versions.

17. An apparatus comprising:

a set of one or more processors;

a non-transitory machine-readable storage medium that provides instructions that, if executed by the set of one or more processors, are configurable to cause the apparatus to perform operations of a method of machine learning version management for a prediction service, the operations comprising:

receiving, from an application, a prediction request at a machine learning version manager that supports a plurality of machine learning framework versions, wherein each of the plurality of machine learning framework versions supports a plurality of models, and wherein each of the plurality of models supports a plurality of model versions;

determining based on the prediction request, application metadata that corresponds to the application;

determining, based on the prediction request and the application metadata, a first machine learning framework version of the plurality of machine learning framework versions and model metadata that corresponds to the first machine learning framework version, wherein the model metadata identifies at least one model of the first machine learning framework version and at least one model version of the at least one model;

forwarding the prediction request to the at least one model with the at least one model version to be executed using the first machine learning framework version; and

returning a prediction from the at least one model to the application.

18. The apparatus of claim 17 , the operations further comprising:

selecting a backup model and backup model version in response to a failure of the at least one model or at least one model version.

19. The apparatus of claim 17 , wherein the plurality of machine learning framework versions can execute in the prediction service.

20. The apparatus of claim 19 , wherein a plurality of model versions can execute in any one or more of the plurality of machine learning framework versions.

21. The apparatus of claim 17 , the operations further comprising:

selecting the at least one model or the at least one model version based on being a most recent version, an enabled version for the prediction service, or having a most recent training.

22. The apparatus of claim 17 , the operations further comprising:

supporting model chaining by routing the prediction request to a plurality of model versions.

23. The apparatus of claim 17 , the operations further comprising:

selecting the at least one model version based on the at least one model version having training specific to a tenant application that sent the prediction request.

24. The apparatus of claim 17 , wherein the application is a tenant application in a multi-tenancy system, and wherein the plurality of model versions that are supported by each of the plurality of models that are supported by each of the plurality of machine learning framework versions are a plurality of shared model versions and tenant-specific model versions.

Assignments (2)
CHANGE OF NAME Recorded Feb 17, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 062794/0656 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2021
From: GUMASHTA, VAIBHAV; NIKITIN, ALEXANDR; FELDMAN, YULIYA L.; ASHRAFZADEH, SEYEDSHAHIN; AGARWAL, MANOJ
To: SALESFORCE.COM, INC.
Reel/Frame 056389/0707 →
Continuity (1)
Related Publication 20220382539A1 · Dec 1, 2022
Cited By (1)
US 12,541,402