IP Library › Granted Patent US 11,676,008
Granted Patent B2
US 11,676,008 · App. 16/577,698 · Granted Jun 13, 2023

Parameter-efficient multi-task and transfer learning

Inventors: Mark Sandler (Mountain View, CA); Andrey Zhmoginov (Mountain View, CA); Andrew Gerald Howard (Culver City, CA); Pramod Kaushik Mudrakarta (Chicago, IL)
Assignee: GOOGLE LLC
G06N3/08G06N3/045G10L15/16
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,676,008
App. No.
16/577,698
Granted
Jun 13, 2023
Kind
B2
Abstract

The present disclosure provides systems and methods that enable parameter-efficient transfer learning, multi-task learning, and/or other forms of model re-purposing such as model personalization or domain adaptation. In particular, as one example, a computing system can obtain a machine-learned model that has been previously trained on a first training dataset to perform a first task. The machine-learned model can include a first set of learnable parameters. The computing system can modify the machine-learned model to include a model patch, where the model patch includes a second set of learnable parameters. The computing system can train the machine-learned model on a second training dataset to perform a second task that is different from the first task, which may include learning new values for the second set of learnable parameters included in the model patch while keeping at least some (e.g., all) of the first set of parameters fixed.

Claims (60)

1. A computer-implemented method, the method comprising:

obtaining, by one or more computing devices, a machine-learned model that has been previously trained on a first training dataset to perform a first task, the machine-learned model including a first set of learnable parameters;

modifying, by the one or more computing devices, the machine-learned model to include a model patch, the model patch including a second set of learnable parameters, wherein the machine-learned model comprises a plurality of layers, and at least some the second set of learnable parameters included in the model patch comprise one or both of scale and bias parameters for one or more layers of the plurality of layers; and

after modifying the machine-learned model to include the model patch, training, by the one or more computing devices, the machine-learned model on a second training dataset to perform a second task that is different from the first task, wherein training, by the one or more computing devices, the machine-learned model on the second training dataset to perform the second task comprises learning new values for the second set of learnable parameters included in the model patch.

2. The computer-implemented method of claim 1 , wherein training, by the one or more computing devices, the machine-learned model on the second training dataset to perform the second task comprises learning the new values for the second set of learnable parameters while keeping at least some the first set of learnable parameters fixed.

3. The computer-implemented method of claim 1 , wherein training, by the one or more computing devices, the machine-learned model on the second training dataset to perform the second task comprises learning the new values for the second set of learnable parameters while keeping at least a majority of the first set of learnable parameters fixed.

4. The computer-implemented method of claim 1 , wherein training, by the one or more computing devices, the machine-learned model on the second training dataset to perform the second task comprises learning the new values for the second set of learnable parameters while keeping all of the first set of learnable parameters fixed.

5. The computer-implemented method of claim 1 , wherein, after modification of the machine-learned model to include the model patch, at least a portion of the model patch is positioned structurally prior to a final layer of the machine-learned model.

6. The computer-implemented method of claim 1 , wherein, after modification of the machine-learned model to include the model patch, at least a portion of the model patch is included in an intermediate layer of the machine-learned model.

7. The computer-implemented method of claim 5 , wherein the model patch further includes the final layer of the machine-learned model.

8. The computer-implemented method of claim 1 , wherein the scale and bias parameters for the one or more layers comprise scale and bias parameters for one or more batch normalization operations performed respectively for the one or more layers.

9. The computer-implemented method of claim 1 , wherein the scale and bias parameters for the one or more layers comprise scale and bias parameters for one or more layer normalization operations, one or more batch renormalization operations, or one or more group normalization operations performed respectively for the one or more layers.

10. The computer-implemented method of claim 1 , wherein:

the machine-learned model comprises a convolutional machine-learned model that includes one or more convolutional filters; and

modifying, by the one or more computing devices, the machine-learned model to include the model patch comprises replacing, by the one or more computing devices, at least one of the convolutional filters with a reduced-parameter version of the convolutional filter.

11. The computer-implemented method of claim 1 , wherein:

the machine-learned model comprises a convolutional machine-learned model that includes one or more convolutional filters; and

modifying, by the one or more computing devices, the machine-learned model to include the model patch comprises replacing, by the one or more computing devices, at least one of the convolutional filters with a depth-wise separable convolution.

12. The computer-implemented method of claim 1 , wherein:

at least some the second set of learnable parameters included in the model patch comprise parameters included in one or both of a squeeze function or an excite function for one or more layers of the plurality of layers.

13. The computer-implemented method of claim 1 , wherein:

at least some the second set of learnable parameters included in the model patch comprise parameters included in a gating function for one or more layers of the plurality of layers.

14. The computer-implemented method of claim 1 , wherein:

the model patch comprises at least one additional intermediate layer that is structurally positioned between at least two of the plurality of layers.

15. The computer-implemented method of claim 1 further comprising, simultaneous with training, by the one or more computing devices, the machine-learned model including the model patch on the second training dataset to perform the second task:

training, by the one or more computing devices, the machine-learned model excluding the model patch on the first training dataset to perform the first task.

16. The computer-implemented method of claim 15 , wherein training, by the one or more computing devices, the machine-learned model excluding the model patch on the first training dataset to perform the first task comprises training, by the one or more computing devices, the machine-learned model excluding the model patch but including an alternative model patch on the first training dataset to perform the first task.

