IP Library Granted Patent US 11,948,050
Granted Patent B2
US 11,948,050 · App. 16/794,740 · Granted Apr 2, 2024

Caching of machine learning model training parameters

Inventors: Sean Creedon (Ballincollig, IE); Ian Gerard Roche (Glanmire, IE)
Assignee: EMC IP Holding Company LLC
G06N20/00G06F9/45558G06F12/0871G06N3/08G06F2009/45583G06F2009/45595
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,948,050
App. No.
16/794,740
Granted
Apr 2, 2024
Kind
B2
Abstract

Techniques are provided for caching of machine learning model training parameters. One method comprises training a machine learning model using a given training dataset; and caching a parameter of the machine learning model from the training with the given training dataset. The cached parameter of the machine learning model is used for a subsequent training of the machine learning model. The caching may be performed after each of multiple iterations of the training of the machine learning model. A given cached iteration of the training of the machine learning model may be identified using a key based on: (i) a hash of the given training dataset, (ii) a hash of the machine learning model parameter, and/or (iii) hyperparameters of the machine learning model. The caching of a given iteration of the machine learning model may occur when the given cached iteration is not found in a cache memory.

Claims (30)

1. A method, comprising:

training, by a first training process, a machine learning model using a given training dataset comprising a plurality of input training data elements and respective ones of a plurality of output labels, wherein the training learns one or more parameters of the machine learning model, using the given training dataset to learn to recognize a given output label of the plurality of output labels for a given input training data element, wherein the one or more learned parameters of the machine learning model comprise one or more weights for respective connections between a plurality of layers of the machine learning model, and wherein the trained machine learning model generates one or more of: (i) at least one prediction and (ii) at least one classification, wherein the one or more learned parameters of the machine learning model are distinct from the plurality of input training data elements and from the plurality of output labels; and

caching, in at least one cache memory, at least one of the one or more learned parameters of the machine learning model from the training with the given training dataset, wherein the cached at least one learned parameter of the machine learning model is reused for a subsequent training, by a subsequent training process, wherein the subsequent training process is distinct from the first training process, wherein the cached at least one learned parameter of the machine learning model is provided, in response to a request by the subsequent training process, to the subsequent training process by a processor-based cache manager that manages the at least one cache memory for a plurality of training processes;

wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

2. The method of claim 1 , wherein the caching is performed after each of a plurality of iterations of the training of the machine learning model.

3. The method of claim 2 , wherein a given cached iteration of the training of the machine learning model is identified using a key based at least in part on one or more of: (i) a hash of the given training dataset, (ii) a hash of the at least one learned parameter of the machine learning model following the given cached iteration, and (iii) one or more hyperparameters of the machine learning model following the given cached iteration.

4. The method of claim 3 , wherein the key for the given cached iteration of the training of the machine learning model is evaluated to determine if the given cached iteration is in the at least one cache memory.

5. The method of claim 2 , wherein a given cached iteration of the training of the machine learning model comprises the trained machine learning model following the given cached iteration, checkpoints of the given cached iteration, and a response time of the given cached iteration.

6. The method of claim 2 , wherein the caching of a given iteration of the training of the machine learning model occurs when the given cached iteration is not found in the at least one cache memory.

7. The method of claim 6 , wherein the at least one cache memory is accessible by one or more of: (a) one or more physical processing devices, and (b) one or more virtual processing devices that implement the training of the machine learning model.

8. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

the at least one processing device being configured to implement the following steps:

training, by a first training process, a machine learning model using a given training dataset comprising a plurality of input training data elements and respective ones of a plurality of output labels, wherein the training learns one or more parameters of the machine learning model, using the given training dataset to learn to recognize a given output label of the plurality of output labels for a given input training data element, wherein the one or more learned parameters of the machine learning model comprise one or more weights for respective connections between a plurality of layers of the machine learning model, and wherein the trained machine learning model generates one or more of: (i) at least one prediction and (ii) at least one classification, wherein the one or more learned parameters of the machine learning model are distinct from the plurality of input training data elements and from the plurality of output labels; and

