IP Library Granted Patent US 11,651,269
Granted Patent B2
US 11,651,269 · App. 16/675,397 · Granted May 16, 2023

Method, electronic device and computer program product for processing data

Inventors: Hu Chenxi (Beijing, CN); Sanping Li (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06K9/6257G06F16/2228G06F16/2237G06F16/24565G06F16/285G06F16/288G06K9/6231G06K9/6265G06N20/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,651,269
App. No.
16/675,397
Granted
May 16, 2023
Kind
B2
Abstract

A method comprises: generating, at a first computing device, a first set of gradient values associated with a data block processed by nodes of a machine learning model, the first set of gradient values being in a first data format; determining a first shared factor from the first set of gradient values, the first shared factor being in a second data format of a lower a precision than that of the first data format; and scaling the first set of gradient values with the first shared factor, to obtain a second set of gradient values having the second data format. In addition, the method comprises sending the second set of gradient values and the first shared factor to a second computing device; and, in response to receiving a third set of gradient values and a second shared factor from the second computing device, adjusting parameters of the machine learning model.

Claims (106)

1. A data processing method, comprising:

generating, at a first computing device, a first set of gradient values associated with a data block processed by nodes of a machine learning model, the first set of gradient values being in a first data format;

determining a first shared factor from the first set of gradient values, the first shared factor being in a second data format of a lower precision than that of the first data format;

scaling the first set of gradient values with the first shared factor, to obtain a second set of gradient values having the second data format;

sending the second set of gradient values and the first shared factor to a second computing device; and

in response to receiving a third set of gradient values and a second shared factor from the second computing device, adjusting the third set of gradient values utilizing the second shared factor, converting the adjusted third set of gradient values into a third data format of a higher precision than that of the second data format and adjusting parameters of the machine learning model based in part on the converted third set of gradient values;

wherein the method further comprises:

determining, based on a first bias value related to the first set of gradient values based on a minimum value in the first set of gradient values, the first bias value being in the first data format, a first bias value factor in the second data format;

scaling, based on the first bias value factor, the first bias value to obtain a second bias value represented in the second data format;

sending the first bias value factor and the second bias value to the second computing device; and

receiving, from the second computing device, a second bias value factor and a third bias value for adjusting the third set of gradient values; and

wherein the second computing device comprises a programmable switch connected to the first computing device via a network.

2. The method of claim 1 , wherein determining the first shared factor from the first set of gradient values comprises:

determining a maximum value and a minimum value of the first set of gradient values; and

determining the first shared factor based on the maximum value and the minimum value.

3. The method of claim 1 ,

wherein scaling the first set of gradient values comprises:

adjusting the first set of gradient values with the first bias value; and

scaling the first set of adjusted gradient values with the first shared factor, to generate the second set of gradient values.

4. The method of claim 1 , wherein the third set of gradient values and the second shared factor are in the second data format, and wherein adjusting the parameters of the machine learning model comprises:

scaling the third set of gradient values based on the second shared factor, the third set of scaled gradient values being in the first data format; and

adjusting the parameters of the machine learning model with the third set of scaled gradient values.

5. The method of claim 4 , wherein adjusting the parameters of the machine learning model further comprises:

receiving a fourth bias value and a third bias value factor from the second computing device;

scaling the fourth bias value based on the third bias value factor, the scaled fourth bias value being in the first data format, and

wherein adjusting parameters of the machine learning model using the third set of scaled gradient values comprises:

biasing the third set of scaled gradient values using the scaled fourth bias value; and

adjusting the parameters of the machine learning model with the third set of biased gradient values.

6. A computer program product being stored tangibly on a non-volatile computer readable medium and comprising machine executable instructions which, when executed, cause a machine to perform steps of the method of claim 1 .

7. An electronic device, comprising:

a processor; and

a memory storing computer program instructions, the computer program instructions in the memory being executed by the processor to control the electronic device to perform acts comprising:

generating a first set of gradient values associated with a data block processed by nodes of a machine learning model, the first set of gradient values being in a first data format;

determining a first shared factor from the first set of gradient values, the first shared factor being in a second data format of a lower precision than that of the first data format;

scaling the first set of gradient values with the first shared factor, to obtain a second set of gradient values having the second data format;

sending the second set of gradient values and the first shared factor to a computing device; and

in response to receiving a third set of gradient values and a second shared factor from the computing device, adjusting the third set of gradient values utilizing the second shared factor, converting the adjusted third set of gradient values into a third data format of a higher precision than that of the second data format and adjusting parameters of the machine learning model based in part on the converted third set of gradient values;

wherein the acts further comprise:

determining, based on a first bias value related to the first set of gradient values based on a minimum value in the first set of gradient values, the first bias value being in the first data format, a first bias value factor in the second data format;

scaling, based on the first bias value factor, the first bias value to obtain a second bias value represented in the second data format;

sending the first bias value factor and the second bias value to the second computing device; and

receiving, from the second computing device, a second bias value factor and a third bias value for adjusting the third set of gradient values; and

wherein the computing device comprises a programmable switch connected to the electronic device via a network.

8. The electronic device of claim 7 , wherein scaling the first set of gradient values comprises:

adjusting the first set of gradient values with the first bias value; and

scaling the first set of adjusted gradient values with the first shared factor, to generate the second set of gradient values.

9. The electronic device of claim 7 , wherein the third set of gradient values and the second shared factor are in the second data format, and wherein adjusting the parameters of the machine learning model comprises:

scaling the third set of gradient values based on the second shared factor, the third set of scaled gradient values being in the first data format; and

adjusting the parameters of the machine learning model with the third set of scaled gradient values.

10. The electronic device of claim 9 , wherein adjusting the parameters of the machine learning model further comprises:

receiving a fourth bias value and a third bias value factor from the second computing device;

scaling the fourth bias value based on the third bias value factor, the scaled fourth bias value being in the first data format, and

wherein adjusting parameters of the machine learning model using the third set of scaled gradient values comprises:

biasing the third set of scaled gradient values using the scaled fourth bias value; and

adjusting the parameters of the machine learning model with the third set of biased gradient values.

11. A data processing method, comprising:

receiving, at a second computing device, a second set of gradient values and a first shared factor from a first computing device, the second set of gradient values being obtained by scaling a first set of gradient values with the first shared factor, the first set of gradient values being in a first data format and associated with a data block processed by nodes of a machine learning model, the first shared factor being in a second data format of a lower precision than that of the first data format;

obtaining a fourth set of gradient values of a third device for the data block and a third shared factor related to the fourth set of gradient values, the machine learning model being running by the third device;

determining a third set of gradient values and a second shared factor for the third set of gradient values based on the first shared factor, the second set of gradient values, the fourth set of gradient values, and the third shared factor; and

sending, to the first computing device, the third set of gradient values and the second shared factor for adjusting the third set of gradient values utilizing the second shared factor, converting the adjusted third set of gradient values into a third data format of a higher precision than that of the second data format and adjusting parameters of the machine learning model based in part on the converted third set of gradient values;

wherein the method further comprises:

receiving a first bias value factor and a second bias value that are related to the second set of gradient values;

determining a second bias value factor and a third bias value that are related to the data block in the second computing device;

determining a fourth bias value and a third bias value factor for the fourth bias value based on the first bias value factor, the second bias value, the third bias value, and the second bias value factor; and

sending the fourth bias value and the third bias value factor to the first computing device; and

wherein the second computing device comprises a programmable switch connected to the first computing device via a network.

12. The method of claim 11 , wherein determining the third set of gradient values and the second shared factor for the third set of gradient values comprises:

determining a first difference between the third shared factor and the first shared factor; and

in response to the first difference being equal to or greater than a third threshold,

determining the first shared factor as the second shared factor;

adjusting the fourth set of gradient values based on the first difference; and

determining the third set of gradient values based on the second set of gradient values and the fourth set of gradient values.

13. The method of claim 12 , wherein determining the third set of gradient values and the second shared factor for the third set of gradient values further comprises:

in response to the first difference being less than the third threshold,

determining the third shared factor as the second shared factor;

adjusting the second set of gradient values based on the first difference; and

determining the third set of gradient values based on the second set of adjusted gradient values and the fourth set of gradient values.

14. The method of claim 11 , wherein determining the fourth bias value and the third bias value factor for the fourth bias value comprises:

determining a second difference between the second bias value factor and the first bias value factor; and

in response to the second difference being equal to or greater than a fourth threshold,

determining the first bias value factor as the third bias value factor;

adjusting the third bias value based on the second difference; and

determining the fourth bias value based on the adjusted third bias value and the second bias value.

15. The method of claim 14 , wherein determining the fourth bias value and the third bias value factor for the fourth bias value further comprises:

in response to the second difference being less than the fourth threshold,

determining the second bias value factor as the third bias value factor;

adjusting the second bias value based on the second difference; and

determining the fourth bias value based on the adjusted second bias value and the third bias value.

16. A computer program product being stored tangibly on a non-volatile computer readable medium and comprising machine executable instructions which, when executed, cause a machine to perform steps of the method of claim 11 .

17. An electronic device, comprising a processor and a memory storing computer program instructions, the computer program instructions in the memory being executed by the processor to control the electronic device to perform steps of the method of claim 11 .

18. The electronic device of claim 17 , wherein determining the third set of gradient values and a second shared factor for the third set of gradient values comprises:

determining a first difference between the third shared factor and the first shared factor; and

in response to the first difference being equal to or greater than a third threshold,

determining the first shared factor as the second shared factor;

adjusting the fourth set of gradient values based on the first difference; and

determining the third set of gradient values based on the second set of gradient values and the fourth set of gradient values.

19. The electronic device of claim 18 , wherein determining the third set of gradient values and a second shared factor for the third set of gradient values further comprises:

in response to the first difference being less than the third threshold,

determining the third shared factor as the second shared factor;

adjusting the second set of gradient values based on the first difference; and

determining the third set of gradient values based on the second set of adjusted gradient values and the fourth set of gradient values.

20. The electronic device of claim 17 , wherein the method further comprises:

receiving a first bias value factor and a second bias value that are related to the second set of gradient values;

determining a second bias value factor and a third bias value that are related to the data block in the second computing device;

determining a fourth bias value and a third bias value factor for the fourth bias value based on the first bias value factor, the second bias value, the third bias value and the second bias value factor; and

sending the fourth bias value and the third bias value factor to the first computing device.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052216/0758) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2019
From: CHENXI, HU; LI, SANPING
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 050928/0964 →