IP Library Granted Patent US 11,822,913
Granted Patent B2
US 11,822,913 · App. 16/722,301 · Granted Nov 21, 2023

Dynamic artificial intelligence / machine learning model update, or retrain and update, in digital processes at runtime

Inventor: Andrei Robert Oros (Timisoara, RO)
Assignee: UiPath, Inc.
G06F8/65G06F8/71G06F18/214G06N20/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,822,913
App. No.
16/722,301
Granted
Nov 21, 2023
Kind
B2
Abstract

Dynamically updating, or retraining and updating, artificial intelligence (AI)/machine learning (ML) models in digital processes at runtime is disclosed. Production operation may not need to be stopped for AI/ML model update or retraining and update. The update steps and/or retraining steps for the AI/ML model may be included as part of the digital process. The AI/ML model update may be requested from internal logic (e.g., from the evaluation of a condition, by an that expression calls for the AI/ML model, etc.), external requests (e.g., from external triggers in a finite state machine (FSM), such as a file change, database data, a service call, etc.), or both. Automation of AI/ML model updates or retraining and updates may be provided, where the software reloads/reinitializes/re-instantiates with a retrained and/or updated AI/ML model after (and possibly immediately after) the AI/ML model becomes available.

Claims (83)

1. A computer-implemented method, comprising:

listening for an update request for an artificial intelligence (AI)/machine learning (ML) model, by a digital process executing on a computing system comprising a robotic process automation (RPA) workflow defining an execution order and a relationship between a set of activities including an activity that calls the AI/ML model is called by an expression of an activity of the set of activities; and

responsive to receiving the update request to update the AI/ML model, reinitializing or re-instantiating the digital process to call an updated version of the AI/ML model at runtime of the digital process by modifying the expression of the activity that calls the AI/ML model and listening for another update request, by the digital process executing on the computing system, wherein

the reinitializing of the digital process comprises resetting a state of one or more components of the digital process to an initial value, and

the re-instantiating of the digital process comprises creating the AI/ML model inside the digital process at runtime.

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

listening for a retraining request for the AI/ML model, by the digital process executing on the computing system; and

responsive to receiving the retraining request to retrain the AI/ML model, initiating retraining of the AI/ML model during runtime of the digital process, by the digital process executing on the computing system.

3. The computer-implemented method of claim 2 , wherein the retraining of the AI/ML model occurs on one or more other computing systems different than the computing system executing the digital process.

4. The computer-implemented method of claim 2 , further comprising:

using a current version of the AI/ML model during the retraining, by the digital process running on the computing system, until the update request is received.

5. The computer-implemented method of claim 2 , further comprising:

comparing performance of the retrained AI/ML model to a performance threshold, against performance of a previous version of the AI/ML model, or both, by the digital process executing on the computing system; and

updating the AI/ML model responsive to the retrained AI/ML model exceeding the performance threshold, the performance of the previous version of the AI/ML model, or both, by the digital process executing on the computing system.

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

automatically initiating retraining of the AI/ML model, by the digital process executing on the computing system, after a predetermined amount of training data is received, after a predetermined amount of time has elapsed since a last retraining, or both.

7. The computer-implemented method of claim 1 , wherein the digital process comprises a business process management (BPM) flowchart, a sequential flow, or a finite state machine (FSM).

8. The computer-implemented method of claim 1 , wherein the AI/ML model is embedded directly in the activity of the RPA workflow.

9. The computer-implemented method of claim 1 , wherein the digital process comprises an initialization state that loads the AI/ML model from storage or makes the AI/ML model callable by the digital process.

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

receiving a request to run the AI/ML model, by the digital process running on the computing system;

executing the AI/ML model, or causing the AI/ML model to be executed, by the digital process running on the computing system; and

returning results of the execution of the AI/ML model, by the digital process running on the computing system.

11. A computer program comprising a digital process and embodied on a non-transitory computer-readable medium, the program configured to cause at least one processor to:

listen for a retraining request or an update request for an artificial intelligence (AI)/machine learning (ML) model comprising a robotic process automation (RPA) workflow defining an execution order and a relationship between a set of activities including an activity that calls the AI/ML model is called by an expression of an activity of the set of activities;

responsive to receiving the retraining request to retrain the AI/ML model, initiate retraining of the AI/ML model at runtime of the digital process; and

responsive to receiving the update request to update the AI/ML model, reinitialize or re-instantiate the digital process at runtime of the digital process by modifying the expression of the activity that calls the AI/ML model to call an updated version of the AI/ML model and listen for another retraining request or update request, wherein

the reinitializing of the digital process comprises resetting a state of one or more components of the digital process to an initial value, and

the re-instantiating of the digital process comprises creating the AI/ML model inside the digital process at runtime.

12. The computer program of claim 11 , wherein the program is further configured to cause the at least one processor to:

use a current version of the AI/ML model during the retraining until the update request is received.

13. The computer program of claim 11 , wherein the program is further configured to cause the at least one processor to:

compare performance of the retrained AI/ML model to a performance threshold, against performance of a previous version of the AI/ML model, or both; and

update the AI/ML model responsive to the retrained AI/ML model exceeding the performance threshold, the performance of the previous version of the AI/ML model, or both.

14. The computer program of claim 11 , wherein the program is further configured to cause the at least one processor to:

