IP Library Granted Patent US 12,094,451
Granted Patent B1
US 12,094,451 · App. 17/677,614 · Granted Sep 17, 2024

Updating machine learning models across devices

Inventors: Tao Zhang (Eden Prairie, MN); Jie Ding (Shanghai, CN); Huili Chen (San Diego, CA)
Assignee: Amazon Technologies, Inc.
G10L15/05G06N20/20G10L15/063G10L2015/0635
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 12,094,451
App. No.
17/677,614
Granted
Sep 17, 2024
Kind
B1
Abstract

A system may create a localized machine learning model including one or more customized local parameter values using a global model and variance data. The localized machine learning model may be used by a device or cohort of devices to perform evaluations of data. The localized model may be trained based off a global model that is adjusted and then trained a certain number of steps, where the number of steps is based at least in part on the variance data. The variance data may include variance data from other device cohorts which is received from a remote device, which can also re-train the global model using the variance data and/or the localized machine learning model(s).

Claims (101)

1. A computer-implemented method for updating machine learning models, the method comprising:

determining first model data corresponding to a first machine learning model corresponding to a first function, the first model data comprising a first value corresponding to a first parameter;

sending the first model data to a first device having a first characteristic;

sending the first model data to a second device having a second characteristic different from the first characteristic;

receiving first variance data corresponding to the first parameter, the first variance data based at least in part on a first range of values corresponding to a first plurality of devices having the first characteristic, wherein the first plurality of devices comprises the first device;

receiving second variance data corresponding to the first parameter, the second variance data based at least in part on a second range of values corresponding to a second plurality of devices having the second characteristic;

based at least in part on the first variance data and the second variance data, determining third variance data corresponding to the first parameter, the third variance data corresponding to at least the first plurality of devices and the second plurality of devices;

sending the third variance data to the first device;

sending the third variance data to the second device;

based at least in part on the first variance data, the second variance data, and the first model data, determining second model data corresponding to a second machine learning model corresponding to the first function, the second model data comprising a second value corresponding to the first parameter;

sending the second model data to the first device, wherein the first device is configured to perform processing of further input data using the second machine learning model; and

sending the second model data to the second device.

2. The computer-implemented method of claim 1 , further comprising, by the first device:

receiving first input data;

processing the first input data using the first machine learning model to determine first output data;

receiving second input data;

processing the second input data using the first machine learning model to determine second output data;

based at least in part on the first output data and the second output data, determining a first mean value corresponding to the first parameter;

based at least in part on the first output data, the second output data, and the first mean value, determining standard deviation data corresponding to the first parameter; and

determining the first variance data using the standard deviation data.

3. The computer-implemented method of claim 1 , further comprising:

after sending the third variance data to the first device, receiving third model data corresponding to a third machine learning model corresponding to the first function, the third machine learning model trained for operation by devices having the first characteristic; and

after sending the third variance data to the second device, receiving fourth model data corresponding to a fourth machine learning model corresponding to the first function, the fourth machine learning model trained for operation by devices having the second characteristic,

wherein determining the second model data is further based at least in part on the third model data and the fourth model data.

4. The computer-implemented method of claim 3 , further comprising, by the first device:

processing the first variance data and the second variance data to determine at least one value;

applying the at least one value to the first model data to determine adjusted model data;

processing the first variance data and the second variance data to determine a first number of training steps; and

performing machine learning training by modifying the adjusted model data over the first number of training steps to determine the third model data.

5. A computer-implemented method for updating machine learning models, the method comprising:

receiving first variance data corresponding to a first parameter of a first machine learning model, the first variance data corresponding to a first plurality of devices having a first characteristic, wherein the first plurality of devices comprises a first device;

receiving second variance data corresponding to the first parameter, the second variance data corresponding to a second plurality of devices having a second characteristic;

based at least in part on the first variance data and the second variance data, determining third variance data corresponding to the first parameter, the third variance data corresponding to at least the first plurality of devices and the second plurality of devices;

sending the third variance data to at least one device corresponding to the first characteristic;

sending the third variance data to a second device corresponding to the second characteristic;

based at least in part on the first variance data, the second variance data, and the first machine learning model, determining an updated machine learning model; and

sending updated model data representing the updated machine learning model to the first device and the second device, wherein the first device is configured to perform processing of further input data using the updated machine learning model.

6. The computer-implemented method of claim 5 , further comprising:

after sending the third variance data to the first device, receiving first model data corresponding to a third machine learning model trained for operation by devices having the first characteristic; and

after sending the third variance data to the second device, receiving second model data corresponding to a fourth machine learning model trained for operation by devices having the second characteristic,

