IP Library › Granted Patent US 11,526,420
Granted Patent B2
US 11,526,420 · App. 16/714,285 · Granted Dec 13, 2022

Techniques for training and deploying a model based feature in a software application

Inventors: Rosane Maria Maffei Vallim (Kirkland, WA); Stuart Hillary Schaefer (Sammamish, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F11/36G06N5/04G06N20/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,526,420
App. No.
16/714,285
Granted
Dec 13, 2022
Kind
B2
Abstract

Examples described herein generally relate to deploying, on multiple separate devices, an instance of an application having a baseline version of a model for executing in a real-world context, receiving, from each instance of the application, interaction data from the application based on using the model to perform inferences during execution of the instance of the application, and training, based on the interaction data, the model to generate a trained version of the model for performing subsequent inferences during execution of the application.

Claims (40)

1. A computer-implemented method for training a model, comprising:

deploying, on multiple separate devices, an instance of an application having a baseline version of a model for executing in a real-world context;

receiving, by a development environment for developing the application and from each instance of the application, interaction data from the application based on using the model to perform inferences during execution of the instance of the application;

training, by the development environment and based on the interaction data, the model to generate a trained version of the model for performing subsequent inferences during execution of the application; and

generating, by the development environment, an updated instance of the application including the trained version of the model.

2. The computer-implemented method of claim 1 , wherein the interaction data includes reward or punishment feedback for the inferences performed by the model during execution of the instance of the application.

3. The computer-implemented method of claim 2 , wherein training the model comprises training using reinforcement learning based on the reward or punishment feedback.

4. The computer-implemented method of claim 1 , further comprising deploying the updated instance of the application to at least a portion of the multiple separate devices or one or more other devices.

5. The computer-implemented method of claim 1 , further comprising deploying the trained version of the model to the application deployed on the multiple separate devices.

6. The computer-implemented method of claim 1 , wherein training the model includes updating the baseline version of the model in the application to the trained version of the model.

7. The computer-implemented method of claim 1 , further comprising:

instrumenting, by the development environment, existing code of the application with instructions to output data related to one or more inputs or outputs to generate an instrumented application;

executing the instrumented application on the multiple separate devices or one or more other devices; and

generating the baseline version of the model based at least in part on the data related to one or more inputs or outputs that is output by one or more instances of the instrumented application.

8. The computer-implemented method of claim 7 , wherein generating the baseline version of the model is based at least in part on detecting, by the development environment, instrumenting of the existing code.

9. The computer-implemented method of claim 1 , further comprising generating the baseline version of the model based at least in part on specifying randomized inputs and associated outputs.

10. The computer-implemented method of claim 9 , wherein generating the baseline version of the model is based at least in part on detecting, by the development environment, insertion of one or more machine learning-based features in the application.

11. A computing device for training a model, comprising:

a memory storing one or more parameters or instructions for developing an application; and

at least one processor coupled to the memory, wherein the at least one processor is configured to:

deploy, on multiple separate devices, an instance of an application having a baseline version of a model for executing in a real-world context;

receive, by a development environment for developing the application and from each instance of the application, interaction data from the application based on using the model to perform inferences during execution of the instance of the application;

train, by the development environment and based on the interaction data, the model to generate a trained version of the model for performing subsequent inferences during execution of the application; and

generate, by the development environment, an updated instance of the application including the trained version of the model.

12. The computing device of claim 11 , wherein the interaction data includes reward or punishment feedback for the inferences performed by the model during execution of the instance of the application.

13. The computing device of claim 12 , wherein the at least one processor is configured to train the model using reinforcement learning based on the reward or punishment feedback.

14. The computing device of claim 11 , wherein the at least one processor is further configured to deploy the updated instance of the application to at least a portion of the multiple separate devices or one or more other devices.

15. The computing device of claim 11 , wherein the at least one processor is further configured to deploy the trained version of the model to the application deployed on the multiple separate devices.

16. The computing device of claim 11 , wherein the at least one processor is configured to train the model at least in part by updating the baseline version of the model in the application to the trained version of the model.

17. The computing device of claim 11 , wherein the at least one processor is further configured to:

instrument, by the development environment, existing code of the application with instructions to output data related to one or more inputs or outputs to generate an instrumented application;

execute the instrumented application on the multiple separate devices or one or more other devices; and

generate the baseline version of the model based at least in part on the data related to one or more inputs or outputs that is output by one or more instances of the instrumented application.

18. The computing device of claim 11 , wherein the at least one processor is further configured to generate the baseline version of the model based at least in part on specifying randomized inputs and associated outputs.

19. A computer-readable medium, comprising code executable by one or more processors for training a model, the code comprising code for:

deploying, on multiple separate devices, an instance of an application having a baseline version of a model for executing in a real-world context;

receiving, by a development environment for developing the application and from each instance of the application, interaction data from the application based on using the model to perform inferences during execution of the instance of the application;

training, by the development environment and based on the interaction data, the model to generate a trained version of the model for performing subsequent inferences during execution of the application; and

generating, by the development environment, an updated instance of the application including the trained version of the model.

20. The computer-readable medium of claim 19 , wherein the interaction data includes reward or punishment feedback for the inferences performed by the model during execution of the instance of the application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 29, 2020
From: MAFFEI VALLIM, ROSANE MARIA; SCHAEFER, STUART HILLARY
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 051971/0681 →
Continuity (2)
Provisional Application 62795425 · Jan 22, 2019
Related Publication 20200234188A1 · Jul 23, 2020