caching, in at least one cache memory, at least one of the one or more learned parameters of the machine learning model from the training with the given training dataset, wherein the cached at least one learned parameter of the machine learning model is reused for a subsequent training, by a subsequent training process, wherein the subsequent training process is distinct from the first training process, wherein the cached at least one learned parameter of the machine learning model is provided, in response to a request by the subsequent training process, to the subsequent training process by a processor-based cache manager that manages the at least one cache memory for a plurality of training processes.

9. The apparatus of claim 8 , wherein the caching is performed after each of a plurality of iterations of the training of the machine learning model.

10. The apparatus of claim 9 , wherein a given cached iteration of the training of the machine learning model is identified using a key based at least in part on one or more of: (i) a hash of the given training dataset, (ii) a hash of the at least one learned parameter of the machine learning model following the given cached iteration, and (iii) one or more hyperparameters of the machine learning model following the given cached iteration.

11. The apparatus of claim 10 , wherein the key for the given cached iteration of the training of the machine learning model is evaluated to determine if the given cached iteration is in the at least one cache memory.

12. The apparatus of claim 9 , wherein a given cached iteration of the training of the machine learning model comprises the trained machine learning model following the given cached iteration, checkpoints of the given cached iteration, and a response time of the given cached iteration.

13. The apparatus of claim 9 , wherein the caching of a given iteration of the training of the machine learning model occurs when the given cached iteration is not found in the at least one cache memory.

14. The apparatus of claim 13 , wherein the at least one cache memory is accessible by one or more of: (a) one or more physical processing devices, and (b) one or more virtual processing devices that implement the training of the machine learning model.

15. A non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device to perform the following steps:

training, by a first training process, a machine learning model using a given training dataset comprising a plurality of input training data elements and respective ones of a plurality of output labels, wherein the training learns one or more parameters of the machine learning model, using the given training dataset to learn to recognize a given output label of the plurality of output labels for a given input training data element, wherein the one or more learned parameters of the machine learning model comprise one or more weights for respective connections between a plurality of layers of the machine learning model, and wherein the trained machine learning model generates one or more of: (i) at least one prediction and (ii) at least one classification, wherein the one or more learned parameters of the machine learning model are distinct from the plurality of input training data elements and from the plurality of output labels; and

caching, in at least one cache memory, at least one of the one or more learned parameters of the machine learning model from the training with the given training dataset, wherein the cached at least one learned parameter of the machine learning model is reused for a subsequent training, by a subsequent training process, wherein the subsequent training process is distinct from the first training process, wherein the cached at least one learned parameter of the machine learning model is provided, in response to a request by the subsequent training process, to the subsequent training process by a processor-based cache manager that manages the at least one cache memory for a plurality of training processes.

16. The non-transitory processor-readable storage medium of claim 15 , wherein the caching is performed after each of a plurality of iterations of the training of the machine learning model.

17. The non-transitory processor-readable storage medium of claim 16 , wherein a given cached iteration of the training of the machine learning model is identified using a key based at least in part on one or more of: (i) a hash of the given training dataset, (ii) a hash of the at least one learned parameter of the machine learning model following the given cached iteration, and (iii) one or more hyperparameters of the machine learning model following the given cached iteration.

18. The non-transitory processor-readable storage medium of claim 17 , wherein the key for the given cached iteration of the training of the machine learning model is evaluated to determine if the given cached iteration is in the at least one cache memory.

19. The non-transitory processor-readable storage medium of claim 16 ,

wherein a given cached iteration of the training of the machine learning model comprises the trained machine learning model following the given cached iteration, checkpoints of the given cached iteration, and a response time of the given cached iteration.

20. The non-transitory processor-readable storage medium of claim 16 , wherein the caching of a given iteration of the training of the machine learning model occurs when the given cached iteration is not found in the at least one cache memory.

Assignments (13)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0582 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0441 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2020
From: CREEDON, SEAN; ROCHE, IAN GERARD
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051859/0634 →