17. The computer-implemented method of claim 1 , wherein the first task comprises processing of first input data structured according to a first domain and the second task comprises processing of second input data structured according to a second domain that is different than the first domain.

18. The computer-implemented method of claim 17 , further comprising, after training, by the one or more computing devices, the machine-learned model on the second training dataset to perform the second task:

receiving, by the one or more computing devices, new input data; and

when the new input data is structured according to the first domain, employing, by the one or more computing devices, the machine-learned model excluding the model patch to process the new input data to generate a first prediction; and

when the new input data is structured according to the second domain, employing, by the one or more computing devices, the machine-learned model including the model patch to process the new input data to generate a second prediction.

19. The computer-implemented method of claim 18 , wherein the new input data is structured according to the first domain, wherein the second domain comprises a smaller number of dimensions than the first domain, and wherein the method further comprises:

determining, by the one or more computing devices, a resource-allocation parameter that corresponds to a desired amount of resources allocated to processing of the new input data; and

determining, by the one or more computing devices, whether to convert the new input data from the first domain to the second domain based at least in part on the resource-allocation parameter;

wherein, when the new input data is converted to the second domain, the method includes said employing, by the one or more computing devices, the machine-learned model including the model patch to process the new input data to generate the second prediction.

20. The computer-implemented method of claim 17 , wherein the first domain comprises a first image resolution, the first task comprises processing imagery of the first input resolution, the second domain comprises a second image resolution that is smaller than the first image resolution, and the second task comprises processing imagery of the second input resolution.

21. The computer-implemented method of claim 1 , wherein the machine-learned model comprises a neural network and the model patch comprises a patch subnetwork.

22. The computer-implemented method of claim 1 , wherein training, by the one or more computing devices, the machine-learned model on the second training dataset to perform the second task comprises:

determining, by the one or more computing devices, a training allocation parameter that corresponds to a desired amount of resources to allocate to training the machine-learned model on the second training dataset to perform the second task;

and learning the new values for the second set of learnable parameters while keeping a subset of first set of learnable parameters fixed, wherein a ratio of the subset of first set of learnable parameters to all of the first set of learnable parameters is determined based at least in part on and is correlated with the training allocation parameter.

23. The computer-implemented method of claim 1 , wherein the first task comprises object detection and the second task comprises image classification.

24. A computer-implemented method, the method comprising:

obtaining, by a worker device, a machine-learned model that includes a first set of learnable parameters;

modifying, by the worker device, the machine-learned model to include a model patch, the model patch including a second set of learnable parameters, wherein the machine-learned model comprises a plurality of layers, and at least some of the second set of learnable parameters included in the model patch comprise one or both of scale and bias parameters for one or more layers of the plurality of layers;

after modifying the machine-learned model to include the model patch, training, by the worker device, the machine-learned model on a local dataset that is stored locally at the worker device, and wherein training, by the one or more computing devices, the machine-learned model on the local training dataset comprises learning new values for both the first set of learnable parameters and the second set of learnable parameters; and

transmitting, by the worker device to a central system, data descriptive of the new values for only the first set of learnable parameters but not the second set of learnable parameters.

25. A computer-implemented method, the method comprising:

obtaining, by one or more computing devices, a model that includes an existing set of learnable parameters;

generating, by the one or more computing devices, a first model patch that includes a first set of learnable parameters and a second model patch that includes a second set of learnable parameters, wherein the machine-learned model comprises a plurality of layers, and at least some of the second set of learnable parameters included in the model patch comprise one or both of scale and bias parameters for one or more layers of the plurality of layers;

simultaneously:

training, by the one or more computing devices, the model including the first model patch but not the second model patch on a first set of training data to perform a first task; and

training, by the one or more computing devices, the model including the second model patch but not the first model patch on a second set of training data to perform a second task that is different than the first task.

26. A computer-implemented method, the method comprising:

obtaining, by one or more computing devices, a machine-learned model that has been previously trained on a first training dataset to perform a first task, the machine-learned model including a first set of learnable parameters;

modifying, by the one or more computing devices, the machine-learned model to include a model patch, the model patch including a second set of learnable parameters; and

after modifying the machine-learned model to include the model patch, training, by the one or more computing devices, the machine-learned model on a second training dataset to perform a second task that is different from the first task, wherein training, by the one or more computing devices, the machine-learned model on the second training dataset to perform the second task comprises:

learning new values for the second set of learnable parameters included in the model patch;

determining, by the one or more computing devices, a training allocation parameter that corresponds to a desired amount of resources to allocate to training the machine-learned model on the second training dataset to perform the second task; and

learning the new values for the second set of learnable parameters while keeping a subset of first set of learnable parameters fixed, wherein a ratio of the subset of first set of learnable parameters to all of the first set of learnable parameters is determined based at least in part on and is correlated with the training allocation parameter.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2019
From: SANDLER, MARK; ZHMOGINOV, ANDREY; HOWARD, ANDREW GERALD; MUDRAKARTA, PRAMOD KAUSHIK
To: GOOGLE LLC
Reel/Frame 050605/0685 →
Continuity (2)
Provisional Application 62737763 · Sep 27, 2018
Related Publication 20200104706A1 · Apr 2, 2020
Cited By (1)
US 12,566,744