On-Device Machine Learning Platform to Enable Sharing of Machine-Learned Models Between Applications
AssigneeGoogle Inc.
InventorsSandro Feuz, Victor Carbune
Life of this patent
Estimating the term…
Abstract
The present disclosure provides an on-device machine learning platform that enables sharing of machine-learned models between applications on a computing device. For example, a first application which has a machine-learned model for a specific task can expose the model to other applications through a system level application programming interface (API) for the other applications to use. Communications using the API can be handled by the on-device machine learning platform. In some implementations, some exchange of resources (e.g., computing resources) can be provided so that the first application is compensated for sharing the machine-learned model (e.g., on a per model invocation basis).
Claims22
A computing device, comprising:
- one or more processors;
- and
- one or more non-transitory computer-readable media that store:
- a first application implemented by the one or more processors, wherein the first application comprises a first machine-learned model;
- a second application implemented by the one or more processors;
- and
- instructions that, when executed by the one or more processors, cause the computing device to implement an on-device machine learning platform that performs operations, the operations comprising:
- receiving input data from the second application via an application programming interface;
- providing the input data to the first application via the application programming interface;
- receiving via the application programming interface at least one inference generated by the first machine-learned model based at least in part on the input data;
- and
- providing the at least one inference generated by the first machine-learned model to the second application via the application programming interface.
A non-transitory computer-readable medium that stores instructions that, when executed by one or more processors, cause the one or more processors to perform operations, the operations comprising:
- receiving input data from a client application via an application programming interface;
- providing the input data to a provider application via the application programming interface, wherein the provider application comprises a machine-learned model;
- receiving via the application programming interface at least one inference generated by the machine-learned model based at least in part on the input data;
- and
- providing the at least one inference generated by the machine-learned model to the client application via the application programming interface.
A computer-implemented method comprising:
- storing, on a memory of a computing device, a first application, the first application comprising a first machine-learned model;
- storing, on the memory of the computing device, a second application,
- providing, by the computing device, an application programming interface for the first machine-learned model of the first application, and
- responsive to receiving, via the application programming interface, a request from the second application for execution of the first machine-learned model of the first application, the request comprising input data:
- providing the input data to the first machine-learned model of the first application;
- and
- providing the second application with at least one output generated by the first machine-learned model of the first application based at least in part on the input data.
Dependencies are inferred from the claim text.