IP Library › Granted Patent US 12,675,739
Granted Patent B2
US 12,675,739 · App. 18/350,716 · Granted Jul 7, 2026

Methods and systems for augmentation and feature cache

Inventors: Vladislav Blinov (Melbourne, AU); Vishal Vishnoi (Redwood City, CA); Thanh Long Duong (Seabrook, AU); Mark Edward Johnson (Sydney, AU); Xin Xu (San Jose, CA); Elias Luqman Jalaluddin (Seattle, WA); Ying Xu (Albion, AU); Ahmed Ataallah Ataallah Abobakr (Geelong, AU); Umanga Bista (Melbourne, AU); Thanh Tien Vu (Brisbane, AU)
Assignee: Oracle International Corporation
G06N20/00G10L15/1815G10L15/22
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,675,739
App. No.
18/350,716
Filed
Jul 11, 2023
Granted
Jul 7, 2026
Kind
B2
Examiner
WOO, ISAAC M
Art Unit
2163
USPC
706/12
Abstract

An augmentation and feature caching subsystem is described for training AI/ML models. In one particular aspect, a method is provided that includes receiving data comprising training examples, one or more augmentation configuration hyperparameters and one or more feature extraction configuration hyperparameters; generating a first key based on one of the training examples and the one or more augmentation configuration hyperparameters; searching a first key-value storage based on the first key; obtaining one or more augmentations based on the search of the first key-value storage; applying the obtained one or more augmentations to the training examples to result in augmented training examples; generating a second key based on one of the augmented training examples and the one or more feature extraction configuration hyperparameters; searching a second key-value storage based on the second key; obtaining one or more features based on the search of the second key-value storage.

Claims (49)

1 . A method comprising:

receiving data comprising training examples, one or more augmentation configuration hyperparameters and one or more feature extraction configuration hyperparameters, wherein the training examples, the one or more augmentation configuration hyperparameters and the one or more feature extraction configuration hyperparameters are configured to query, store or retrieve information in a caching subsystem;

generating a first key based on one of the training examples and the one or more augmentation configuration hyperparameters;

searching a first key-value storage in the caching subsystem based on the first key;

obtaining one or more augmentations in response to the search of the first key-value storage;

applying the obtained one or more augmentations to the training examples to result in augmented training examples;

generating a second key based on one of the augmented training examples and the one or more feature extraction configuration hyperparameters;

searching a second key-value storage in the caching subsystem based on the second key;

obtaining one or more features in response to the search of the second key-value storage; and

training a Machine-Learning (ML) model using the obtained one or more features.

2 . The method of claim 1 , further comprising, requesting new augmentations in accordance with the search indicating that no entry in the first key-value storage contains the first key.

3 . The method of claim 1 , further comprising retrieving one or more cached augmentations from the first key-value storage in accordance with the search indicating an entry of the first key-value storage contains the first key.

4 . The method of claim 1 , further comprising requesting new features in accordance with the search indicating that no entry in the second key-value storage contains the second key.

5 . The method of claim 1 , further comprising retrieving one or more cached features from the second key-value storage in accordance with the search indicating an entry of the second key-value storage contains the second key.

6 . The method of claim 1 , wherein the first key is in binary format and comprises a combination of a hash value of the one or more augmentation configuration hyperparameters and a byte-encoded training example; and wherein the second key is in binary format and comprises a combination of a hash value of the one or more feature extraction configuration hyperparameters and a byte-encoded_augmented_training example.

7 . The method of claim 1 , wherein the first and the second key-value storage comprises entries of information, wherein each entry comprises a binary key, a compressed value, and a validity information.

8 . The method of claim 7 , wherein the compressed value comprises augmentations in the first key-value storage, and features in the second key-value storage.

9 . The method of claim 1 , wherein the one or more augmentations obtained from the first key-value storage and the one or more features obtained from the second key-value storage are deterministic.

10 . A computer-program product tangibly embodied in one or more non-transitory machine-readable media, including instructions configured to cause one or more data processors to perform operations comprising:

receiving data comprising training examples, one or more augmentation configuration hyperparameters and one or more feature extraction configuration hyperparameters, wherein the training examples, the one or more augmentation configuration hyperparameters and the one or more feature extraction configuration hyperparameters are configured to query, store or retrieve information in a caching subsystem;

generating a first key based on one of the training examples and the one or more augmentation configuration hyperparameters;

searching a first key-value storage in the caching subsystem based on the first key;

obtaining one or more augmentations in response to the search of the first key-value storage;

applying the obtained one or more augmentations to the training examples to result in augmented training examples;

generating a second key based on one of the augmented training examples and the one or more feature extraction configuration hyperparameters;

searching a second key-value storage in the caching subsystem based on the second key;

obtaining one or more features in response to the search of the second key-value storage; and

training a Machine-Learning (ML) model using the obtained one or more features.

11 . The non-transitory machine-readable media of claim 10 , further comprising requesting new augmentations in accordance with the search indicating that no entry in the first key-value storage contains the first key.

12 . The non-transitory machine-readable media of claim 10 , further comprising retrieving one or more cached augmentations from the first key-value storage in accordance with the search indicating an entry of the first key-value storage contains the first key.

13 . The non-transitory machine-readable media of claim 10 , further comprising requesting new features in accordance with the search indicating that no entry in the second key-value storage contains the second key.

14 . The non-transitory machine-readable media of claim 10 , further comprising retrieving one or more cached features from the second key-value storage in accordance with the search indicating an entry of the second key-value storage contains the second key.