wherein determining the updated machine learning model is further based at least in part on the first model data and the second model data.

7. The computer-implemented method of claim 6 , further comprising, by the first device:

processing the first variance data and the second variance data to determine at least one value;

determining adjusted model data using the at least one value and the first machine learning model; and

determining the third machine learning model from the adjusted model data.

8. The computer-implemented method of claim 6 , further comprising, by the first device:

processing the first variance data and the second variance data to determine a first number of training steps; and

training the third machine learning model using the first number of training steps.

9. The computer-implemented method of claim 5 , further comprising, by the first device:

receiving first input data;

processing the first input data using the first machine learning model to determine first output data;

receiving second input data;

processing the second input data using the first machine learning model to determine second output data;

based at least in part on the first output data and the second output data, determining a first mean value corresponding to the first parameter;

based at least in part on the first output data, the second output data, and the first mean value, determining standard deviation data corresponding to the first parameter; and

determining the first variance data using the standard deviation data.

10. The computer-implemented method of claim 5 , further comprising:

determining an estimated value for the first parameter corresponding to operation of the first machine learning model by at least a third device corresponding to a third characteristic; and

determining the third variance data based at least in part on the estimated value.

11. The computer-implemented method of claim 5 , wherein the first machine learning model comprises a model configured to detect a wakeword represented in input audio data.

12. The computer-implemented method of claim 5 , further comprising:

determining difference data representing at least one difference between the first machine learning model and the updated machine learning model,

wherein the updated model data includes the difference data.

13. The computer-implemented method of claim 5 , wherein sending the third variance data to the at least one device corresponding to the first characteristic includes sending the third variance data to the first device.

14. A system, comprising:

at least one processor; and

at least one memory comprising instructions that, when executed by the at least one processor, cause the system to:

receive first variance data corresponding to a first parameter of a first machine learning model, the first variance data corresponding to a first plurality of devices having a first characteristic, wherein the first plurality of devices comprises a first device;

receive second variance data corresponding to the first parameter, the second variance data corresponding to a second plurality of devices having a second characteristic;

based at least in part on the first variance data and the second variance data, determine third variance data corresponding to the first parameter, the third variance data corresponding to at least the first plurality of devices and the second plurality of devices;

send the third variance data to a first at least one device corresponding to the first characteristic;

send the third variance data to a second device corresponding to the second characteristic;

based at least in part on the first variance data, the second variance data, and the first machine learning model, determine an updated machine learning model; and

send updated model data representing the updated machine learning model to the first device and the second device, wherein the first device is configured to perform processing of further input data using the updated machine learning model.

15. The system of claim 14 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the system to:

after sending the third variance data to the first device, receive first model data corresponding to a third machine learning model trained for operation by devices having the first characteristic; and

after sending the third variance data to the second device, receive second model data corresponding to a fourth machine learning model trained for operation by devices having the second characteristic,

wherein determination of the updated machine learning model is further based at least in part on the first model data and the second model data.

16. The system of claim 15 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the first device to:

process the first variance data and the second variance data to determine at least one value;

determine adjusted model data using the at least one value and the first machine learning model; and

determine the third machine learning model from the adjusted model data.

17. The system of claim 15 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the first device to:

processing the first variance data and the second variance data to determine a first number of training steps; and

training the third machine learning model using the first number of training steps.

18. The system of claim 14 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the first device to:

receive first input data;

process the first input data using the first machine learning model to determine first output data;

receive second input data;

process the second input data using the first machine learning model to determine second output data;

based at least in part on the first output data and the second output data, determine a first mean value corresponding to the first parameter;

based at least in part on the first output data, the second output data, and the first mean value, determine standard deviation data corresponding to the first parameter; and

determine the first variance data using the standard deviation data.

19. The system of claim 14 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the system to:

determine an estimated value for the first parameter corresponding to operation of the first machine learning model by at least a third device corresponding to a third characteristic; and

determine the third variance data based at least in part on the estimated value.

20. The system of claim 14 , wherein the first machine learning model comprises a model configured to detect a wakeword represented in input audio data.

21. The system of claim 14 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the system to:

determine difference data representing at least one difference between the first machine learning model and the updated machine learning model,

wherein the updated model data includes the difference data.

22. The system of claim 14 , wherein sending the third variance data to the at least one device corresponding to the first characteristic includes sending the third variance data to the first device.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2025
From: DING, JIE
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 070219/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2024
From: CHEN, HUILI
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 067504/0444 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2022
From: ZHANG, TAO; DING, JIE
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 059068/0083 →
Cited By (7)
US 12,443,879 US 12,487,599 US 12,524,886 US 12,526,653 US 12,530,619 US 12,556,943 US 12,711,406