Application Development Platform and Software Development Kits that Provide Comprehensive Machine Learning Services
Abstract
The present disclosure provides an application development platform and associated software development kits (“SDKs”) that provide comprehensive services for generation, deployment, and management of machine-learned models used by computer applications such as, for example, mobile applications executed by a mobile computing device. In particular, the application development platform and SDKs can provide or otherwise leverage a unified, cross-platform application programming interface (“API”) that enables access to all of the different machine learning services needed for full machine learning functionality within the application. In such fashion, developers can have access to a single SDK for all machine learning services.
Claims
exact text as granted — not AI-modified1 .- 23 . (canceled)
24 . A computing system comprising:
one or more processors; one or more non-transitory computer readable media that collectively store instructions that, when executed by the one or more processors, cause the computing system to perform operations, the operations comprising:
obtaining a pre-trained machine-learned model;
generating a compact model; and
jointly training the compact model and the pre-trained machine-learned model on a set of training data, wherein the compact model has a smaller model size relative to the pre-trained machine-learned model, wherein jointly training comprises:
determining one or more particular weights of the compact model that are low-scoring weights; and
removing the one or more particular weights of the compact model.
25 . The computing system of claim 24 , wherein low-scoring weights comprise weights that are least useful for a particular prediction.
26 . The computing system of claim 24 , wherein jointly training further comprises: reducing a number of bits used for one or more model weights and one or more activations.
27 . The computing system of claim 24 , wherein the compact model is trained to be a mobile-optimized version of the pre-trained machine-learned model.
28 . The computing system of claim 24 , wherein jointly training further comprises:
generating a graph of the pre-trained machine-learned model; and generating a lightweight machine-learning graph for the compact model based on the graph of the pre-trained machine-learned model.
29 . The computing system of claim 24 , wherein the compact model comprises a projection network, wherein the projection network leverages random projections to transform intermediate representations into bit.
30 . The computing system of claim 24 , wherein the compact model infers using one or more projections generated based on locality sensitive hashing.
31 . The computing system of claim 24 , wherein the operations further comprise:
obtaining one or more user selections associated with a user; and generating a training pipeline comprising one or more user-created schema based on the one or more user selections.
32 . The computing system of claim 31 , wherein jointly training comprises:
validating the one or more user-created schema of a training pipeline; and training the compact model and the pre-trained machine-learned model based at least in part on the user-created schema.
33 . The computing system of claim 24 , wherein determining the one or more particular weights of the compact model that are low-scoring weights comprises: evaluating a plurality of weights of at least one of the compact model or the pre-trained machine-learned model to generate a plurality of scores associated with the plurality of weights.
34 . The computing system of claim 33 , wherein removing the one or more particular weights of the compact model comprises: reducing a number of weights of the compact model based on the plurality of scores.
35 . A computer-implemented method, the method comprising:
obtaining, by a computing system comprising one or more processors, a pre-trained machine-learned model; generating, by the computing system, a compact model; and jointly training, by the computing system, the compact model and the pre-trained machine-learned model on a set of training data, wherein the compact model has a smaller model size relative to the pre-trained machine-learned model, wherein jointly training comprises:
evaluating, by the computing system, a plurality of weights of at least one of the compact model or the pre-trained machine-learned model to generate a plurality of scores associated with the plurality of weights; and
reducing, by the computing system, a number of weights of the compact model based on the plurality of scores.
36 . The method of claim 35 , further comprising:
processing, by the computing system, the compact model to convert the compact model for a mobile computing system.
37 . The method of claim 35 , further comprising:
storing, by the computing system, the compact model in model storage database, wherein the model storage database comprises cloud storage.
38 . The method of claim 35 , further comprising:
obtaining a training pipeline, wherein the training pipeline comprises instructions to start training in a wrapper code.
39 . The method of claim 35 , wherein jointly training comprises a set number of training loops based on one or more inputs from a user.
40 . One or more non-transitory computer-readable media that collectively store instructions that, when executed by one or more computing devices, cause the one or more computing devices to perform operations, the operations comprising:
obtaining a pre-trained machine-learned model; generating a compact model; and jointly training the compact model and the pre-trained machine-learned model on a set of training data, wherein the compact model has a smaller model size relative to the pre-trained machine-learned model, wherein jointly training comprises:
determining one or more particular weights of the compact model that are low-scoring weights; and
removing the one or more particular weights of the compact model.
41 . The one or more non-transitory computer-readable media of claim 40 , wherein jointly training comprises utilizing an application programming interface to configure the joint training based on a training pipeline.
42 . The one or more non-transitory computer-readable media of claim 41 , wherein the training pipeline comprises one or more confusion matrices.
43 . The one or more non-transitory computer-readable media of claim 41 , wherein generating the compact model comprises:
receiving the pre-trained machine-learned model based on input training data; automatically compressing the compact model with one or more benchmarks; converting the compact model to a mobile-optimized format; and wherein the operations further comprise: storing the compact model for on-device usage.Join the waitlist — get patent alerts
Track US2022374719A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.