Computational Storage Embedding Vector Calculation for GPU Training

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Neural network training operations are computationally burdensome, particularly when processing categorical inputs, which require large storage and slow down the processing time due to the need for embedding operations.

Innovation Solution

A system comprising a GPU cluster and a computational storage system with embedding tables, where the computational storage system calculates embedded vectors speculatively without waiting for updates, allowing for reduced processing time by updating vectors based on gradients calculated during the preceding pass.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If embedding tables are stored in GPU memory for fast access, then processing speed improves, but memory capacity is insufficient for large embedding tables

Engineering Contradiction:
Improveprocessing speedVSAvoidmemory capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system divides the embedding table storage across multiple computational storage devices (CSDs), each holding a portion of the embedding table. This segmentation allows the system to handle large embedding tables that exceed single-GPU memory capacity while maintaining fast access through parallel operations across multiple devices.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Computational storage devices act as intermediaries between GPU memory and persistent storage. The CSDs cache embedding tables in their local memory, providing fast access to GPUs while managing data transfer and synchronization, thus resolving the conflict between speed and capacity requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If the system waits for embedding table updates before processing, then data accuracy is maintained, but processing time increases

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

Solution Approach 1:

The system performs preliminary actions by pre-calculating and caching embedding tables in computational storage devices before they are needed for training. This allows GPUs to immediately access pre-processed embedding data without waiting for real-time updates or computations during the training pipeline.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically manages embedding table updates by allowing multiple versions to coexist in computational storage devices. Different GPUs can access different versions simultaneously, enabling parallel training operations without mutual blocking, thus maintaining both accuracy and speed.

Inventive Principle:
Principle #15Dynamics

3Reliability

If data is transferred between storage and GPU frequently, then data freshness is improved, but processing efficiency decreases

Engineering Contradiction:
Improvedata freshnessVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Computational storage devices maintain continuous caching of embedding tables in their local memory, eliminating the need for repeated data transfers between persistent storage and GPUs. The CSDs handle multiple read requests from different GPUs simultaneously, ensuring continuous data availability without interrupting the training workflow.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS12136138B2Neural network training with acceleration
Publication Date: 2024.11.05 SAMSUNG ELECTRONICS CO LTD
  • US12136138B2 patent drawing
  • US12136138B2 patent drawing
  • US12136138B2 patent drawing

AI summary

A system and method for training a neural network. In some embodiments, the system includes: a graphics processing unit cluster; and a computational storage cluster connected to the graphics processing unit cluster by a cache-coherent system interconnect. The graphics processing unit cluster may include one or more graphics processing units. The computational storage cluster may include one or more computational storage devices. A first computational storage device of the one or more computational storage devices may be configured to (i) store an embedding table, (ii) receive an index vector including a first index and a second index; and (iii) calculate an embedded vector based on: a first row of the embedding table, corresponding to the first index, and a second row of the embedding table, corresponding to the second index.