IP Library Granted Patent US 11,934,487
Granted Patent B2
US 11,934,487 · App. 17/039,702 · Granted Mar 19, 2024

Splitting neural networks on multiple edge devices to train on vertically distributed data

Inventors: Mohamed Abouzeid (Giza, EG); Osama Taha Mohamed (Cairo, EG); AbdulRahman Diaa (Cairo, EG)
Assignee: EMC IP HOLDING COMPANY LLC
G06F18/2148G06F18/2185G06N3/04H04L63/04
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,934,487
App. No.
17/039,702
Granted
Mar 19, 2024
Kind
B2
Abstract

One example method includes a pipeline for a distributed neural network. The pipeline includes a first phase that identifies intersecting identifiers across datasets of multiple clients in a privacy preserving manner. The second phase includes a distributed neural network that includes a data receiving portion at each of the clients and an orchestrator portion at an orchestrator. The data receiving portions and the orchestrator portions communicate forward and backward passes to perform training without revealing the raw training data.

Claims (41)

1. A method for training a distributed neural network, comprising:

identifying intersecting identifiers for datasets across clients, each of the clients including a data receiving portion of the distributed neural network, the datasets including training data for the distributed neural network, wherein the intersecting identifiers include identifers found in two or more datasets across clients;

receiving the training data from the clients as input into corresponding data receiving portions;

generating a forward pass at each of the data receiving portions;

receiving the forward passes at an orchestrator that includes an orchestrator portion of the distributed neural network;

calculating a loss at the orchestrator portion and propagating the loss through the distributed neural network using a backwards pass from the orchestrator portion to the data receiving portions; and

adjusting the neural network based on the backwards pass.

2. The method of claim 1 , wherein the forward pass, from each of the clients, includes an output from a last layer of the data receiving data portion, wherein the outputs are input into the first layer of the orchestrator portion of the distributed neural network.

3. The method of claim 1 , further comprising generating the loss from labels stored at the orchestrator and an output of a last layer of the orchestrator portion of the distributed neural network.

4. The method of claim 1 , further comprising identifying the intersecting identifiers associated with the clients with a privacy preserving mechanism such that none of non-intersecting identifiers are disclosed.

5. The method of claim 1 , further comprising sending a request, from the orchestrator to the clients, to load at least a batch of the training data into the data receiving portions of the neural network.

6. The method of claim 1 , further comprising the orchestrator providing the clients with a structure of the distributed neural network.

7. The method of claim 1 , further comprising training the distributed neural network with the training data.

8. A non-transitory storage medium having stored therein instructions that are executable by one or more hardware processors to perform operations comprising:

identifying intersecting identifiers for datasets across clients, each of the clients including a data receiving portion of the distributed neural network, the datasets including training data for the distributed neural network, wherein the intersecting identifiers include identifers found in two or more datasets across clients;

receiving the training data from the clients as input into corresponding data receiving portions;

generating a forward pass at each of the data receiving portions;

receiving the forward passes at an orchestrator that includes an orchestrator portion of the distributed neural network;

calculating a loss at the orchestrator portion and propagating the loss through the distributed neural network using a backwards pass from the orchestrator portion to the data receiving portions; and

adjusting the neural network based on the backwards pass.

9. The non-transitory storage medium of claim 8 , wherein the forward pass, from each of the clients, includes an output from a last layer of the data receiving data portion, wherein the outputs are input into the first layer of the orchestrator portion of the distributed neural network.

10. The non-transitory storage medium of claim 8 , further comprising generating the loss from labels stored at the orchestrator and an output of a last layer of the orchestrator portion of the distributed neural network.

11. The non-transitory storage medium of claim 8 , further comprising identifying the intersecting identifiers associated with the clients with a privacy preserving mechanism such that none of non-intersecting identifiers are disclosed.

12. The non-transitory storage medium of claim 8 , further comprising sending a request, from the orchestrator to the clients, to load at least a batch of the training data into the data receiving portions of the neural network.

13. The non-transitory storage medium of claim 8 , further comprising the orchestrator providing the clients with a structure of the distributed neural network.

14. The non-transitory storage medium of claim 8 , further comprising training the distributed neural network with the training data.

15. A method for training a distributed neural network, comprising:

identifying intersecting identifiers for datasets across clients, each of the clients including a data receiving portion of the distributed neural network, the datasets including training data for the distributed neural network, wherein the intersecting identifiers include identifiers found in two or more datasets across clients;

receiving the training data from the clients as input into corresponding data receiving portions;

generating a forward pass at each of the data receiving portions;

receiving the forward passes at an orchestrator that includes an orchestrator portion of the distributed neural network;

sending an output of the orchestrator portion to the data receiving portions;

determining a loss at each of the data receiving portions;

sending the losses to the orchestrator portion;

propagating the loss through the distributed neural network using a backwards pass from the orchestrator portion to the data receiving portions; and

adjusting the neural network based on the backwards pass.

16. The method of claim 15 , wherein the forward pass, from each of the clients, includes an output from a last layer of the data receiving data portion, wherein the outputs are input into the first layer of the orchestrator portion of the distributed neural network, further comprising generating the loss from labels stored at the clients and an output of a last layer of the orchestrator portion.

17. The method of claim 15 , further comprising identifying the intersecting identifiers associated with the clients with a privacy preserving mechanism such that none of non-intersecting identifiers are disclosed.

18. The method of claim 15 , further comprising sending a request, from the orchestrator to the clients, to load at least a batch of the training data into the data receiving portions of the neural network and training the distributed neural network with the training data.

19. The method of claim 15 , further comprising the orchestrator providing the clients with a structure of the distributed neural network.

20. A non-transitory storage medium having stored therein instructions that are executable by one or more hardware processors to perform the method of claim 15 .

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 21, 2021
From: DIAA, ABDULRAHMAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 056310/0754 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2020
From: ABOUZEID, MOHAMED; MOHAMED, OSAMA TAHA; DIAA, ABDUL RAHMAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053939/0603 →