Application development platform and software development kits that provide comprehensive machine learning services

US11410044B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11410044-B2
Application numberUS-201816605702-A
CountryUS
Kind codeB2
Filing dateMay 21, 2018
Priority dateMay 20, 2017
Publication dateAug 9, 2022
Grant dateAug 9, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A computing system for jointly learning compact models, the computing system comprising: one or more processors; and 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 associated with a user; obtaining one or more user selections associated with the user; generating a training pipeline comprising one or more user-created schema based on the one or more user selections; generating a compact model, wherein the compact model comprises an inference speed parameter defined by the user; 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 the compact model and the pre-trained machine-learned model comprises backpropagating a gradient of a loss function, wherein the gradient is based on a first comparison between an output of the compact model for an input and a ground truth output and a second comparison between the output of the compact model and an output of the pre-trained machine-learned model, wherein jointly training reduces a number of bits used for one or more model weights and one or more activations, and 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. 2. The computing system of claim 1 , wherein jointly training the compact model and the pre-trained machine-learned model comprises backpropagating the gradient of the loss function, wherein the loss function comprises a combined loss function that comprises: a first loss term that describes a trainer prediction error; a second loss term that describes a student simulation error; and a third loss term that describes a student prediction error. 3. The computing system of claim 2 , wherein the first loss term describes a distance between the output of the pre-trained machine-learned model and a ground truth. 4. The computing system of claim 2 , wherein the second loss term describes a distance between the output of the pre-trained machine-learned model and the output of the compact model. 5. The computing system of claim 2 , wherein the combined loss function comprises first, second, and third weighting values that respectively weight the first, second, and third loss terms relative to each other. 6. The computing system of claim 1 , wherein the operations further comprise: receiving a user input that selects one of a number of available compact model architectures; wherein generating the compact model comprises generating the compact model that has the compact model architecture selected by the user input. 7. The computing system of claim 1 , wherein the operations further comprise: receiving a user input that specifies one or both of a desired model size or a desired inference speed; wherein generating the compact model comprises generating the compact model that exhibits one or more both of the desired model size or the desired inference speed. 8. The computing system of claim 1 , wherein the operations further comprise: receiving a user input that specifies a type of input data; wherein generating the compact model comprises generating the compact model that is configured to receive and process the type of input data specified by the user input. 9. The computing system of claim 1 , wherein the operations further comprise: receiving a user input that specifies a prediction task; wherein generating the compact model comprises generating the compact model that is configured to perform the prediction task. 10. The computing system of claim 1 , wherein: generating the compact model comprises generating a plurality of compact models that have different architectures; and jointly training the compact model and the pre-trained machine-learned model comprises jointly training the plurality of compact models and the pre-trained machine-learned model. 11. The computing system of claim 10 , wherein the operations further comprise, after jointly training the plurality of compact models, deploying the plurality of compact models respectively to a plurality of different user groups that have different user device capabilities. 12. The computing system of claim 1 , wherein the compact model comprises a projection neural network. 13. The computing system of claim 1 , wherein the pre-trained machine-learned model comprises a checkpoint from a production model deployed for cloud-based inference. 14. The computing system of claim 1 , wherein the pre-trained machine-learned model is selected by the user from a set of provided pre-trained models. 15. The computing system of claim 1 , wherein the operations further comprise: 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. 16. A computer-implemented method, comprising: obtaining, by one or more computing devices, a pre-trained machine-learned model associated with a user; receiving, by the one or more computing devices, user input that describes one or more desired model characteristics, the one or more desired model characteristics comprising one or more of: a desired model size, a desired inference speed, a type of input data, or a prediction type; generating, by the one or more computing devices, a training pipeline comprising one or more user-created schema based on the user input, wherein the user input comprises one or more selections associated with the user; automatically generating, by the one or more computing devices, a compact model specification based at least in part on the user input, wherein the compact model comprises an inference speed parameter defined by the user; and jointly training, by the one or more computing devices, a compact model that has the compact model specification 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, and wherein the compact model exhibits the one or more desired model characteristics, wherein jointly training the compact model and the pre-trained machine-learned model comprises backpropagating a gradient of a loss function, wherein the gradient is based on a first comparison between an output of the compact model for an input and a ground truth output and a second comparison between the output of the compact model and an output of the pre-trained machine-learned model, wherein jointly training reduces a number of bits used for one or more model weights and one or more activations, and 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. 17. The computer-implemented method of claim 16 , wherein jointly training, by the one or more computing devices, the compact model that has the compact model specification and the pre-trained machine-learned model comprises backpropagating, by the one or more computing devices, a gradient of a combined loss function that comprises: a first loss term that describes a trainer predictio

Assignees

Inventors

Classifications

  • Combinations of networks · CPC title

  • Generating training patterns; Bootstrap methods, e.g. bagging or boosting · CPC title

  • Transfer learning · CPC title

  • Convolutional networks [CNN, ConvNet] · CPC title

  • Quantised networks; Sparse networks; Compressed networks · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11410044B2 cover?
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 ca…
Who is the assignee on this patent?
Google Llc
What technology area does this patent fall under?
Primary CPC classification G06N3/084. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 09 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).