IP Library Granted Patent US 12,430,582
Granted Patent B2
US 12,430,582 · App. 17/376,962 · Granted Sep 30, 2025

Method and system for distributed deep machine learning

Inventors: Andrew Feng (Cupertino, CA); Jun Shi (Sunnyvale, CA); Mridul Jain (Cupertino, CA); Peter Cnudde (Los Altos, CA)
Assignee: Verizon Patent and Licensing Inc.
G06N20/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 12,430,582
App. No.
17/376,962
Granted
Sep 30, 2025
Kind
B2
Abstract

The present teaching relates to distributed deep machine learning on a cluster. In one example, a request is received for estimating one or more parameters associated with a machine learning model on a cluster including a plurality of nodes. A set of data is obtained to be used for estimating the one or more parameters. The set of data is divided into a plurality of sub-sets of data, each of which corresponds to one of the plurality of nodes. Each sub-set of data is allocated to a corresponding node for estimating values of the one or more parameters based on the sub-set of data. Estimated values of the one or more parameters obtained based on a corresponding sub-set of data allocated to the node, are received from each of the plurality of nodes. The one or more parameters of the machine learning model are estimated based on the estimated values of the one or more parameters generated by at least some of the plurality of nodes.

Claims (61)

1. A method implemented on at least one computing device each of which has at least one processor, storage, and a communication platform connected to a network for estimating one or more parameters of a machine learning model, the method comprising:

estimating, by each of a plurality of processing units in a first node of a plurality of nodes, values of the one or more parameters associated with the machine learning model, wherein each of the plurality of processing units estimates the values based on a batch of a subset of training data allocated to the first node;

generating, by a preselected representative processing unit of the first node preselected from the plurality of the processing units, a vector by aggregating the values of the one or more parameters estimated by the plurality of processing units in the first node;

dividing, by the representative processing unit of the first node, the vector into a plurality of fractions, each of which is designated to one of the plurality of nodes;

identifying a first fraction and remaining fractions of the plurality of fractions, wherein the first fraction is designated to the first node and the remaining fractions are designated to corresponding other nodes of the plurality of nodes;

aggregating the first fraction designated to the first node and the first fractions received from other nodes of the plurality of nodes to generate an aggregated first fraction;

sending, by the representative processing unit of the first node, the aggregated first fraction to representative processing units of the other nodes of the plurality of nodes;

receiving, by the representative processing unit of the first node, from the representative processing units of the other nodes of the plurality of nodes, aggregated remaining fractions of the remaining fractions designated to the other nodes;

creating an iteration final estimate of the one or more parameters based on the aggregated first fraction and the aggregated remaining fractions;

broadcasting, by the representative processing unit of the first node, the iteration final estimate to all other processing units of the plurality of processing units in the first node to synchronize a learning state of the machine-learning model across the plurality of nodes; and

iterating the above recited steps until a predetermined condition is met.

2. The method of claim 1 , further comprising:

generating a snapshot of a state of the one or more parameters of the model; and

storing the snapshot in a storage outside the plurality of nodes.

3. The method of claim 2 , further comprising:

in response to a failure with respect to estimating the one or more parameters, retrieving the snapshot of the state of the one or more parameters of the model from the storage; and

continuing to estimate the one or more parameters based on the last state of the one or more parameters.

4. The method claim 1 , wherein the plurality of nodes are synchronized via a Message Passing Interface (MPI) AllReduce based Application Program Interface (API) using a network interface implemented on each of the plurality of nodes, wherein the network interface includes an Ethernet interface, an Infiniband interface, or the Ethernet interface and the Infiniband interface.

5. The method of claim 1 , wherein the preselected representative processing unit is a graphical processing unit.

6. A system, having at least one processor, storage, and a communication platform connected to a network for estimating one or more parameters of a machine learning model, the system comprising:

a first node, of a plurality of nodes, implemented by the at least one processor and configured for:

estimating, by each of a plurality of processing units in the first node, values of the one or more parameters associated with the machine learning model, wherein each of the plurality of processing units estimates the values based on a batch of a subset of training data allocated to the first node;

generating, by a preselected representative processing unit of the first node preselected from the plurality of the processing units, a vector by aggregating the values of the one or more parameters estimated by the plurality of processing units in the first node;

dividing, by the representative processing unit of the first node, the vector into a plurality of fractions, each of which is designated to one of the plurality of nodes;

identifying a first fraction and remaining fractions of the plurality of fractions, wherein the first fraction is designated to the first node and the remaining fractions are designated to corresponding other nodes of the plurality of nodes;

aggregating the first fraction designated to the first node and the first fractions received from other nodes of the plurality of nodes to generate an aggregated first fraction;

sending, by the representative processing unit of the first node, the aggregated first fraction to representative processing units of the other nodes of the plurality of nodes;

