IP Library Granted Patent US 11,907,821
Granted Patent B2
US 11,907,821 · App. 16/586,236 · Granted Feb 20, 2024

Population-based training of machine learning models

Inventors: Ang Li (Cupertino, CA); Valentin Clement Dalibard (London, GB); David Budden (London, GB); Ola Spyra (Mountain View, CA); Maxwell Elliot Jaderberg (London, GB); Timothy James Alexander Harley (London, GB); Sagi Perel (Pittsburgh, PA); Chenjie Gu (Mountain View, CA); Pramod Gupta (Mountain View, CA)
Assignee: DeepMind Technologies Limited
G06N20/20G06F16/9024G06N5/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,907,821
App. No.
16/586,236
Granted
Feb 20, 2024
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for training a machine learning model. A method includes: maintaining a plurality of training sessions; assigning, to each worker of one or more workers, a respective training session of the plurality of training sessions; repeatedly performing operations until meeting one or more termination criteria, the operations comprising: receiving an updated training session from a respective worker of the one or more workers, selecting a second training session, selecting, based on comparing the updated training session and the second training session using a fitness evaluation function, either the updated training session or the second training session as a parent training session, generating a child training session from the selected parent training session, and assigning the child training session to an available worker, and selecting a candidate model to be a trained model for the machine learning model.

Claims (100)

1. A method of training a machine learning model, the method comprising:

maintaining a plurality of training sessions for training a machine learning model, wherein a training session of the plurality of training sessions comprises data defining (i) respective hyperparameter values for training the machine learning model and (ii) model parameter values of the machine learning model, and defines a session during which the machine learning model is trained by repeatedly updating the model parameter values of the machine learning model according to the respective hyperparameter values;

assigning, to each worker of one or more workers, one or more respective training sessions of the plurality of training sessions, each worker comprising one or more processing units to train the machine learning model during the assigned one or more respective training sessions,

wherein for each worker of the one or more workers and each of the one or more respective training sessions assigned to the worker, the worker is configured to receive the training session, initialize a respective candidate model with model parameter values defined by the training session, train the respective candidate model starting from the model parameter values of the training session and according to hyperparameter values defined by the training session to determine final model parameter values for the training session, and update the training session by replacing the model parameter values defined by the training session with the final model parameter values determined for the training session;

repeatedly performing operations until meeting one or more termination criteria, the operations comprising:

receiving an updated training session from a respective worker of the one or more workers, wherein the updated training session identifies a first training session assigned to the respective worker and the final model parameter values determined by the respective worker for the first training session assigned to the respective worker,

selecting a second training session from the plurality of training sessions,

selecting, based on comparing the updated training session and the second training session using a fitness evaluation function, either the updated training session or the second training session as a parent training session,

generating a child training session from the selected parent training session, wherein the generating comprises:

generating child hyperparameter values of the child training session for training the machine learning model by updating hyperparameter values that have been used to train the machine learning model in the parent training session, and

generating child model parameters for the child training session by setting the child model parameters using the model parameter values of the parent training session, and

assigning the child training session to an available worker; and

selecting a candidate model trained by a worker of the one or more workers to be a trained model for the machine learning model.

2. The method of claim 1 , wherein the operations further comprise:

determining that the one or more termination criteria have been met; and

in response to determining that the one or more termination criteria have been met, selecting the candidate model trained by the worker of the one or more workers to be the trained model for the machine learning model.

3. The method of claim 1 , wherein the one or more termination criteria comprise each training session in the plurality of training sessions having been compared to a respective other training session in the plurality of training sessions.

4. The method of claim 1 , further comprising:

receiving a request for final hyperparameter values used to train the selected candidate model, and

in response to the request, providing hyperparameter values of a training session used by the worker that trained the selected candidate model.

5. The method of claim 1 , wherein the operations further comprise:

maintaining a training session dependency graph, wherein each node of the training session dependency graph corresponds to a respective training session of the plurality of training sessions, and each edge between a pair of nodes in the training session dependency graph corresponds to a training session represented by a first node of the pair of nodes having been generated from another training session represented by a second node of the pair of nodes.

6. The method of claim 5 , wherein the plurality of training sessions comprises one or more initial training sessions, wherein the one or more initial training sessions comprise respective hyperparameter values sampled from a first distribution of values, and respective model parameter values sampled from a second distribution of values, and wherein the operations further comprise:

generating a hyperparameter schedule for the selected candidate model, comprising:

identifying a particular training session assigned to a worker of the one or more workers, wherein the particular training session comprises model parameter values corresponding to model parameter values of the selected candidate model,

generating a subgraph comprising a node representing the particular training session and respective nodes whose respective edges form a path from the node comprising the node representing the particular training session and a node representing an initial training session of the one or more initial training sessions, and

