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 mobile application that includes a first machine-learned model;
- a second application implemented by the one or more processors, wherein the second application comprises a second mobile application;
- 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:
- registering the first machine-learned model of the first application with an application programming interface;
- exposing the machine-learned model of the first application to the second application by the application programming interface;
- receiving input data from the second application via the 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, wherein the at least one inference has been generated by the first application by processing the input data with the first machine-learned model;
- providing the at least one inference generated by the first machine-learned model of the first application to the second application via the application programming interface;
- and
- providing an exchange of resources comprising at least one of processing resources, memory resources and bandwidth resources from the second application to the first application in exchange for the at least one inference.
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:
- registering a machine-learned model of a provider application with an application programming interface, wherein the provider application is a first mobile application;
- exposing the machine-learned model to a client application by the application programming interface, wherein the client application is a second mobile application;
- receiving input data from the client application via the application programming interface;
- providing the input data to the provider application via the application programming interface;
- receiving via the application programming interface at least one inference, wherein the at least one inference has been generated by the client application by processing the input data with the machine-learned model;
- providing the at least one inference generated by the machine-learned model of the provider application to the client application via the application programming interface;
- and
- providing an exchange of resources comprising at least one of processing resources, memory resources and bandwidth resources from the client application to the provider application in exchange for the at least one inference;
- wherein the client application and the provider application are implemented on a same mobile computing device.
A computer-implemented method comprising:
- storing, on a memory of a computing device, a first application, the first application comprising a first mobile application that includes first machine-learned model;
- storing, on the memory of the computing device, a second application, wherein the second application comprises a second mobile 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 application by processing the input data with the first machine-learned model;
- wherein providing the application programming interface for the first machine-learned model of the first application comprises:
- registering the first machine-learned model with the application programming interface;
- exposing the machine-learned model to the second application by the application programming interface;
- and
- providing an exchange of resources comprising at least one of processing resources, memory resources and bandwidth resources from the second application to the first application in exchange for the at least one inference.
Dependencies are inferred from the claim text.