receiving, by the representative processing unit of the first node, from the representative processing units of the other nodes of the plurality of nodes, aggregated remaining fractions of the remaining fractions designated to the other nodes;

creating an iteration final estimate of the one or more parameters based on the aggregated first fraction and the aggregated remaining fractions;

broadcasting, by the representative processing unit of the first node, the iteration final estimate to all other processing units of the plurality of processing units in the first node to synchronize a learning state of the machine-learning model across the plurality of nodes; and

iterating the above recited steps until a predetermined condition is met; and

the other nodes, of the plurality of nodes, implemented by the at least one processor and configured for:

receiving the aggregated first fraction of the vector from the first node; and

sending the aggregated remaining fractions of the vector designated to the other nodes to the first node.

7. The system of claim 6 , wherein the first node comprises:

a model snapshot generator implemented by the at least one processor and configured for

generating a snapshot of a state of the one or more parameters of the model; and

storing the snapshot in a storage outside the plurality of nodes.

8. The system of claim 7 , wherein the first node is implemented by the at least one processor and configured further for:

in response to a failure with respect to estimating the one or more parameters, retrieving the snapshot of the state of the one or more parameters of the model from the storage; and

continuing to estimate the one or more parameters based on the last state of the one or more parameters.

9. The system claim 6 , wherein the plurality of nodes are synchronized via a Message Passing Interface (MPI) AllReduce based Application Program Interface (API) using a network interface implemented on each of the plurality of nodes, wherein the network interface includes an Ethernet interface, an Infiniband interface, or the Ethernet interface and the Infiniband interface.

10. The system of claim 6 , wherein the preselected representative processing unit is a graphical processing unit.

11. A machine-readable tangible and non-transitory medium having information for estimating one or more parameters of a machine learning model, wherein the information, when read by a first node of a plurality of nodes, causes the first node to perform the following:

estimating, by each of a plurality of processing units in the first node of the plurality of nodes, values of the one or more parameters associated with the machine learning model, wherein each of the plurality of processing units estimates the values based on a batch of a subset of training data allocated to the first node;

generating, by a preselected representative processing unit of the first node preselected from the plurality of the processing units, a vector by aggregating the values of the one or more parameters estimated by the plurality of processing units in the first node;

dividing, by the representative processing unit of the first node, the vector into a plurality of fractions, each of which is designated to one of the plurality of nodes;

identifying a first fraction and remaining fractions of the plurality of fractions, wherein the first fraction is designated to the first node and the remaining fractions are designated to corresponding other nodes of the plurality of nodes;

aggregating the first fraction designated to the first node and the first fractions received from other nodes of the plurality of nodes to generate an aggregated first fraction;

sending, by the representative processing unit of the first node, the aggregated first fraction to representative processing units of the other nodes of the plurality of nodes;

receiving, by the representative processing unit of the first node, from the representative processing units of the other nodes of the plurality of nodes, aggregated remaining fractions of the remaining fractions designated to the other nodes;

creating an iteration final estimate of the one or more parameters based on the aggregated first fraction and the aggregated remaining fractions;

broadcasting, by the representative processing unit of the first node, the iteration final estimate to all other processing units of the plurality of processing units in the first node to synchronize a learning state of the machine-learning model across the plurality of nodes; and

iterating the above recited steps until a predetermined condition is met.

12. The machine-readable tangible and non-transitory medium of claim 11 , wherein the information, when read by the first node, causes the first node to further perform:

generating a snapshot of a state of the one or more parameters of the model; and

storing the snapshot in a storage outside the plurality of nodes.

13. The machine-readable tangible and non-transitory medium of claim 12 , wherein the information, when read by the first node, causes the first node to further perform:

in response to a failure with respect to estimating the one or more parameters, retrieving the snapshot of the state of the one or more parameters of the model from the storage; and

continuing to estimate the one or more parameters based on the last state of the one or more parameters.

14. The machine-readable tangible and non-transitory medium of claim 11 , wherein the plurality of nodes are synchronized via a Message Passing Interface (MPI) AllReduce based Application Program Interface (API) using a network interface implemented on each of the plurality of nodes, wherein the network interface includes an Ethernet interface, an Infiniband interface, or the Ethernet interface and the Infiniband interface.