15 . The non-transitory machine-readable media of claim 10 , wherein the first key is in binary format and comprises a combination of a hash value of the one or more augmentation configuration hyperparameters and a byte-encoded training example; and wherein the second key is in binary format and comprises a combination of a hash value of the one or more feature extraction configuration hyperparameters and a byte-encoded_augmented_training example.

16 . A system comprising:

one or more processors; and

one or more non-transitory computer-readable media storing instructions which, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

receiving data comprising training examples, one or more augmentation configuration hyperparameters and one or more feature extraction configuration hyperparameters, wherein the training examples, the one or more augmentation configuration hyperparameters and the one or more feature extraction configuration hyperparameters are configured to query, store or retrieve information in a caching subsystem;

generating a first key based on one of the training examples and the one or more augmentation configuration hyperparameters;

searching a first key-value storage in the caching subsystem based on the first key;

obtaining one or more augmentations in response to the search of the first key-value storage;

applying the obtained one or more augmentations to the training examples to result in augmented training examples;

generating a second key based on one of the augmented training examples and the one or more feature extraction configuration hyperparameters;

searching a second key-value storage in the caching subsystem based on the second key;

obtaining one or more features in response to the search of the second key-value storage; and

training a Machine-Learning (ML) model using the obtained one or more features.

17 . The system of claim 16 , wherein the first key is in binary format and comprises a combination of a hash value of the one or more augmentation configuration hyperparameters and a byte-encoded training example; and wherein the second key is in binary format and comprises a combination of a hash value of the one or more feature extraction configuration hyperparameters and a byte-encoded_augmented_training example.

18 . The system of claim 16 , wherein the first and the second key-value storage comprises entries of information, and wherein each entry comprises a binary key, a compressed value, and a validity information.

19 . The system of claim 18 , wherein the compressed value comprises augmentations in the first key-value storage, and features in the second key-value storage.

20 . The system of claim 16 , wherein the one or more augmentations obtained from the first key-value storage and the one or more features obtained from the second key-value storage are deterministic.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2023
From: BLINOV, VLADISLAV; VISHNOI, VISHAL; DUONG, THANH LONG; JOHNSON, MARK EDWARD; XU, XIN; JALALUDDIN, ELIAS LUQMAN; XU, YING; ABOBAKR, AHMED ATAALLAH ATAALLAH; BISTA, UMANGA; VU, THANH TIEN
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 064233/0369 →
Continuity (2)
Provisional Application 63388899 · Jul 13, 2022
Related Publication 20240028963A1 · Jan 25, 2024
References Cited (15)
US 10163061B2 · Grove et al. · 2018 [cited by applicant]
US 11367433B2 · Sypniewski et al. · 2022 [cited by applicant]
US 20190050746A1 · Sanketi et al. · 2019 [cited by applicant]
US 20220277219A1 · Tora · 2022 [cited by examiner]
Amazon SageMaker Developer Guide How Feature Store Works, Create, store, and share features with Amazon SageMaker Feature Store, Jan. 2023, pp. 1123-1138. [cited by applicant]
Caching in ML.NET to Quickly Retrain Machine Learning Models, NCache, Available online at https://www.alachisoft.com/blogs/caching-in-ml-net-to-quickly-retrain-machine-learning-models/, Jul. 7, 2020, 5 pages. [cited by applicant]
Train and Evaluate a Model, Available online at https://learn.microsoft.com/en-us/dotnet/machine-learning/how-to-guides/train-machine-learning-model-ml-net, Oct. 12, 2021, 6 pages. [cited by applicant]
Training Your Own Model—Deep Speech 0.9.3 Documentation, Available online at https://deepspeech.readthedocs.io/en/v0.9.3/TRAINING.html?highlight=augmentation%20cache#augmentation, Dec. 14, 2022, 13 pages. [cited by applicant]
Welcome to DeepSpeech's Documentation, Available online at https://deepspeech.readthedocs.io/en/r0.9, 2020, 5 pages. [cited by applicant]
Graur et al., Cachew: Machine Learning Input Data Processing as a Service, Available online at https://anakli.inf.ethz.ch/papers/cachew_atc22.pdf, 2022, 18 pages. [cited by applicant]
Harlap, YogaDL: A Better Approach to Data Loading for Deep Learning Models, Available online at https://www.determined.ai/blog/yogadl-announcement, Aug. 5, 2020, 7 pages. [cited by applicant]
Khandelwal, How to Reduce Training Time for a Deep Learning Model using tf.data, Available online at https://towardsdatascience.com/how-to-reduce-training-time-for-a-deep-learning-model-using-tf-data-43e1989d2961, Sep. … [cited by applicant]
Lee et al., Refurbish Your Training Data: Reusing Partially Augmented Samples for Faster Deep Neural Network Training, USENIX Annual Technical Conference, Available online at https://www.usenix.org/system/files/atc21-le… [cited by applicant]
Park, Revamper Smart Data Augmentation for Faster DNN Training, Available online at https://medium.com/friendliai/revamper-smart-data-augmentation-for-faster-dnn-training-7a4bdfcda2b9, Oct. 7, 2021, 15 pages. [cited by applicant]
Wu et al., DeltaGrad: Rapid retraining of Machine Learning Models, Proceedings of the 37th International Conference on Machine Learning, Available online at http://proceedings.mlr.press/v119/wu20b/wu20b.pdf, Jun. 2020, … [cited by applicant]