AI Training Data Caching Across Epochs and Parallel Pipelines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing AI training frameworks lack efficient caching mechanisms, leading to inefficient data access and processing during multiple epochs, often resulting in performance bottlenecks due to insufficient memory or lack of built-in caching operators, which necessitate user-defined solutions.

Innovation Solution

An intelligent caching system is introduced, utilizing a controller to generate cache IDs, randomize data IDs, and selectively fetch data from a caching server, while optimizing cache node placement and performance through run-time analysis and replacement of non-functional nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the entire training data set is cached into memory or file, then data access speed is improved, but memory or disk space requirements increase significantly

Engineering Contradiction:
Improvedata access speedVSAvoidmemory or disk space
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The training data is divided into multiple shards or partitions that can be independently cached and managed. Each shard can be cached separately in memory or on disk, allowing the system to cache only the necessary portions of data rather than the entire dataset, thus reducing overall memory and disk space requirements while maintaining fast access speeds for cached portions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different caching strategies are applied to different portions of the training data based on their access patterns and importance. Frequently accessed or critical data shards are cached in memory for fast access, while less frequently accessed data is stored on disk. This differentiated approach optimizes the balance between access speed and resource consumption.

Inventive Principle:
Principle #3Local quality

2Productivity

If a cache operator is inserted at a specific place in the framework, then caching functionality is achieved, but framework complexity increases

Engineering Contradiction:
Improvecaching functionalityVSAvoidframework complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The caching mechanism is designed as a universal, framework-agnostic layer that can be integrated into existing AI training frameworks without requiring modifications to the core framework logic. The cache operator serves multiple purposes: caching training data, managing memory resources, and providing fast access paths, thereby reducing the need for multiple separate components and simplifying the overall system architecture.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The cache operator acts as an intermediary layer between the data storage system and the training framework. It handles all caching operations, data retrieval, and memory management tasks, allowing the rest of the framework to operate unchanged. This mediator approach isolates the complexity of caching operations in a single component rather than distributing complexity throughout the entire framework.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If data is read from storage multiple times during multiple epochs, then training accuracy is improved, but I/O time increases

Engineering Contradiction:
Improvetraining accuracyVSAvoidI/O time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Data is pre-processed, pre-loaded, and cached into memory during the first epoch or in advance before training begins. This preliminary action ensures that during subsequent epochs, the same data can be retrieved from fast memory rather than being repeatedly read from slow storage, significantly reducing I/O time while maintaining the ability to train on the same data multiple times for improved accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The caching mechanism maintains continuous availability of training data in memory across multiple epochs, eliminating the repeated start-stop cycles of reading from and writing to storage. This continuous data availability in the cached state allows the training process to proceed without interruption, maintaining training accuracy while eliminating the time loss associated with repeated I/O operations.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS12511530B2System, method and apparatus for intelligent caching
Publication Date: 2025.12.30 HUAWEI TECH CO LTD
  • US12511530B2 patent drawing
  • US12511530B2 patent drawing
  • US12511530B2 patent drawing

AI summary

The disclosed systems and methods are directed to generating cache IDs for each of a plurality of AI training pipelines, accessing training data elements included in a training data set, generating IDs corresponding to the training data elements, receiving the data IDs and an associated cache ID, randomizing the data IDs, selecting a subset of the randomized data IDs, fetching the training data elements previously cached by a cache node, receiving a portion of the training data elements present in the caching server corresponding to the subset of randomized data IDs, forwarding the portion of the training data elements present in the caching server to at least one consumer node, fetching the remaining training data elements associated with the subset of randomized data IDs from the training data set, and forwarding the remaining training data elements to at least one transformation node for training the neural network.