Assignments (6)
CHANGE OF NAME Recorded Mar 22, 2022
From: VERIZON MEDIA INC.
To: YAHOO AD TECH LLC
Reel/Frame 059472/0328 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2021
From: VERIZON MEDIA INC.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 059033/0379 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2021
From: FENG, ANDREW; SHI, JUN; JAIN, MRIDUL; CNUDDE, PETER
To: YAHOO! INC.
Reel/Frame 056870/0737 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2021
From: YAHOO! INC.
To: YAHOO HOLDINGS, INC.
Reel/Frame 056870/0831 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2021
From: YAHOO HOLDINGS, INC.
To: OATH INC.
Reel/Frame 056870/0901 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2021
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 056870/0970 →
Continuity (2)
Continuation 15009968 · Jan 29, 2016
Related Publication 20210342747A1 · Nov 4, 2021
References Cited (26)
US 8027938B1 · Xu et al. · 2011 [cited by applicant]
US 20130254196A1 · Babu et al. · 2013 [cited by applicant]
US 20130290223A1 · Chapelle et al. · 2013 [cited by applicant]
US 20150193695A1 · Cruz Mota et al. · 2015 [cited by applicant]
US 20150254330A1 · Chan et al. · 2015 [cited by applicant]
US 20150254555A1 · Williams, Jr. et al. · 2015 [cited by applicant]
US 20150324690A1 · Chilimbi et al. · 2015 [cited by applicant]
US 20160004609A1 · Knight · 2016 [cited by applicant]
US 20160004610A1 · Knight · 2016 [cited by applicant]
US 20160103901A1 · Kadav et al. · 2016 [cited by applicant]
Crotty, A., Galakatos, A., & Kraska, T. (2014). Tupleware: Distributed Machine Learning on Small Clusters. IEEE Data Eng. Bull., 37(3), 63-76. (Year: 2014). [cited by examiner]
Jacobsen, Dana A et al “An MPI-CUDA Implementation for Massively Parallel Incompressible Flow Computations on Multi-GPU Clusters” Boise State University [Publish 2010] [Retrieved Mar. 2021] <URL: https://scholarworks.bo… [cited by applicant]
Marsic, Ivan “Ctgars omputer Networks: Performance and Quality of Service” Rutgars University [Published 2013] [Retrieved Oct. 2020] <URL: https ://www .ece. rutgers .edu/-marsic/books/CN/book-CN_marsic. pdf> (Year: 201… [cited by applicant]
Skoda, Petr “Scheduler for the Stream Processing Frameworks on Hadoop Clusters” Brno UT [Published Nov. 2014] [Retrieved Apr. 2020] <URL: https://is.muni.cz/th/azdby/rigo_skoda_with_papers.pdf> (Year: 2014). [cited by applicant]
Chen, Linchuan et al. “Accelerating MapReduce on a coupled CPU-GPU architecture” SC'12 [Published 2012] [Retrieved Apr. 2020] <URL: https://ieeexplore.ieee.org/abstract/document/6468489> (Year: 2012). [cited by applicant]
Dean et al. “Large Scale Distributed Deep Networks” NIPS 2012 [Published Online 2012] [Retrieved Online Dec. 2018] <URL: https:// www.cs.toronto.edu/-ranzato/publications/DistBeliefN I PS2012_withAppendix.pdf> (Year: 20… [cited by applicant]
Zhang et al. “Poseidon: A System Architecture for Efficient GPU-based Deep Learning on Multiple Machines” arxiv.og [Published Online Dec. 19, 2015] [Retrieved online Dec. 18] <URL: https:/arxiv.org/pdf/1512.06216.pdf> (… [cited by applicant]
Agarwal “A reliable effective terascale linear Learning System” Journal of Machine Learning Research vol. 15 pp. 1111-1133 [ Published Online 2014] [Retrieved on line Dec. 18] <URL: http://www.jmlr.org/papers/volume15/a… [cited by applicant]
Moritz et al. “SparkNet: Training Deep Networks in Spark” arXiv.org [V2 Published Nov. 26, 2015] [Retrieved Online Dec. 18] <URL: https://arxiv.org/pdf/1511.06051v2.pdf> (Year: 2015). [cited by applicant]
Reyes-Ortiz et al. “Big Data Analytics in the Cloud . . . ” Procedia Computer Science vol. 53 pp. 121-130 [Publsihed Online 2015] [ Retrieved Online Dec. 18] <URL: https://www.sciencedirect.com/science/article/pii/S1877… [cited by applicant]
Li et al. “Parameter Server for Distributed Machine Learning” Big Learning NIPS 2013 [Published Online 2013] [Retrieved Online Dec. 18] <U RL:http://www.cs.cmu.edu/-feixia/files/ps.pdf> (Year: 2013). [cited by applicant]
Notice of Allowance issued Jun. 27, 2019 in Taiwanese Application No. 106102598. [cited by applicant]
Office Action issued Dec. 21, 2018 in Taiwanese Patent Application 106102598. [cited by applicant]
International Preliminary Report on Patentability mailed Aug. 9, 2018 in International Application PCT/US2017/015208. [cited by applicant]
International Search Report and Written Opinion mailed Apr. 14, 2017 in International Application PCT/US2017/015208. [cited by applicant]
Wei et al., “Managed communication and consistency for fast data-parallel iterative analytics.” In: Proceedings of the Sixth ACM Symposium on Cloud Computing, Aug. 29, 2015. [cited by applicant]