obtaining a hyperparameter schedule from respective hyperparameter values of each training session represented by a respective node in the subgraph.

7. The method of claim 1 , wherein generating the child training session from the selected parent training session comprises:

generating modified hyperparameter values for the child training session by multiplying respective hyperparameter values of the selected parent training session with a randomly sampled value.

8. The method of claim 1 , wherein the one or more processing units are heterogeneous.

9. The method of claim 1 , wherein respective final parameter values for each training session request of a plurality of training session requests is represented as a checkpoint software object.

10. The method of claim 1 , further comprising:

providing the trained model for use in processing new inputs.

11. A system comprising:

one or more computers and one or more storage devices on which are stored instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

maintaining a plurality of training sessions for training a machine learning model, wherein a training session of the plurality of training sessions comprises data defining (i) respective hyperparameter values for training the machine learning model and (ii) model parameter values of the machine learning model, and defines a session during which the machine learning model is trained by repeatedly updating the model parameter values of the machine learning model according to the respective hyperparameter values;

assigning, to each worker of one or more workers, one or more respective training sessions of the plurality of training sessions, each worker comprising one or more processing units to train the machine learning model during the assigned one or more respective training sessions,

wherein for each worker of the one or more workers and each of the one or more respective training sessions assigned to the worker, the worker is configured to receive the training session, initialize a respective candidate model with model parameter values defined by the training session, train the respective candidate model starting from the model parameter values of the training session and according to hyperparameter values defined by the training session to determine final model parameter values for the training session, and update the training session by replacing the model parameter values defined by the training session with the final model parameter values determined for the training session;

repeatedly performing operations until meeting one or more termination criteria, the operations comprising:

receiving an updated training session from a respective worker of the one or more workers, wherein the updated training session identifies a first training session assigned to the respective worker and the final model parameter values determined by the respective worker for the first training session assigned to the respective worker,

selecting a second training session from the plurality of training sessions,

selecting, based on comparing the updated training session and the second training session using a fitness evaluation function, either the updated training session or the second training session as a parent training session,

generating a child training session from the selected parent training session, wherein the generating comprises:

generating child hyperparameter values of the child training session for training the machine learning model by updating hyperparameter values that have been used to train the machine learning model in the parent training session, and

generating child model parameters for the child training session by setting the child model parameters using the model parameter values of the parent training session, and

assigning the child training session to an available worker; and

selecting a candidate model trained by a worker of the one or more workers to be a trained model for the machine learning model.

12. The system of claim 11 , wherein the operations further comprise:

determining that the one or more termination criteria have been met; and

in response to determining that the one or more termination criteria have been met, selecting the candidate model trained by the worker of the one or more workers to be the trained model for the machine learning model.

13. The system of claim 11 , wherein the one or more termination criteria comprise each training session in the plurality of training sessions having been compared to a respective other training session in the plurality of training sessions.

14. The system of claim 11 , wherein the operations further comprise:

receiving a request for final hyperparameter values used to train the selected candidate model, and

in response to the request, providing hyperparameter values of a training session used by the worker that trained the selected candidate model.

15. The system of claim 11 , wherein the operations further comprise:

maintaining a training session dependency graph, wherein each node of the training session dependency graph corresponds to a respective training session of the plurality of training sessions, and each edge between a pair of nodes in the training session dependency graph corresponds to a training session represented by a first node of the pair of nodes having been generated from another training session represented by a second node of the pair of nodes.

16. The system of claim 15 , wherein the plurality of training sessions comprises one or more initial training sessions, wherein the one or more initial training sessions comprise respective hyperparameter values sampled from a first distribution of values, and respective model parameter values sampled from a second distribution of values, and wherein the operations further comprise:

generating a hyperparameter schedule for the selected candidate model, comprising:

identifying a particular training session assigned to a worker of the one or more workers, wherein the particular training session comprises model parameter values corresponding to model parameter values of the selected candidate model,

generating a subgraph comprising a node representing the particular training session and respective nodes whose respective edges form a path from the node comprising the node representing the particular training session and a node representing an initial training session of the one or more initial training sessions, and

obtaining a hyperparameter schedule from respective hyperparameter values of each training session represented by a respective node in the subgraph.

17. The system of claim 11 , wherein generating the child training session from the selected parent training session comprises:

generating modified hyperparameter values for the child training session by multiplying respective hyperparameter values of the selected parent training session with a randomly sampled value.

18. The system of claim 11 , wherein the one or more processing units are heterogeneous.

19. The system of claim 11 , wherein respective final parameter values for each training session request of a plurality of training session requests is represented as a checkpoint software object.

20. The system of claim 11 , wherein the operations further comprise:

providing the trained model for use in processing new inputs.

21. One or more non-transitory computer-readable storage media encoded with instructions that, when executed by one or more computers, cause the one or more computers to perform operations comprising:

maintaining a plurality of training sessions for training a machine learning model, wherein a training session of the plurality of training sessions comprises data defining (i) respective hyperparameter values for training the machine learning model and (ii) model parameter values of the machine learning model, and defines a session during which the machine learning model is trained by repeatedly updating the model parameter values of the machine learning model according to the respective hyperparameter values;

assigning, to each worker of one or more workers, one or more respective training sessions of the plurality of training sessions, each worker comprising one or more processing units to train the machine learning model during the assigned one or more respective training sessions,

wherein for each worker of the one or more workers and each of the one or more respective training sessions assigned to the worker, the worker is configured to receive the training session, initialize a respective candidate model with model parameter values defined by the training session, train the respective candidate model starting from the model parameter values of the training session and according to hyperparameter values defined by the training session to determine final model parameter values for the training session, and update the training session by replacing the model parameter values defined by the training session with the final model parameter values determined for the training session;

repeatedly performing operations until meeting one or more termination criteria, the operations comprising:

receiving an updated training session from a respective worker of the one or more workers, wherein the updated training session identifies a first training session assigned to the respective worker and the final model parameter values determined by the respective worker for the first training session assigned to the respective worker,

selecting a second training session from the plurality of training sessions,

selecting, based on comparing the updated training session and the second training session using a fitness evaluation function, either the updated training session or the second training session as a parent training session,

generating a child training session from the selected parent training session, wherein the generating comprises:

generating child hyperparameter values of the child training session for training the machine learning model by updating hyperparameter values that have been used to train the machine learning model in the parent training session, and

generating child model parameters for the child training session by setting the child model parameters using the model parameter values of the parent training session, and

assigning the child training session to an available worker; and

selecting a candidate model trained by a worker of the one or more workers to be a trained model for the machine learning model.

22. The computer-readable storage media of claim 21 , wherein the operations further comprise:

determining that the one or more termination criteria have been met; and

in response to determining that the one or more termination criteria have been met, selecting the candidate model trained by the worker of the one or more workers to be the trained model for the machine learning model.

23. The computer-readable storage media of claim 21 , wherein the one or more termination criteria comprise each training session in the plurality of training sessions having been compared to a respective other training session in the plurality of training sessions.

24. The computer-readable storage media of claim 21 , wherein the operations further comprise:

receiving a request for final hyperparameter values used to train the selected candidate model, and

in response to the request, providing hyperparameter values of a training session used by the worker that trained the selected candidate model.

25. The computer-readable storage media of claim 21 , wherein the operations further comprise:

maintaining a training session dependency graph, wherein each node of the training session dependency graph corresponds to a respective training session of the plurality of training sessions, and each edge between a pair of nodes in the training session dependency graph corresponds to a training session represented by a first node of the pair of nodes having been generated from another training session represented by a second node of the pair of nodes.

26. The computer-readable storage media of claim 25 , wherein the plurality of training sessions comprises one or more initial training sessions, wherein the one or more initial training sessions comprise respective hyperparameter values sampled from a first distribution of values, and respective model parameter values sampled from a second distribution of values, and wherein the operations further comprise:

generating a hyperparameter schedule for the selected candidate model, comprising:

identifying a particular training session assigned to a worker of the one or more workers, wherein the particular training session comprises model parameter values corresponding to model parameter values of the selected candidate model,

generating a subgraph comprising a node representing the particular training session and respective nodes whose respective edges form a path from the node comprising the node representing the particular training session and a node representing an initial training session of the one or more initial training sessions, and

obtaining a hyperparameter schedule from respective hyperparameter values of each training session represented by a respective node in the subgraph.

27. The computer-readable storage media of claim 21 , wherein generating the child training session from the selected parent training session comprises:

generating modified hyperparameter values for the child training session by multiplying respective hyperparameter values of the selected parent training session with a randomly sampled value.

28. The computer-readable storage media of claim 21 , wherein the one or more processing units are heterogeneous.

29. The computer-readable storage media of claim 21 , wherein respective final parameter values for each training session request of a plurality of training session requests is represented as a checkpoint software object.

30. The computer-readable storage media of claim 21 , wherein the operations further comprise:

providing the trained model for use in processing new inputs.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2025
From: DEEPMIND TECHNOLOGIES LIMITED
To: GDM HOLDING LLC
Reel/Frame 071109/0414 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2019
From: LI, ANG; DALIBARD, VALENTIN CLEMENT; BUDDEN, DAVID; SPYRA, OLA; JADERBERG, MAXWELL ELLIOT; HARLEY, TIMOTHY JAMES ALEXANDER; PEREL, SAGI; GU, CHENJIE; GUPTA, PRAMOD
To: DEEPMIND TECHNOLOGIES LIMITED
Reel/Frame 050862/0369 →