Host-Accelerator Random Number Generation for ML Training

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Machine learning in heterogeneous systems faces inefficiencies when training datasets exceed the memory capacity of accelerator units, leading to increased costs and resource utilization challenges, particularly in cloud environments where GPU resources are expensive.

Innovation Solution

A method where the host computer generates random numbers for the next batch of data while it is being copied to the accelerator unit, allowing for parallel processing and efficient sorting and permutation of coordinates, thereby optimizing the stochastic optimization process in a heterogeneous processing system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the training dataset is distributed across multiple GPUs to fit the data, then the data processing capability is improved, but the cost and resource utilization deteriorate due to increased GPU usage

Engineering Contradiction:
Improvedata processing capabilityVSAvoidGPU resources
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The training dataset is divided into multiple batches that can be processed sequentially, allowing a single GPU to handle the entire dataset over time rather than requiring multiple GPUs to hold the entire dataset in memory simultaneously. This segmentation enables out-of-core processing where data is loaded, processed, and discarded in manageable portions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Random numbers for coordinate permutation are pre-generated and stored before the actual optimization process begins. This preliminary action allows the system to avoid generating and sorting random numbers during the critical optimization phases, improving overall processing efficiency and reducing the computational burden on the GPU.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If random numbers are generated and sorted for each batch during processing, then the stochastic optimization accuracy is improved, but the processing time deteriorates due to repeated sorting operations

Engineering Contradiction:
Improveoptimization accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

Random numbers for coordinate permutation are generated and stored in advance for each batch before the optimization process begins. This preliminary generation eliminates the need for repeated random number generation and sorting during optimization iterations, significantly reducing processing time while maintaining the stochastic optimization accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuous optimization processing by having pre-prepared random numbers ready for each batch, ensuring that the optimization workflow continues without interruption or idle time waiting for random number generation and sorting operations.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If the host computer waits for data copying to complete before generating random numbers, then the data transfer accuracy is improved, but the system efficiency deteriorates due to idle processing time

Engineering Contradiction:
Improvedata transfer accuracyVSAvoidsystem efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The host computer generates random numbers for the next batch in advance, before the current batch's data transfer completes. This preliminary generation of random numbers ensures that when the next batch arrives, the permutation data is already ready, eliminating idle time and improving system throughput while maintaining data integrity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The host computer continuously generates random numbers for subsequent batches without idle waiting periods, ensuring that the system operates at full capacity throughout the training process. This continuous useful action maximizes system efficiency by eliminating idle time between data transfer and processing operations.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11315035B2Machine learning in heterogeneous processing systems
Publication Date: 2022.04.26 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11315035B2 patent drawing
  • US11315035B2 patent drawing
  • US11315035B2 patent drawing

AI summary

Computer-implemented methods are provided for implementing training of a machine learning model in a heterogeneous processing system comprising a host computer operatively interconnected with an accelerator unit. The training includes a stochastic optimization process for optimizing a function of a training data matrix X, having data elements Xi,j with row coordinates i=1 to n and column coordinates j=1 to m, and a model vector w having elements wj. For successive batches of the training data, defined by respective subsets of one of the row coordinates and column coordinates, random numbers associated with respective coordinates in a current batch b are generated in the host computer and sent to the accelerator unit. In parallel with generating the random numbers for batch b, batch b is copied from the host computer to the accelerator unit.