Multi-GPU Neural Network Training via Stratified Data Sampling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Training neural networks on multiple GPUs in parallel is inefficient due to varying processing times for data samples of different sizes, leading to wasted computational resources as some GPUs wait for others to finish.

Innovation Solution

By sampling data samples of similar sizes across GPUs, ensuring that each GPU processes data samples with similar processing times, thereby minimizing jitter and optimizing resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple GPUs process data samples of different sizes in parallel, then the training can utilize more computational resources, but some GPUs will wait for others to finish causing wasted computational resources

Engineering Contradiction:
Improvetraining speedVSAvoidcomputational resource waste
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent changes the parameter of data sample size distribution by stratifying the dataset into size buckets and assigning samples to GPUs based on their size characteristics. This ensures that GPUs receive data samples of similar sizes, balancing the computational load and eliminating wait-time waste while maintaining parallel training efficiency.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If multiple GPUs process data samples of different sizes in parallel, then more diverse data can be processed, but processing time varies causing jitter and reduced efficiency

Engineering Contradiction:
Improvedata sample diversityVSAvoidprocessing time variation
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent introduces a new parameter dimension for data assignment by creating size-based buckets and using stratified sampling. This transforms the data assignment process from random distribution to controlled distribution based on sample size, thereby reducing processing time variation while preserving data diversity through systematic sampling across different size categories.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent performs preliminary classification of data samples into size buckets before the actual training process. This pre-organization of data by size ensures that when data is distributed to GPUs, the processing times are already balanced, eliminating jitter during parallel execution.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If a single GPU performs all computations, then the system is simple to manage, but the training process becomes slow and inefficient

Engineering Contradiction:
Improvesystem simplicityVSAvoidtraining speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the training workload across multiple GPUs by dividing the dataset into different size buckets and distributing samples to multiple GPU devices. This segmentation enables parallel processing, significantly improving training speed while maintaining manageable system complexity through structured data distribution protocols.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250045589A1Multi-GPU training of neural networks
Publication Date: 2025.02.06 NVIDIA CORP
  • US20250045589A1 patent drawing
  • US20250045589A1 patent drawing
  • US20250045589A1 patent drawing

AI summary

Apparatuses, systems, and techniques to train a neural network on multiple graphics processing units (GPUs). In at least one embodiment, the neural network may be trained in parallel based, at least in part, on two or more randomly selected, similarly-sized portions of one or more datasets.