IP Library Granted Patent US 11,715,287
Granted Patent B2
US 11,715,287 · App. 16/193,051 · Granted Aug 1, 2023

Systems and methods for exchange of data in distributed training of machine learning algorithms

Inventors: Alexander Matveev (Cambridge, MA); Nir Shavit (Cambridge, MA)
G06V10/82G06F18/217G06F18/24133G06N3/04G06N3/084G06N5/046G06N20/10G06V20/00G06V30/1916G06V30/19173
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,715,287
App. No.
16/193,051
Granted
Aug 1, 2023
Kind
B2
Abstract

Systems and methods may make exchanging data in a neural network (NN) during training more efficient. Exchanging weights among a number of processors training a NN across iterations may include sorting generated weights, compressing the sorted weights, and transmitting the compressed sorted weights. On each Kth iteration a sort order of the sorted weights may be created and transmitted. Exchanging weights among processors training a NN may include executing a forward pass to produce a set of loss values for processors, transmitting loss values to other processors, and at each of the processors, performing backpropagation on at least one layer of the NN using loss values received from other processors.

Claims (47)

1. A method of exchanging weights among a plurality of processors conducting training on a neural network (NN), the NN comprising neurons, the method comprising:

over a plurality of iterations:

at each of at least two processors of the plurality of processors:

sorting weights generated at the processors to create sorted weights;

compressing the sorted weights to produce compressed sorted weights; and

transmitting the compressed sorted weights to at least one master processor of the plurality of processors, the master processor updating a NN model based on the weights generated at the at least two processors;

wherein, on each Kth iteration of the plurality of iterations, K being an integer greater than 1:

a sort order of the sorted weights is created; and

the sort order is transmitted to least one processor of the plurality of processors.

2. The method of claim 1 , wherein on an iteration which is not a Kth iteration, the weights are sorted using a last sort order created.

3. The method of claim 1 , wherein K varies over time.

4. The method of claim 1 , wherein the neurons are artificial neurons represented by data stored by the plurality of processors.

5. The method of claim 1 , wherein the plurality of processors comprises a master processor and wherein the compressed sorted weights are transmitted to the master processor.

6. The method of claim 1 , wherein, the NN comprises a plurality of layers, and wherein during each iteration:

weights are generated for at least two of the plurality of layers, and

sorting, compressing, and transmitting is performed for the weights for the at least two of the plurality of layers.

7. The method of claim 1 , wherein, the NN comprises a plurality of layers and a plurality of links connecting the neurons, and wherein during each iteration the at least two processors execute a forward pass and a backward pass to generate gradients for the links and to generate weights for the links from the gradients.

8. A method of exchanging parameters among a plurality of computing nodes, the method comprising:

for a plurality of parameters, over a plurality of iterations including a periodically occurring ordering iteration:

at a first computing node:

if the iteration is an ordering iteration, arranging the parameters by value and storing an order of the arranging;

if the iteration is not an ordering iteration, arranging the parameters by a stored last order of the arranging;

compressing the arranged parameters to produce compressed parameters; and

sending the compressed parameters to a second computing node, the second computing node updating a NN model based on the parameters.

9. The method of claim 8 , wherein the ordering iteration occurs every Kth iteration, K being an integer.

10. The method of claim 9 , wherein K varies over time.

11. The method of claim 9 , wherein the parameters are weights for artificial neurons represented by data stored by at least one of the plurality of computing nodes.

12. The method of claim 9 , wherein the second computing node is a master node.

13. The method of claim 9 , wherein, the NN comprises a plurality of layers and a plurality of links connecting the neurons, and wherein during each iteration the node executes a forward pass and a backward pass to generate gradients for the links and to generate weights for the links from the gradients.

14. A system comprising a plurality of nodes conducting training on a neural network (NN), the NN comprising neurons, each node comprising:

a memory; and

a processor; the processor comprising at least one node configured to:

over a plurality of iterations:

sort weights generated at the processor to create sorted weights;

compress the sorted weights to produce compressed sorted weights; and

transmit the compressed sorted weights to least one other node of the plurality of nodes, the other node updating a NN model based on the weights generated at the processor;

wherein, on each Kth iteration of the plurality of iterations, K being an integer greater than 1:

a sort order of the sorted weights is created by the processor; and

the sort order is transmitted to least one node of the plurality of nodes.

15. The system of claim 14 , wherein on an iteration which is not a Kth iteration, the weights are sorted using a last sort order created.

16. The system of claim 15 , wherein K varies over time.

17. The system of claim 14 , wherein the neurons are artificial neurons represented by data stored by the plurality of nodes.

18. The system of claim 14 , wherein the plurality of nodes comprises a master node and wherein the compressed sorted weights are transmitted to the master node.

19. The system of claim 14 , wherein, the NN comprises a plurality of layers, and wherein during each iteration:

weights are generated for at least two of the plurality of layers, and

sorting, compressing, and transmitting is performed for the weights for the at least two of the plurality of layers.

20. The system of claim 14 , wherein, the NN comprises a plurality of layers and a plurality of links connecting the neurons, and wherein during each iteration the processor at least one node executes a forward pass and a backward pass to generate gradients for the links and to generate weights for the links from the gradients.

Assignments (3)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2025
From: NEURALMAGIC, INC.
To: RED HAT, INC.
Reel/Frame 072278/0309 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2019
From: MATVEEV, ALEXANDER; SHAVIT, NIR
To: NEURALMAGIC INC.
Reel/Frame 048195/0267 →
Continuity (3)
Provisional Application 62588970 · Nov 21, 2017
Provisional Application 62588324 · Nov 18, 2017
Related Publication 20190156215A1 · May 23, 2019
Cited By (2)
US 12,596,932 US 12,670,430