US12282869B2ActiveUtilityA1

On-device machine learning platform

72
Assignee: GOOGLE LLCPriority: Aug 11, 2017Filed: Jul 27, 2022Granted: Apr 22, 2025
Est. expiryAug 11, 2037(~11.1 yrs left)· nominal 20-yr term from priority
G06F 21/62G06F 21/629G06N 20/00G06N 5/048
72
PatentIndex Score
0
Cited by
51
References
35
Claims

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-modified
What 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.