IP Library › Granted Patent US 11,481,627
Granted Patent B2
US 11,481,627 · App. 16/669,283 · Granted Oct 25, 2022

Distributed learning of composite machine learning models

Inventors: Yuwei Qiu (Pittsburgh, PA); Chengming Jiang (Sunnyvale, CA); Huiji Gao (Sunnyvale, CA); Bee-Chung Chen (Mountain View, CA); Bo Long (Palo Alto, CA)
Assignee: Microsoft Technology Licensing, LLC
G06N3/08G06N3/0454
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,481,627
App. No.
16/669,283
Granted
Oct 25, 2022
Kind
B2
Abstract

Computer-implemented techniques for learning composite machine learned models are disclosed. Benefits to implementors of the disclosed techniques include allowing non-machine learning experts to use the techniques for learning a composite machine learned model based on a learning dataset, reducing or eliminating the explorative trial and error process of manually tuning architectural parameters and hyperparameters, and reducing the computing resource requirements and model learning time for learning composite machine learned models. The techniques improve the operation of distributed learning computing systems by reducing or eliminating straggler effects and by reducing or minimizing synchronization latency when executing a composite model search algorithm for learning a composite machine learned model.

Claims (53)

1. A method performed by a computing system having one or more processors, the method comprising:

assigning a respective machine learning task for learning a first machine learned sub-neural network to each worker node in a first plurality of worker nodes and assigning a respective machine learning task for learning a second machine learned sub-neural network to each worker node in a second plurality of worker nodes such that each worker node in the first plurality of worker nodes and in the second plurality of worker nodes performs the respective machine learning task at least partially in parallel with at least one other of the respective machine learning tasks assigned to first plurality and second plurality of worker nodes;

based on detecting that the first plurality of worker nodes has completed the respective machine learning tasks assigned to the first plurality of worker nodes, commanding the first plurality of worker nodes to perform a synchronization process for the first machine learned sub-neural network; and

based on detecting that the second plurality of worker nodes has completed the respective machine learning tasks assigned to the second plurality of worker nodes, commanding the second plurality of worker nodes to perform a synchronization process for the second machine learned sub-neural network.

2. The method of claim 1 , further comprising:

based on the detecting that the first plurality of worker nodes have completed the synchronization process for the first machine learned sub-neural network, assigning a respective machine learning task for learning a third machine learned sub-neural network to each worker node in the first plurality of worker nodes such that each worker node in the first plurality of worker nodes performs the respective machine learning task for the third machine learned sub-neural network at least partially in parallel with at least one of the respective machine learning tasks for the second machine learned sub-neural network assigned to the second plurality of worker nodes.

3. The method of claim 2 , further comprising:

discarding the third machine learned sub-neural network at an iteration of a composite neural network search algorithm.

4. The method of claim 1 , further comprising:

selecting a number of worker nodes to perform respective machine learning tasks for the first machine learned sub-neural network based on a number of hidden layer units of the first machine learned sub-neural network; and

assigning the respective machine learning task for learning the first machine learned sub-neural network to each worker node in the first plurality of worker nodes based on the selected number of worker nodes.

5. The method of claim 1 , further comprising:

selecting a number of worker nodes to perform respective machine learning tasks for the first machine learned sub-neural network based on a number of hidden layer connections of the first machine learned sub-neural network; and

assigning the respective machine learning task for learning the first machine learned sub-neural network to each worker node in the first plurality of worker nodes based on the selected number of worker nodes.

6. The method of claim 1 , further comprising:

causing a composite neural network to be generated according to a composite neural network search algorithm based on the first machine learned sub-neural network and the second machine learned sub-neural network.

7. The method of claim 1 , wherein the method is performed by a task scheduler of a worker group of a distributed learning system according to a parameter server framework, the worker group comprising the first plurality of worker nodes and the second plurality of worker nodes.

8. One or more non-transitory computer-readable media storing one or more programs and configured for execution by a computing system having one or more processors, the one or more programs comprising instructions which, when executed by the one or more processors, cause the computing system to perform operations comprising:

assigning a respective machine learning task for learning a first machine learned sub-model to each worker node in a first plurality of worker nodes and assigning a respective machine learning task for learning a second machine learned sub-model to each worker node in a second plurality of worker nodes such that each worker node in the first plurality of worker nodes and in the second plurality of worker nodes performs the respective machine learning task at least partially in parallel with at least one other of the respective machine learning tasks assigned to first plurality and second plurality of worker nodes;

based on detecting that the first plurality of worker nodes has completed the respective machine learning tasks assigned to the first plurality of worker nodes, commanding the first plurality of worker nodes to perform a synchronization process for the first machine learned sub-model; and

based on detecting that the second plurality of worker nodes has completed the respective machine learning tasks assigned to the second plurality of worker nodes, commanding the second plurality of worker nodes to perform a synchronization process for the second machine learned sub-model.

9. The one or more non-transitory computer-readable media of claim 8 , wherein the instructions, when executed by the one or more processors, further cause the computing system to perform operations comprising:

based on the detecting that the first plurality of worker nodes have completed the synchronization process for the first machine learned sub-model, assigning a respective machine learning task for learning a third machine learned sub-model to each worker node in the first plurality of worker nodes such that each worker node in the first plurality of worker nodes performs the respective machine learning task for the third machine learned sub-model at least partially in parallel with at least one of the respective machine learning tasks for the second machine learned sub-model assigned to the second plurality of worker nodes.

10. The one or more non-transitory computer-readable media of claim 9 , wherein the instructions, when executed by the one or more processors, further cause the computing system to perform operations comprising:

discarding the third machine learned sub-model at an iteration of a composite model search algorithm.

11. The one or more non-transitory computer-readable media of claim 8 , wherein the instructions, when executed by the one or more processors, further cause the computing system to perform operations comprising:

selecting a number of worker nodes to perform respective machine learning tasks for the first machine learned sub-model based on a width of the first machine learned sub-model; and

assigning the respective machine learning task for learning the first machine learned sub-model to each worker node in the first plurality of worker nodes based on the selected number of worker nodes.

12. The one or more non-transitory computer-readable media of claim 8 , wherein the instructions, when executed by the one or more processors, further cause the computing system to perform operations comprising:

selecting a number of worker nodes to perform respective machine learning tasks for the first machine learned sub-model based on a depth of the first machine learned sub-model; and

assigning the respective machine learning task for learning the first machine learned sub-model to each worker node in the first plurality of worker nodes based on the selected number of worker nodes.

13. The one or more non-transitory computer-readable media of claim 8 , wherein the instructions, when executed by the one or more processors, further cause the computing system to perform operations comprising:

causing a composite model to be generated according to a composite model search algorithm based on the first machine learned sub-model and the second machine learned sub-model.

14. The one or more non-transitory computer-readable media of claim 8 , wherein the first machine learned sub-model is a first machine learned neural network; and wherein the second machine learned sub-model is a second machine learned neural network.

15. A computing system comprising:

storage media;

one or more processors; and

one or more programs stored in the storage media and configured for execution by the one or more processors, the one or more programs comprising instructions which, when executed by the one or more processors, cause the computing system to perform operations comprising:

assigning a respective machine learning task for learning a first machine learned sub-model to each worker node in a first plurality of worker nodes and assigning a respective machine learning task for learning a second machine learned sub-model to each worker node in a second plurality of worker nodes such that each worker node in the first plurality of worker nodes and in the second plurality of worker nodes performs the respective machine learning task at least partially in parallel with at least one other of the respective machine learning tasks assigned to first plurality and second plurality of worker nodes;

based on detecting that the first plurality of worker nodes has completed the respective machine learning tasks assigned to the first plurality of worker nodes, commanding the first plurality of worker nodes to perform a synchronization process for the first machine learned sub-model; and

based on detecting that the second plurality of worker nodes has completed the respective machine learning tasks assigned to the second plurality of worker nodes, commanding the second plurality of worker nodes to perform a synchronization process for the second machine learned sub-model.

16. The computing system of claim 15 , wherein the instructions, when executed by the one or more processors, further cause the computing system to perform operations comprising:

based on the detecting that the first plurality of worker nodes have completed the synchronization process for the first machine learned sub-model, assigning a respective machine learning task for learning a third machine learned sub-model to each worker node in the first plurality of worker nodes such that each worker node in the first plurality of worker nodes performs the respective machine learning task for the third machine learned sub-model at least partially in parallel with at least one of the respective machine learning tasks for the second machine learned sub-model assigned to the second plurality of worker nodes.

17. The computing system of claim 16 , wherein the instructions, when executed by the one or more processors, further cause the computing system to perform operations comprising:

discarding the third machine learned sub-model at an iteration of a composite model search algorithm.

18. The computing system of claim 15 , wherein the instructions, when executed by the one or more processors, further cause the computing system to perform operations comprising:

selecting a number of worker nodes to perform respective machine learning tasks for the first machine learned sub-model based on a width of the first machine learned sub-model; and

assigning the respective machine learning task for learning the first machine learned sub-model to each worker node in the first plurality of worker nodes based on the selected number of worker nodes.

19. The computing system of claim 15 , wherein the instructions, when executed by the one or more processors, further cause the computing system to perform operations comprising:

selecting a number of worker nodes to perform respective machine learning tasks for the first machine learned sub-model based on a depth of the first machine learned sub-model; and

assigning the respective machine learning task for learning the first machine learned sub-model to each worker node in the first plurality of worker nodes based on the selected number of worker nodes.

20. The computing system of claim 15 , wherein the instructions, when executed by the one or more processors, further cause the computing system to perform operations comprising:

causing a composite model to be generated according to a composite model search algorithm based on the first machine learned sub-model and the second machine learned sub-model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2019
From: QIU, YUWEI; JIANG, CHENGMING; GAO, HUIJI; CHEN, BEE-CHUNG; LONG, BO
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 050869/0739 →
Continuity (1)
Related Publication 20210133555A1 · May 6, 2021
Cited By (3)
US 12,530,876 US 12,561,616 US 12,614,383