On-device machine learning platform
Abstract
The present disclosure provides systems and methods for on-device machine learning. In particular, the present disclosure is directed to an on-device machine learning platform and associated techniques that enable on-device prediction, training, example collection, and/or other machine learning tasks or functionality. The on-device machine learning platform can include a context provider that securely injects context features into collected training examples and/or client-provided input data used to generate predictions/inferences. Thus, the on-device machine learning platform can enable centralized training example collection, model training, and usage of machine-learned models as a service to applications or other clients.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A computing system for implementing an on-device machine learning platform, comprising:
one or more processors; and
one or more non-transitory computer-readable media that store instructions that are executable to cause the computing system to perform operations, the operations comprising:
determining, using a context provider that performs client permission control, a mapping that indicates a respective permission status of a client relative to respective context data, wherein the mapping comprises a first permission status of the client relative to first context data, wherein the first permission status indicates that the client has permission to obtain inferences from the on-device machine-learning platform that are based on the first context data;
receiving, from a client via an application programming interface (API), an API call that requests for an inference to be generated using a machine-learned model executed by the on-device machine learning platform on the basis of input data received from the client and according to one or more configuration options specified by the client, wherein a configuration option identifies the first context data to be used to generate the inference;
determining, based on the mapping, that the client has permission to obtain inferences from the on-device machine-learning platform that are based on the first context data;
obtaining the first context data, wherein the first context data is not provided to the client;
based on determining that the client has access to the first context data, generating, using the machine-learned model, at least one inference based on the input data and the first context data; and
providing, using the API, the at least one inference to the client.
2. The computing system of claim 1 , wherein the client is an application executed on-device.
3. The computing system in claim 1 , wherein:
the mapping comprises a second permission status of a second client relative to the first context data, wherein the second permission status indicates that the second client does not have permission to obtain inferences from the on-device machine-learning platform that are based on the first context data; and
the operations comprise:
receiving, from the second client via the API, a second API call that requests for a second inference to be generated, using the machine-learned model, on the basis of second input data received from the second client and according to one or more second configuration options specified by the second client, wherein a second configuration option identifies the first context data to be used to generate the inference;
determining, based on the mapping, that the second client does not have permission to obtain inferences from the on-device machine-learning platform that are based on the first context data;
based on determining that the client does not have access to the first context data, generating, using the machine-learned model, at least one second inference based on the input data and not the first context data; and
providing, using the API, the at least one second inference to the second client.
4. The computing system of claim 3 , wherein the at least one inference has a higher accuracy than the at least one second inference.
5. The computing system of claim 1 , wherein the operations comprise:
updating one or more parameters of the machine-learned model based on an evaluation of the at least one inference.
6. The computing system of claim 5 , wherein the operations comprise:
re-training the machine-learned model responsive to a change in permission status for the client relative to the first context data the first context data, wherein the re-training comprises:
generating a new inference based on the input data received from the client and not based on the first context data;
evaluating the new inference; and
updating one or more parameters of the machine-learned model based on an evaluation of the at least one inference.
7. The computing system of claim 1 , wherein the operations comprise:
processing, using the machine-learned model, the first context data alongside the input data received from the client.
8. The computing system of claim 1 , wherein the first context data comprises data describing:
audio state, network state, power connection, calendar features, place alias, location, location forecast, weather, or screen features.
9. The computing system of claim 1 , wherein the on-device machine-learning platform is part of an operating system of the device on which the on-device machine-learning platform operates.
10. The computing system of claim 1 , wherein the API call invokes a particular machine-learned model by specifying an identifier of the particular machine-learned model.
11. The computing system of claim 10 , wherein the identifier comprises a URI that points to a model repository for downloading model parameters to the device.
12. The computing system of claim 10 , wherein the client performs the API call by executing a method on a predictor object using the one or more configuration options, wherein the predictor object comprises one or more attributes identifying:
the first context data; and
an identifier of the particular machine-learned model.
13. The computing system of claim 1 , wherein the API call invokes a particular set of trained parameters for the machine-learned model by specifying an identifier of the particular set of trained parameters.
14. The computing system of claim 13 , wherein the particular set of trained parameters are personalized parameters that have been learned to personalize a performance of the machine-learned model.
15. The computing system of claim 1 , wherein the context provider receives current context data using a listener that monitors context signals for current context updates, wherein the current context data is cached for use by the on-device machine-learning platform.
16. The computing system of claim 15 , wherein the operations comprise:
caching the current context data for use by the on-device machine-learning platform by:
transforming the current context data into a format adapted for input to the machine-learned model; and
caching the transformed current context data.
17. The computing system of claim 15 , wherein the operations comprise:
determining that particular context data associated with the cached context data has been deleted from a user account; and
clearing the cached context data.
18. One or more non-transitory computer-readable media that store instructions that are executable to cause a computing system to perform operations for implementing an on-device machine learning platform, the operations comprising:
determining, using a context provider that performs client permission control, a mapping that indicates a respective permission status of a client relative to respective context data, wherein the mapping comprises a first permission status of the client relative to first context data, wherein the first permission status indicates that the client has permission to obtain inferences from the on-device machine-learning platform that are based on the first context data;
receiving, from a client via an application programming interface (API), an API call that requests for an inference to be generated using a machine-learned model executed by the on-device machine learning platform on the basis of input data received from the client and according to one or more configuration options specified by the client, wherein a configuration option identifies the first context data to be used to generate the inference;
determining, based on the mapping, that the client has permission to obtain inferences from the on-device machine-learning platform that are based on the first context data;
obtaining the first context data, wherein the first context data is not provided to the client;
based on determining that the client has access to the first context data, generating, using the machine-learned model, at least one inference based on the input data and the first context data; and
providing, using the API, the at least one inference to the client.
19. The one or more non-transitory computer-readable media of claim 18 , wherein the client is an application executed on-device.
20. The one or more non-transitory computer-readable media in claim 18 , wherein:
the mapping comprises a second permission status of a second client relative to the first context data, wherein the second permission status indicates that the second client does not have permission to obtain inferences from the on-device machine-learning platform that are based on the first context data; and
the operations comprise:
receiving, from the second client via the API, a second API call that requests for a second inference to be generated, using the machine-learned model, on the basis of second input data received from the second client and according to one or more second configuration options specified by the second client, wherein a second configuration option identifies the first context data to be used to generate the inference;
determining, based on the mapping, that the second client does not have permission to obtain inferences from the on-device machine-learning platform that are based on the first context data;
based on determining that the client does not have access to the first context data, generating, using the machine-learned model, at least one second inference based on the input data and not the first context data; and
providing, using the API, the at least one second inference to the second client.
21. The one or more non-transitory computer-readable media of claim 20 , wherein the at least one inference has a higher accuracy than the at least one second inference.
22. The one or more non-transitory computer-readable media of claim 18 , wherein the operations comprise:
updating one or more parameters of the machine-learned model based on an evaluation of the at least one inference.
23. The one or more non-transitory computer-readable media of claim 22 , wherein the operations comprise:
re-training the machine-learned model responsive to a change in permission status for the client relative to the first context data the first context data, wherein the re-training comprises:
generating a new inference based on the input data received from the client and not based on the first context data;
evaluating the new inference; and
updating one or more parameters of the machine-learned model based on an evaluation of the at least one inference.
24. The one or more non-transitory computer-readable media of claim 18 , wherein the operations comprise:
processing, using the machine-learned model, the first context data alongside the input data received from the client.
25. The one or more non-transitory computer-readable media of claim 18 , wherein the first context data comprises data describing:
audio state, network state, power connection, calendar features, place alias, location, location forecast, weather, or screen features.
26. The one or more non-transitory computer-readable media of claim 18 , wherein the on-device machine-learning platform is part of an operating system of the device on which the on-device machine-learning platform operates.
27. The one or more non-transitory computer-readable media of claim 18 , wherein the API call invokes a particular machine-learned model by specifying an identifier of the particular machine-learned model.
28. The one or more non-transitory computer-readable media of claim 27 , wherein the identifier comprises a URI that points to a model repository for downloading model parameters to the device.
29. The one or more non-transitory computer-readable media of claim 27 , wherein the client performs the API call by executing a method on a predictor object using the one or more configuration options, wherein the predictor object comprises one or more attributes identifying:
the first context data; and
an identifier of the particular machine-learned model.
30. The one or more non-transitory computer-readable media of claim 18 , wherein the API call invokes a particular set of trained parameters for the machine-learned model by specifying an identifier of the particular set of trained parameters.
31. The one or more non-transitory computer-readable media of claim 30 , wherein the particular set of trained parameters are personalized parameters that have been learned to personalize a performance of the machine-learned model.
32. The one or more non-transitory computer-readable media of claim 18 , wherein the context provider receives current context data using a listener that monitors context signals for current context updates, wherein the current context data is cached for use by the on-device machine-learning platform.
33. The one or more non-transitory computer-readable media of claim 32 , wherein the operations comprise:
caching the current context data for use by the on-device machine-learning platform by:
transforming the current context data into a format adapted for input to the machine-learned model; and
caching the transformed current context data.
34. The one or more non-transitory computer-readable media of claim 32 , wherein the operations comprise:
determining that particular context data associated with the cached context data has been deleted from a user account; and
clearing the cached context data.
35. A computer-implemented method for implementing an on-device machine learning platform, the method comprising:
determining, using a context provider that performs client permission control, a mapping that indicates a respective permission status of a client relative to respective context data, wherein the mapping comprises a first permission status of the client relative to first context data, wherein the first permission status indicates that the client has permission to obtain inferences from the on-device machine-learning platform that are based on the first context data;
receiving, from a client via an application programming interface (API), an API call that requests for an inference to be generated using a machine-learned model executed by the on-device machine learning platform on the basis of input data received from the client and according to one or more configuration options specified by the client, wherein a configuration option identifies the first context data to be used to generate the inference;
determining, based on the mapping, that the client has permission to obtain inferences from the on-device machine-learning platform that are based on the first context data;
obtaining the first context data, wherein the first context data is not provided to the client;
based on determining that the client has access to the first context data, generating, using the machine-learned model, at least one inference based on the input data and the first context data; and
providing, using the API, the at least one inference to the client.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.