automatically initiate retraining of the AI/ML model after a predetermined amount of training data is received, after a predetermined amount of time has elapsed since a last retraining, or both.

15. The computer program of claim 11 , wherein the program is further configured to cause the at least one processor to:

receive a request to run the AI/ML model;

execute the AI/ML model or cause the AI/ML model to be executed; and

return results of the execution of the AI/ML model.

16. The computer program of claim 11 , wherein the AI/ML model is embedded directly in the activity of the RPA workflow.

17. A computing system, comprising:

memory storing computer program instructions comprising a digital process; and

at least one processor configured to execute the computer program instructions, the instructions configured to cause the at least one processor to:

listen for a retraining request for an artificial intelligence (AI)/machine learning (ML) model comprising a robotic process automation (RPA) workflow defining an execution order and a relationship between a set of activities including an activity that calls the AI/ML model is called by an expression of an activity of the set of activities,

responsive to receiving the retraining request to retrain the AI/ML model, initiate retraining of the AI/ML model at runtime of the digital process,

listen for an update request for the AI/ML model, and

responsive to receiving the update request to update the AI/ML model, reinitialize or re-instantiate the digital process at runtime of the digital process by modifying the expression of the activity that calls the AI/ML model to call an updated version of the AI/ML model and listen for another update request, by the digital process executing on the computing system, wherein

the reinitializing of the digital process comprises resetting a state of one or more components of the digital process to an initial value, and

the re-instantiating of the digital process comprises creating the AI/ML model inside the digital process at runtime.

18. The computing system of claim 17 , wherein the program is further configured to cause the at least one processor to:

use a current version of the AI/ML model during the retraining until the update request is received.

19. The computing system of claim 17 , wherein the program is further configured to cause the at least one processor to:

compare performance of the retrained AI/ML model to a performance threshold, against performance of a previous version of the AI/ML model, or both; and

update the AI/ML model responsive to the retrained AI/ML model exceeding the performance threshold, the performance of the previous version of the AI/ML model, or both.

20. The computing system of claim 17 , wherein the program is further configured to cause the at least one processor to:

automatically initiate retraining of the AI/ML model after a predetermined amount of training data is received, after a predetermined amount of time has elapsed since a last retraining, or both.

21. The computing system of claim 17 , wherein the program is further configured to cause the at least one processor to:

receive a request to run the AI/ML model;

execute the AI/ML model or cause the AI/ML model to be executed; and

return results of the execution of the AI/ML model.

22. The computing system of claim 17 , wherein the AI/ML model is embedded directly in the activity of the RPA workflow.

23. A computer-implemented method for dynamic update, or retraining and update, of an artificial intelligence (AI)/machine learning (ML) model, comprising:

listening for an update request for the AI/ML model, by a robotic process automation (RPA) digital process executing on a computing system comprising a robotic process automation (RPA) workflow defining an execution order and a relationship between a set of activities including an activity that calls the AI/ML model is called by an expression of an activity of the set of activities; and

responsive to receiving the update request to update the AI/ML model, reinitializing or re-instantiating the RPA digital process at runtime of the digital process by modifying the expression of the activity that calls the AI/ML model to call an updated version of the AI/ML model and listening for another update request, by the RPA digital process executing on the computing system, wherein

the reinitializing of the digital process comprises resetting a state of one or more components of the digital process to an initial value, and

the re-instantiating of the digital process comprises creating the AI/ML model inside the digital process at runtime.

24. The computer-implemented method of claim 23 , further comprising:

listening for a retraining request for the AI/ML model, by the RPA digital process executing on the computing system; and

responsive to receiving the retraining request to retrain the AI/ML model, initiating retraining of the AI/ML model, by the RPA digital process executing on the computing system, wherein

the retraining of the AI/ML model occurs during runtime of the RPA digital process.

25. The computer-implemented method of claim 24 , further comprising:

using a current version of the AI/ML model during the retraining, by the RPA digital process running on the computing system, until the update request is received.

26. The computer-implemented method of claim 24 , further comprising:

comparing performance of the retrained AI/ML model to a performance threshold, against performance of a previous version of the AI/ML model, or both, by the RPA digital process executing on the computing system; and

updating the AI/ML model responsive to the retrained AI/ML model exceeding the performance threshold, the performance of the previous version of the AI/ML model, or both, by the RPA digital process executing on the computing system.

27. The computer-implemented method of claim 23 , further comprising:

automatically initiating retraining of the AI/ML model, by the RPA digital process executing on the computing system, after a predetermined amount of training data is received, after a predetermined amount of time has elapsed since a last retraining, or both.

28. The computer-implemented method of claim 23 , further comprising:

receiving a request to run the AI/ML model, by the RPA digital process running on the computing system;

executing the AI/ML model, or causing the AI/ML model to be executed, by the RPA digital process running on the computing system; and

returning results of the execution of the AI/ML model, by the RPA digital process running on the computing system.

29. The computer-implemented method of claim 23 , wherein the AI/ML model is embedded directly in the activity of the RPA workflow.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2019
From: OROS, ANDREI ROBERT
To: UIPATH, INC.
Reel/Frame 051342/0144 →
Continuity (1)
Related Publication 20200134374A1 · Apr 30, 2020
Cited By (1)
US 12,518,213