IP Library Granted Patent US 11,748,653
Granted Patent B2
US 11,748,653 · App. 16/000,807 · Granted Sep 5, 2023

Machine learning abstraction

Inventors: Nisha Talagala (Saratoga, CA); Vinay Sridhar (San Jose, CA); Swaminathan Sundararaman (San Jose, CA); Sindhu Ghanta (San Mateo, CA); Lior Amar (Sunnyvale, CA); Lior Khermosh (Palo Alto, CA); Bharath Ramsundar (Fremont, CA); Sriram Subramanian (Dallas, TX); Drew Roselli (Woodinville, WA)
Assignee: DataRobot, Inc.
G06N20/00G06F9/38G06F18/217G06F18/2178G06F18/23G06F18/285G06N5/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 11,748,653
App. No.
16/000,807
Granted
Sep 5, 2023
Kind
B2
Abstract

Apparatuses, systems, program products, and method are disclosed for machine learning abstraction. An apparatus includes an objective module configured to receive an objective to be analyzed using machine learning. An apparatus includes a grouping module configured to select a logical grouping of one or more machine learning pipelines to analyze a received objective. An apparatus includes an adjustment module configured to dynamically adjust one or more machine learning settings for a logical grouping of one or more machine learning pipelines based on feedback generated in response to analyzing a received objective.

Claims (51)

1. A method comprising:

receiving, by at least one processor from a user computing device, an objective to be analyzed using a model trained with machine learning;

identifying, by the at least one processor, a grouping of pipelines for analyzing the objective, the grouping of pipelines comprising:

a training pipeline comprising first code configured to train, using a training dataset associated with the objective, the model to receive an input from the user computing device and analyze the input in accordance with the training pipeline;

one or more inference pipelines comprising second code configured to generate, via the model, an outcome corresponding to the input received from the user computing device; and

a policy pipeline comprising third code configured to push the model to the one or more inference pipelines;

selecting, by the at least one processor responsive to the objective, the one or more inference pipelines from the grouping of pipelines for analyzing the objective, wherein the one or more inference pipelines is configured to send, during execution, a message to at least one of the training pipeline or the policy pipeline indicative of an error;

adjusting, by the at least one processor, a setting of the model based on the message sent by the one or more inference pipelines selected to analyze the objective; and

presenting, by the at least one processor, for display on the user computing device, an indication of at least one parameter of at least one pipeline of the one or more inference pipelines.

2. The method of claim 1 , further comprising:

training, by the at least one processor, the model using the grouping of pipelines.

3. The method of claim 1 , further comprising:

monitoring, by the at least one processor, a behavior of a user associated with the user computing device with respect the objective generated via the model using the grouping of pipelines;

re-adjusting, by the at least one processor, the setting for the grouping of pipelines based on the behavior.

4. The method of claim 1 , wherein the policy pipeline is configured to determine whether the model satisfies a fitness criterion.

5. The method of claim 4 , wherein the fitness criterion corresponds to at least one of speed, accuracy, or amount of configuration associated with the model.

6. The method of claim 1 , further comprising:

receiving, by the at least one processor from the user computing device, a second input corresponding to a revision to the grouping of pipelines; and

adjusting, by the at least one processor, at least one pipeline in accordance with the second input.

7. The method of claim 1 , wherein selecting, by the at least one processor, the one or more inference pipelines is in accordance with a pre-determined table of selections and corresponding objectives, whereby the at least one processor selects the one or more inference pipelines when the one or more inference pipelines corresponds to a second objective that is similar to the objective received from the user computing device.

8. The method of claim 1 , wherein the training pipeline, the one or more inference pipelines, and the policy pipeline execute on distinct one or more of physical computing devices and virtual machines.

9. The method of claim 1 , wherein adjusting the setting is based on one or more of events, predictions, new models, the input, errors, and user-defined events.

10. The method of claim 1 , further comprising:

executing, by the at least one processor, the model using the input received from the user computing device; and

receiving, by the at least one processor from the model, a predicted outcome associated with the objective.

11. A system comprising:

one or more processors in communication with a model trained with machine learning, the one or more processors configured to:

receive, from a user computing device, an objective to be analyzed using the model;

identify a grouping of pipelines for analyzing the objective, the grouping of pipelines comprising:

a training pipeline comprising first code configured to train the model using a training dataset associated with the objective, the model receive an input from the user computing device and analyze the input in accordance with the training pipeline;

one or more inference pipelines comprising second code configured to generate, via the model, an outcome corresponding to the input received from the user computing device; and

a policy pipeline comprising third code configured to push the model to the one or more inference pipelines;

select, responsive to the objective, the one or more inference pipelines from the grouping of pipelines for analyzing the objective, wherein the one or more inference pipelines is configured to send, during execution, a message to at least one of the training pipeline or the policy pipeline indicative of an error;

adjust a setting of the model based on the message sent by the one or more inference pipelines selected to analyze the objective; and

present for display on the user computing device, an indication of at least one parameter of at least one pipeline of the one or more inference pipelines.

12. The system of claim 11 , wherein the one or more processors are further configured to:

train the model using the grouping of pipelines.

13. The system of claim 11 , wherein the one or more processors are further configured to:

monitor a behavior of a user associated with the user computing device with respect the objective generated via the model using the grouping of pipelines;

re-adjust the setting for the grouping of pipelines based on the behavior.

14. The system of claim 11 , wherein the policy pipeline in configured to determine whether the model satisfies a fitness criterion.

15. The system of claim 14 , wherein the fitness criterion corresponds to at least one of speed, accuracy, or amount of configuration associated with the model.

16. The system of claim 11 , wherein the one or more processors are further configured to:

receive, from the user computing device, a second input corresponding to a revision to the grouping of pipelines; and

adjust at least one pipeline in accordance with the second input.

17. The system of claim 11 , wherein the selection of the one or more inference pipelines is in accordance with a pre-determined table of selections and corresponding objectives, whereby the one or more processors are further configured to select the one or more inference pipelines when the grouping corresponds to a second objective that is similar to the objective received from the user computing device.

18. The system of claim 11 , wherein the training pipeline, the one or more inference pipelines, and the policy pipeline execute on distinct one or more of physical computing devices and virtual machines.

19. The system of claim 11 , wherein adjusting the setting is based on one or more of events, predictions, new models, the input, errors, and user-defined events.

20. The system of claim 11 , wherein the one or more processors are further configured to:

execute the model using the input received from the user computing device; and

receive, from the model, a predicted outcome associated with the objective.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Apr 7, 2025
From: CITIBANK, N.A.
To: DATAROBOT, INC.; ALGORITHMIA, INC.; DULLES RESEARCH, LLC
Reel/Frame 070750/0866 →
SECURITY INTEREST Recorded Mar 22, 2023
From: DATAROBOT, INC.; ALGORITHMIA, INC.; DULLES RESEARCH, LLC
To: CITIBANK, N.A.
Reel/Frame 063263/0926 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2019
From: PARALLEL MACHINES, INC.; PARALLEL MACHINES LTD.
To: DATAROBOT, INC.
Reel/Frame 049568/0610 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2019
From: TALAGALA, NISHA; SRIDHAR, VINAY; SUNDARARAMAN, SWAMINATHAN; GHANTA, SINDHU; AMAR, LIOR; KHERMOSH, LIOR; RAMSUNDAR, BHARATH; SUBRAMANIAN, SRIRAM; ROSELLI, DREW
To: PARALLEL MACHINES, INC.
Reel/Frame 048168/0472 →
Continuity (2)
Provisional Application 62568781 · Oct 5, 2017
Related Publication 20190108417A1 · Apr 11, 2019