Data Echoing for ML Training Idleness Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Machine-learning training systems experience idleness due to the disparity in processing times between data pre-processing and model training steps, leading to inefficiencies and increased resource usage.

Innovation Solution

Implementing a data echoing method where repeat iterations of training operations are performed based on an echo factor, comparing computational times of data preparation and model training, to keep specialized hardware components busy even when fresh training data is unavailable.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If specialized hardware (GPUs, TPUs) is used to accelerate model training, then training speed is improved, but hardware idleness increases due to waiting for pre-processed data

Engineering Contradiction:
Improvemodel training speedVSAvoidhardware idleness time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The system performs preliminary data pre-processing actions in advance and stores processed training examples in a data buffer. When the accelerated training hardware becomes idle after consuming available processed data, the system continues to pre-process additional training data in the background. This preliminary action ensures that processed data is ready before the training hardware needs it, eliminating idle waiting time while maintaining continuous high-speed training operations.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If more training examples are processed in advance, then training continuity is improved, but computational resource usage increases

Engineering Contradiction:
Improvetraining continuityVSAvoidcomputational resource usage
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system dynamically adjusts the rate of pre-processing training examples based on the consumption rate by the accelerated training hardware. When training hardware is actively consuming processed data, the pre-processing rate is increased to maintain a sufficient buffer. When the buffer is sufficiently filled or training hardware is idle, the pre-processing rate is reduced or paused. This dynamic adjustment maintains training continuity while avoiding unnecessary computational resource consumption from over-processing.

Inventive Principle:
Principle #15Dynamics

3Productivity

If data pre-processing is performed at the same rate as training consumption, then resource utilization is improved, but training hardware idleness increases

Engineering Contradiction:
Improveresource utilizationVSAvoidtraining hardware idle time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system ensures continuous useful action by decoupling the pre-processing rate from the training consumption rate. The pre-processing operation continues at a higher rate than training consumption when the data buffer has sufficient capacity, ensuring that processed data is always available. This allows the accelerated training hardware to maintain continuous operation without idle periods, while the pre-processing pipeline operates independently to maintain the data supply buffer.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11537949B2Systems and methods for reducing idleness in a machine-learning training system using data echoing
Publication Date: 2022.12.27 GOOGLE LLC
  • US11537949B2 patent drawing
  • US11537949B2 patent drawing
  • US11537949B2 patent drawing

AI summary

A method for reducing idleness in a machine-learning training system can include performing operations by computing devices. A first set of training operations can access and prepare a plurality of training examples of a set of training data. A second set of training operations can train a machine-learned model based at least in part on the set of training data and can include one or more repeat iterations in which at least a portion of the second set of training operations is repeatedly performed such that the training example(s) are repeatedly used to train the machine-learned model. A rate of the repeat iteration(s) can be based at least in part on an echo factor that can be based at least in part on a comparison of a first computational time of the first set of training operations to a second computational time of the second set of training operations.