Dynamically selecting artificial intelligence models and hardware environments to execute tasks
The present disclosure relates to systems, non-transitory computer-readable media, and methods for selecting machine-learning models and hardware environments for executing a task. In particular, in one or more embodiments, the disclosed systems select a designated machine-learning model for executing a task based on workload features of the task and task routing metrics for a plurality of machine-learning models. In addition, in one or more embodiments, the disclosed systems select a designated hardware environment for executing the task based on workload features for the task and task routing metrics for a plurality of hardware environments. In some embodiments, the disclosed systems select a fallback machine-learning model and a fallback hardware environment for executing the task if the designated machine-learning model or designated hardware environment are unavailable. Moreover, in one or more embodiments, the disclosed systems can pause and initiate tasks based on bandwidth availability.
1 . A computer-implemented method comprising:
receiving, from a device connected by a network to a content management system, workload data requesting execution of a task using a machine-learning model;
extracting, from the workload data, workload features defining estimated computational requirements for executing the task;
determining task routing metrics indicating an availability status for a plurality of machine-learning models hosted in respective network environments;
generating a software domain analysis by analyzing the plurality of machine-learning models to identify a plurality of common features and a plurality of variable features for machine-learning models of the plurality of machine-learning models;
generating an optimization metric for each machine-learning model of the plurality of machine-learning models based on a combination of the workload features for the task, the software domain analysis, and the task routing metrics; and
selecting, utilizing a model selection machine-learning model, a designated machine-learning model from the plurality of machine-learning models for executing the task based on a given optimization metric for the designated machine-learning model.
2 . The computer-implemented method of claim 1 , wherein determining task routing metrics indicating the availability status for the plurality of machine-learning models further comprises:
determining a model state for each machine-learning model of the plurality of machine-learning models; and
wherein selecting the designated machine-learning model for executing the task is based in part on the model state of the designated machine-learning model.
3 . The computer-implemented method of claim 1 , wherein determining task routing metrics for the plurality of machine-learning models further comprises:
determining a financial cost metric, an execution time metric, an execution cost metric, or a model fit metric for executing the task on each machine-learning models of the plurality of machine-learning models; and
wherein selecting the designated machine-learning model is based on two or more of the financial cost metric, the execution time metric, the execution cost metric, and the model fit metric.
4 . The computer-implemented method of claim 1 , wherein selecting the designated machine-learning model further comprises:
analyzing the workload data and the task routing metrics for the plurality of machine-learning models to determine an optimal machine-learning model for executing the task from the plurality of machine-learning models; and
selecting the designated machine-learning model for executing the task based on determining that the designated machine-learning model is the optimal machine-learning model for executing the task.
5 . The computer-implemented method of claim 4 , wherein determining that the designated machine-learning model is the optimal machine-learning model further comprises:
generating, utilizing the model selection machine-learning model, the optimization metric for each machine-learning model of the plurality of machine-learning models; and
determining that the designated machine-learning model is the optimal machine-learning model for executing the task based on comparing the optimization metric of each machine learning model of the plurality of machine-learning models.
6 . The computer-implemented method of claim 1 , further comprising: selecting, utilizing the model selection machine-learning model, a designated data storage for the task.
7 . The computer-implemented method of claim 1 , wherein extracting workload features defining estimated computational requirements for executing the task further comprises determining an estimated processing requirement and an estimated storage requirement for executing the task.
8 . The computer-implemented method of claim 1 , further comprising:
adding an additional machine-learning model to the plurality of machine-learning models to establish an updated plurality of machine-learning models; and
selecting the designated machine-learning model from the updated plurality of machine-learning models.
9 . The computer-implemented method of claim 1 , further comprising:
accessing user feedback metrics about executing tasks using one or more machine-learning models of the plurality of machine-learning models;
generating a historical quality metric based on the user feedback metrics; and
selecting the designated machine-learning model for the task based on the historical quality metric.
10 . The computer-implemented method of claim 1 , wherein determining task routing metrics for the plurality of machine-learning models further comprises:
identifying a capability or a specialty associated with one or more machine-learning models of the plurality of machine-learning models; and
wherein selecting the designated machine-learning model for executing the task is based on alignment of the capability or the specialty of the designated machine-learning model with the task.
11 . A non-transitory computer-readable medium storing instructions that, when executed by at least one processor, cause a computer system to:
receive, from a device connected by a network to a content management system, workload data requesting execution of a task using a machine-learning model;
extract, from the workload data, workload features defining estimated computational requirements for executing the task;
determine task routing metrics indicating an availability status for a plurality of machine-learning models comprising one or more trained machine-learning models and one or more third-party machine-learning models hosted in respective network environments;
generate a software domain analysis by analyzing the plurality of machine-learning models to identify a plurality of common features and a plurality of variable features for machine-learning models of the plurality of machine-learning models;
generate an optimization metric for each machine-learning model of the plurality of machine-learning models based on a combination of the workload features for the task, the software domain analysis, and the task routing metrics; and
select, utilizing a model selection machine-learning model, a designated machine-learning model from the plurality of machine-learning models for executing the task based on a given optimization metric for the designated machine-learning model.
12 . The non-transitory computer-readable medium of claim 11 , further comprising instructions that, when executed by the at least one processor, cause the computer system to:
identify, based on an updated availability status for the designated machine-learning model, that the designated machine-learning model is unavailable; and
select a fallback machine-learning model from the plurality of machine-learning models for executing the task.
13 . The non-transitory computer-readable medium of claim 11 , further comprising instructions that, when executed by the at least one processor, cause the computer system to select the designated machine-learning model by:
determining, based on the task routing metrics, a financial cost metric for executing the task on each machine-learning model of the plurality of machine-learning models; and
selecting the designated machine-learning model based in part on the financial cost metric.
14 . The non-transitory computer-readable medium of claim 11 , further comprising instructions that, when executed by the at least one processor, cause the computer system to:
determine, based on the workload data and the task routing metrics, that a trained machine-learning model of the one or more trained machine-learning models is an optimal model for executing the task;
identify that the trained machine-learning model is unavailable; and
select the designated machine-learning model from the one or more third-party machine-learning models based on identifying that the trained machine-learning model is unavailable.
15 . The non-transitory computer-readable medium of claim 11 , further comprising instructions that, when executed by the at least one processor, cause the computer system to select the designated machine-learning model by:
identifying, based on the workload data, that executing the task requires a machine-learning model comprising a capability or a specialty;
identifying that a third-party machine-learning model of the one or more third-party machine-learning models comprises the capability or the specialty; and
selecting the third-party machine-learning model as the designated machine-learning model for executing the task based on alignment of the capability or the specialty of the third-party machine-learning model with the task.
16 . A system comprising:
at least one processor; and
at least one non-transitory computer-readable storage medium storing instructions that, when executed by the at least one processor, cause the system to:
receive, from a device connected by a network to a content management system, workload data requesting execution of a task using a machine-learning model;
extract, from the workload data, workload features defining estimated computational requirements for executing the task;
determine task routing metrics indicating an availability status for a plurality of machine-learning models hosted in respective network environments;
generate a software domain analysis by analyzing the plurality of machine-learning models to identify a plurality of common features and a plurality of variable features for machine-learning models of the plurality of machine-learning models;
generate an optimization metric for each machine-learning model of the plurality of machine-learning models based on a combination of the workload features for the task, the software domain analysis, and the task routing metrics; and
select, utilizing a model selection machine-learning model, a designated machine-learning model from the plurality of machine-learning models for executing the task based on a given optimization metric for the designated machine-learning model.
17 . The system of claim 16 , further comprising instructions that, when executed by the at least one processor, cause the system to select the designated machine-learning model by:
utilizing the model selection machine-learning model to compare one or more machine-learning models of the plurality of machine-learning models based on the workload features and the task routing metrics, where the plurality of machine-learning models comprises one or more trained machine-learning models and one or more third-party trained machine-learning models; and
selecting the designated machine-learning model from the plurality of machine-learning models based on an output of the model selection machine-learning model.
18 . The system of claim 16 , further comprising instructions that, when executed by the at least one processor, cause the system to:
receive user feedback data indicating a user satisfaction with performance of the designated machine-learning model; and
update parameters of the model selection machine-learning model based on the user feedback data.
19 . The system of claim 16 , further comprising instructions that, when executed by the at least one processor, cause the system to:
receive additional task routing metrics indicating an additional availability status for an additional machine-learning model; and
update parameters of the model selection machine-learning model based on the additional task routing metrics of the additional machine-learning model.
20 . The system of claim 16 , further comprising instructions that, when executed by the at least one processor, cause the system to:
generate, utilizing the model selection machine-learning model, the optimization metric for each machine-learning model of the plurality of machine-learning models; and
determine that the designated machine-learning model is an optimal machine-learning model for executing the task based on comparing the optimization metric for each machine-learning model of the plurality of machine-learning models.