Generally, the present disclosure is directed to an API for ranking and automatic selection from competing machine learning models that can perform a particular task. In particular, in some implementations, the systems and methods of the present disclosure can include or otherwise leverage one or more machine-learned models to provide to a software application one or more machine learning models from different providers. The trained models are suited to a task or data type specified by the developer. The one or more models are selected from a registry of machine learning models, their task specialties, cost, and performance, such that the application specified cost and performance requirements are met.

An application processor interface (API) maintains a registry of various machine learning models, their task specialties, costs and/or performances. A third-party developer can make a call to the API to select one or more machine learning models. The API call includes specification of the task and/or data to be analyzed using the machine learning models. The API can utilize machine learning model that ranks the available machine learning models to perform selection of the machine learning model. The availability of such an API eliminates the need for app developers to develop their own models, and can enable app developers that do not have the resources and/or expertise to develop their own models to utilize pre-trained models available from providers to perform tasks within their apps. The API can be provided as part of an operating system, as a cloud-based API, or as functionality of machine-learning hardware, e.g., processors.

Creative Commons License

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.