IP Library Granted Patent US 11,593,634
Granted Patent B2
US 11,593,634 · App. 16/012,356 · Granted Feb 28, 2023

Asynchronously training machine learning models across client devices for adaptive intelligence

Inventors: Sunav Choudhary (Bokaro Steel, IN); Saurabh Kumar Mishra (Sonbhadra, IN); Manoj Ghuhan A (Karur, IN); Ankur Garg (Chandigarh, IN)
Assignee: Adobe Inc.
G06N3/08G06F13/4213G06F13/4226G06F13/4239G06F16/256G06N3/0454G06N7/00G06N20/00
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,593,634
App. No.
16/012,356
Granted
Feb 28, 2023
Kind
B2
Abstract

This disclosure relates to methods, non-transitory computer readable media, and systems that asynchronously train a machine learning model across client devices that implement local versions of the model while preserving client data privacy. To train the model across devices, in some embodiments, the disclosed systems send global parameters for a global machine learning model from a server device to client devices. A subset of the client devices uses local machine learning models corresponding to the global model and client training data to modify the global parameters. Based on those modifications, the subset of client devices sends modified parameter indicators to the server device for the server device to use in adjusting the global parameters. By utilizing the modified parameter indicators (and not client training data), in certain implementations, the disclosed systems accurately train a machine learning model without exposing training data from the client device.

Claims (60)

1. A computer-implemented method comprising:

sending global parameters for a global machine learning model to a plurality of client devices, the plurality of client devices comprising local machine learning models that represent local versions of the global machine learning model;

receiving a first set of modified parameter indicators from a first client device of the plurality of client devices and a second set of modified parameter indicators from a second client device of the plurality of client devices, wherein the first client device and the second client device utilize the global parameters, client training data, and a first local machine learning model and a second machine learning model specific to the first client device and the second client device, respectively, to generate the first set of modified parameter indicators and the second set of modified parameter indicators;

determining a first set of weights for the first set of modified parameter indicators specific to a first number of training samples corresponding to the first client device;

determining a second set of weights for the second set of modified parameter indicators specific to a second number of training samples corresponding to the second client device;

generating adjusted global parameters for the global machine learning model based on the first set of modified parameter indicators adjusted based on the first set of weights and the second set of modified parameter indicators adjusted based on the second set of weights; and

sending the adjusted global parameters for the global machine learning model to the plurality of client devices for implementation in the local machine learning models at the plurality of client devices.

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

the adjusted global parameters for the global machine learning model comprises global-neural-network parameters for layers of a global neural network stored at a server device; and

the local machine learning models comprise local neural networks associated with the global neural network.

3. The computer-implemented method of claim 1 , further comprising determining the first set of weights and the second set of weights, respectively, after receiving the first set of modified parameter indicators from the first client device and receiving the second set of modified parameter indicators from the second client device.

4. The computer-implemented method of claim 1 , wherein the first set of modified parameter indicators do not disclose client training data from the first client device.

5. The computer-implemented method of claim 1 , wherein the first set of modified parameter indicators comprise parameter update differentials that each represent a difference between a locally modified parameter generated by the first client device and a global parameter generated by a server device.

6. A system for asynchronously training machine learning models across client devices while preserving client data privacy comprising:

at least one processor; and

at least one non-transitory computer memory comprising a global machine learning model and instructions that, when executed by at least one processor, cause the system to:

send global parameters for the global machine learning model to a plurality of client devices, the plurality of client devices comprising local machine learning models that represent local versions of the global machine learning model;

receive a first set of modified parameter indicators from a first client device of the plurality of client devices and a second set of modified parameter indicators from a second client device of the plurality of client devices, wherein the first client device and the second client device utilize the global parameters, client training data, and a first local machine learning model and a second machine learning model specific to the first client device and the second client device, respectively, to generate the first set of modified parameter indicators and the second set of modified parameter indicators;

determine a first set of weights for the first set of modified parameter indicators specific to a first number of training samples corresponding to the first client device;

determine a second set of weights for the second set of modified parameter indicators specific to a second number of training samples corresponding to the second client device;

generate adjusted global parameters for the global machine learning model based on the first set of modified parameter indicators adjusted based on the first set of weights and the second set of modified parameter indicators adjusted based on the second set of weights; and

send the adjusted global parameters for the global machine learning model to the plurality of client devices for implementation in the local machine learning models at the plurality of client devices.

7. The system of claim 6 , further comprising instructions that, when executed by the at least one processor, cause the system to receive the first set of modified parameter indicators from the first client device without receiving the client training data from the first client device.

8. The system of claim 6 , further comprising instructions that, when executed by the at least one processor, cause the system to:

receive modified parameter indicators from a subset of client devices; and

generate the adjusted global parameters for the global machine learning model by:

determining that the subset of client devices includes a threshold number of client devices from among the plurality of client devices that have generated the modified parameter indicators; and

in response to determining that the subset of client devices includes the threshold number of client devices, generating the adjusted global parameters for the global machine learning model.

