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-modified1 .- 20 . (canceled)
21 . A computing device, comprising:
one or more processors; and one or more non-transitory computer-readable media that store:
a plurality of applications implemented by the one or more processors;
a centralized example database that stores training examples received from the applications;
a machine-learned model operable to provide inferences to the plurality of applications, 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 a first training example from a first application of the plurality of applications via a collection application programming interface;
storing the first training example in the centralized example database for use in training the machine-learned model such that the first training example is not accessible to the other applications of the plurality of applications;
receiving input data from a second application of the plurality of applications via a prediction application programming interface;
employing at least the machine-learned model to generate at least one inference based at least in part on the input data; and
providing the at least one inference generated by the machine-learned model to the second application via the prediction application programming interface.
22 . The computing device of claim 21 , wherein the operations further comprise:
receiving an instruction from the first application via a training application programming interface to re-train the machine-learned model based at least in part on one or more training examples stored by the centralized example database; and in response to the instruction, causing the machine-learned model to be re-trained based at least in part on the first training example.
23 . The computing device of claim 21 , wherein the operations further comprise:
prior to storing the first training example, determining one or more context features descriptive of a context associated with the computing device; wherein storing the first training example comprises storing the first training example together with the one or more context features in the centralized example database.
24 . The computing device of claim 23 , wherein the operations further comprise:
prior to storing the first training example, determining a permission status for the first application relative to each of one or more context types, wherein the permission status for the first application and each context type is descriptive of whether the first application has permission to access such context type; wherein storing the first training example together with the one or more context features comprises storing first training example together with only context features that are included in context types that the first application has permission to access.
25 . The computing device of claim 23 , wherein the operations further comprise:
registering as a listener to one or more context updates; and maintaining a context feature cache of context features based on the one or more context updates; wherein determining the one or more context features descriptive of the context associated with the computing device comprises accessing the one or more context features from the context feature cache.
26 . The computing device of claim 23 , wherein the centralized example database is not directly accessible by the one or more applications, such that the one or more context features are not accessible to the first application.
27 . The computing device of claim 23 , wherein:
storing the new training example together with the one or more context features in the centralized example database comprises assigning an expiration period to at least a first context feature of the one or more context features; and the operations further comprise deleting the first context feature or the entire new training example from the centralized example database at a conclusion of the expiration period assigned to the first context feature.
28 . The computing device of claim 23 , wherein the operations further comprise:
receiving an indication of a change to a permission status for the first application relative to at least one context type; and in response to the change to the permission status, deleting from the centralized example database any context features of the at least one context type that are associated with training examples associated with the first application.
29 . The computing device of claim 28 , wherein the operations further comprise, after deleting the context features, re-training one or more machine-learned models associated with the first application using the training examples associated with the first application in the centralized example database.
30 . A computer-implemented method, the method comprising:
receiving, by a computing device via a collection application programming interface, a first training example from a first application of a plurality of applications stored by the computing device; storing, by the computing device, the first training example in a centralized example database of the computing device that contains training examples received from the plurality of applications for use in training a machine-learned model stored by the computing device such that the first training example is not accessible to the other applications of the one or more applications, wherein the machine-learned model is operable to provide inferences to the plurality of applications; receiving, by the computing device via a prediction application programming interface, input data from a second application of the plurality of applications; employing, by the computing device, the machine-learned model to generate at least one inference based at least in part on the input data; and providing, by the computing device via the prediction application programming interface, the at least one inference generated by the machine-learned model to the second application.
31 . The computer-implemented method of claim 30 , further comprising:
prior to storing the first training example, determining one or more context features descriptive of a context associated with the computing device; and wherein storing the first training example comprises storing the first training example together with the one or more context features in the centralized example database.
32 . The computer-implemented method of claim 31 , further comprising:
registering as a listener to one or more context updates; and maintaining a context feature cache of context features based on the one or more context updates; wherein determining the one or more context features descriptive of the context associated with the computing device comprises accessing the one or more context features from the context feature cache.
33 . The computer-implemented method of claim 31 , further comprising:
prior to storing the first training example, determining, by the computing device, a permission status for the first application relative to each of one or more context types, wherein the permission status for the first application and each context type is descriptive of whether the first application has permission to access such context type; wherein storing, by the computing device, the first training example together with the one or more context features comprises storing, by the computing device, the first training example together with only context features that are included in context types that first application has permission to access.
34 . The computer-implemented method of claim 33 , further comprising:
receiving an indication of a change to a permission status for the first application relative to at least one context type; and in response to the change to the permission status, deleting from the centralized example database any context features of the at least one context type that are associated with training examples associated with the first application.
35 . The computer-implemented method of claim 30 , further comprising:
receiving, by the computing device via a training application programming interface, an instruction from the first application to re-train the machine-learned model based at least in part on one or more training examples included in the centralized example database; and in response to the instruction, causing, by the computing device, the machine-learned model to be re-trained based at least in part on the first training example.
36 . One or more non-transitory computer-readable media that collectively store instructions that, when executed by a computing device, cause the computing device to perform operations, the operations comprising:
receiving, by the computing device via a collection application programming interface, a first training example from a first application of a plurality of applications stored by the computing device; storing, by the computing device, the first training example in a centralized example database of the computing device that contains training examples received from the plurality of applications for use in training a machine-learned model stored by the computing device such that the first training example is not accessible to the other applications of the one or more applications, wherein the machine-learned model is operable to provide inferences to the plurality of applications; receiving, by the computing device via a prediction application programming interface, input data from a second application of the plurality of applications; employing, by the computing device, the machine-learned model to generate at least one inference based at least in part on the input data; and providing, by the computing device via the prediction application programming interface, the at least one inference generated by the machine-learned model to the second application.
37 . The one or more non-transitory computer-readable media of claim 36 , wherein the operations further comprise:
prior to storing the first training example, determining one or more context features descriptive of a context associated with the computing device; and wherein storing the first training example comprises storing the first training example together with the one or more context features in the centralized example database.
38 . The one or more non-transitory computer-readable media of claim 37 , wherein the operations further comprise:
registering as a listener to one or more context updates; and maintaining a context feature cache of context features based on the one or more context updates; wherein determining the one or more context features descriptive of the context associated with the computing device comprises accessing the one or more context features from the context feature cache.
39 . The one or more non-transitory computer-readable media of claim 37 , wherein the operations further comprise:
prior to storing the first training example, determining, by the computing device, a permission status for the first application relative to each of one or more context types, wherein the permission status for the first application and each context type is descriptive of whether the first application has permission to access such context type; wherein storing, by the computing device, the first training example together with the one or more context features comprises storing, by the computing device, the first training example together with only context features that are included in context types that first application has permission to access.
40 . The one or more non-transitory computer-readable media of claim 39 , wherein the operations further comprise:
receiving an indication of a change to a permission status for the first application relative to at least one context type; and in response to the change to the permission status, deleting from the centralized example database any context features of the at least one context type that are associated with training examples associated with the first application.Join the waitlist — get patent alerts
Track US2022004929A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.