US2022374719A1PendingUtilityA1

Application Development Platform and Software Development Kits that Provide Comprehensive Machine Learning Services

Assignee: GOOGLE LLCPriority: May 20, 2017Filed: Jul 11, 2022Published: Nov 24, 2022
Est. expiryMay 20, 2037(~10.8 yrs left)· nominal 20-yr term from priority
G06F 18/214G06N 3/045G06F 9/541G06F 8/76G06N 3/084G06K 9/6256G06N 3/096G06N 3/0464G06N 3/0495G06N 3/0895G06N 3/0442G06N 3/082G06N 3/098G06N 3/09
55
PatentIndex Score
0
Cited by
0
References
0
Claims

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