9. The system of claim 6 , further comprising instructions that, when executed by the at least one processor, cause the system to:

receive modified parameter indicators from a subset of client devices; and

generate the adjusted global parameters for the global machine learning model by:

identifying a client device, from among the subset of client devices, that has not sent previous sets of modified parameter indicators to the system in a threshold number of training iterations; and

generating the adjusted global parameters for the global machine learning model utilizing, from the received modified parameter indicators, one or more modified parameter indicators from the client device.

10. The system of claim 9 , further comprising instructions that, when executed by the at least one processor, cause the system to identify the client device from among the plurality of client devices by:

identifying a parameter-update-iteration indicator for the client device indicating a number of training iterations since the client device has sent a set of modified parameter indicators; and

determining that the parameter-update-iteration indicator for the client device satisfies the threshold number of training iterations.

11. The system of claim 6 , further comprising instructions that, when executed by the at least one processor, cause the system to generate the adjusted global parameters for the global machine learning model by:

sending a request for modified parameter indicators to a client device, from among the plurality of client devices, that has not sent a set of modified parameter indicators to the system in a threshold number of training iterations; and

in response to determining that the client device has not responded to the request for modified parameter indicators within a threshold time, removing the client device from a group of client devices that the system uses for adjusting the global parameters.

12. The system of claim 6 , further comprising instructions that, when executed by the at least one processor, cause the system to determine the first set of weights for the first set of modified parameter indicators based on a number of features corresponding to the first client device.

13. The system of claim 6 , further comprising instructions that, when executed by the at least one processor, cause the system to:

receive the first set of modified parameter indicators from the first client device by receiving parameter update differentials that each represent a difference between a locally modified parameter generated by the first client device and a global parameter generated by a server device.

14. The system of claim 13 , further comprising instructions that, when executed by the at least one processor, cause the system to generate the adjusted global parameters for the global machine learning model by:

determining weighted averages for the parameter update differentials; and

generating the adjusted global parameters based on the weighted averages for the parameter update differentials.

15. The system of claim 6 , wherein the global machine learning model comprises a regression model or a neural network stored at a server device and the local machine learning models comprise associated with regression models or associated with neural networks stored at the plurality of client devices.

16. A non-transitory computer readable storage medium comprising instructions that, when executed by at least one processor, cause a client device to:

receive, at the client device from a server device, global parameters corresponding to a global machine learning model at the server device, wherein a local machine learning model at the client device represents a local version of the global machine learning model;

utilize the local machine learning model, the global parameters, and client training data at the client device to generate locally modified parameters;

provide modified parameter indicators corresponding to the locally modified parameters to the server device and a number of training samples corresponding to the client device, without providing the client training data to the server device, for the server device to utilize the modified parameter indicators in adjusting the global parameters; and

receive adjusted global parameters corresponding to the global machine learning model from the server device to implement in the local machine learning model at the client device, wherein the adjusted global parameters are based on weights determined for the modified parameter indicators using the number of training samples and additional modified parameter indicators from an additional client device weighted utilizing an additional number of training samples corresponding to the additional client device.

17. The non-transitory computer readable storage medium of claim 16 , further comprising instructions that, when executed by the at least one processor, cause the client device to provide the modified parameter indicators to the server device by:

determining a first difference between a first locally modified parameter and a first global parameter and a second difference between a second locally modified parameter and a second global parameter; and

generating a first parameter update differential representing the first difference and a second parameter update differential representing the second difference.

18. The non-transitory computer readable storage medium of claim 17 , further comprising instructions that, when executed by the at least one processor, cause the client device to provide a number of training iterations since the client device has sent a set of modified parameter indicators as basis for utilizing the modified parameter indicators in adjusting the global parameters.

19. The non-transitory computer readable storage medium of claim 16 , further comprising instructions that, when executed by the at least one processor, cause the client device to utilize the local machine learning model, the global parameters, and the client training data at the client device to generate the locally modified parameters by:

applying the global parameters in the local machine learning model to a set of client training data from the client training data at the client device to generate a predicted feature; and

based on a comparison of the predicted feature and a ground-truth feature from the client training data that corresponds to the predicted feature, modifying the global parameters to generate the locally modified parameters.

20. The non-transitory computer readable storage medium of claim 16 , further comprising instructions that, when executed by the at least one processor, cause the client device to, in response to receiving the adjusted global parameters corresponding to the global machine learning model from the server device:

identify a second set of client training data at the client device; and provide a second set of modified parameter indicators to the server device based on the second set of client training data at the client device.

Assignments (2)
CHANGE OF NAME Recorded Nov 30, 2018
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 047688/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2018
From: CHOUDHARY, SUNAV; MISHRA, SAURABH KUMAR; A, MANOJ GHUHAN; GARG, ANKUR
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 046132/0649 →
Continuity (1)
Related Publication 20190385043A1 · Dec 19, 2019
Cited By (1)
US 12,373,728