Embedding Table Compression for Memory-Efficient ML Lookup

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Machine learning models face challenges in efficiently storing and processing large embedding tables due to high memory and computational requirements, which limits their scalability and compatibility with devices having limited resources.

Innovation Solution

The system compresses individual embeddings in embedding tables independently, allowing for decompression and lookup without loading the entire table into memory, enabling efficient storage and processing within machine learning models.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If embedding tables are stored in full size to ensure complete data availability, then data completeness is improved, but memory usage and computational resources increase significantly

Engineering Contradiction:
Improvedata completenessVSAvoidmemory usage
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

The embedding table is divided into multiple shards or partitions that can be stored separately. Each shard contains a subset of the embedding data, allowing the system to load only necessary shards into memory rather than the entire table, thus reducing memory usage while maintaining data completeness across all shards.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the storage parameter from full-precision floating-point to compressed formats (e.g., quantized integers or differential encoding). This parameter change reduces the memory footprint of each embedding entry while allowing reconstruction of the original data when needed, balancing data completeness with reduced memory consumption.

Inventive Principle:
Principle #35Parameter changes

2Speed

If the entire embedding table is loaded into memory for fast access, then lookup speed is improved, but memory requirements increase

Engineering Contradiction:
Improvelookup speedVSAvoidmemory requirements
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system pre-computes and stores auxiliary index structures (such as hash tables or binary search trees) that map input keys to embedding locations. These indexes are stored in a space-efficient manner and allow the system to quickly locate embedding data without loading the entire embedding table into memory, thus maintaining fast lookup speed with reduced memory requirements.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The embedding table is partitioned into multiple segments or shards that can be loaded into memory on-demand. The system loads only the necessary segments containing the required embeddings, reducing memory usage while maintaining fast access speed for the needed data through efficient segment management and caching strategies.

Inventive Principle:
Principle #1Segmentation

3Quantity of substance

If compression is applied to reduce storage size, then memory efficiency is improved, but decompression complexity and processing time increase

Engineering Contradiction:
Improvestorage efficiencyVSAvoiddecompression complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system uses simple parameter transformations for compression, such as converting floating-point embeddings to quantized integer representations or applying differential encoding. These transformations use straightforward mathematical operations that are computationally efficient to both apply and reverse, reducing storage size while minimizing decompression complexity and processing time.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system stores compressed representations of embeddings that can be directly used or efficiently reconstructed. Instead of using complex compression algorithms requiring extensive decompression processing, the system uses lightweight compression schemes where the compressed form can be directly utilized or quickly converted back, reducing both storage requirements and decompression overhead.

Inventive Principle:
Principle #26Copying

4Reliability

If large embedding tables are used to improve model accuracy, then model performance is improved, but scalability and deployment on resource-constrained devices become difficult

Engineering Contradiction:
Improvemodel accuracyVSAvoiddeployability on diverse devices
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The embedding table is divided into multiple shards that can be selectively loaded and distributed across different devices. This segmentation allows large embedding tables to be used for high accuracy while enabling deployment on resource-constrained devices by loading only the necessary shards, thus improving both model accuracy and adaptability to diverse deployment scenarios.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system employs parameter changes such as quantization and compression to reduce the memory footprint of embedding tables. This allows large embedding tables to be stored and processed on devices with limited memory resources, enabling deployment of accurate models on mobile and edge devices while maintaining model performance through efficient memory usage.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11599518B2Efficient embedding table storage and lookup
Publication Date: 2023.03.07 GOOGLE LLC
  • US11599518B2 patent drawing
  • US11599518B2 patent drawing
  • US11599518B2 patent drawing

AI summary

The present disclosure provides systems, methods, and computer program products for providing efficient embedding table storage and lookup in machine-learning models. A computer-implemented method may include obtaining an embedding table comprising a plurality of embeddings respectively associated with a corresponding index of the embedding table, compressing each particular embedding of the embedding table individually allowing each respective embedding of the embedding table to be decompressed independent of any other embedding in the embedding table, packing the embedding table comprising individually compressed embeddings with a machine-learning model, receiving an input to use for locating an embedding in the embedding table, determining a lookup value based on the input to search indexes of the embedding table, locating the embedding based on searching the indexes of the embedding table for the determined lookup value, and decompressing the located embedding independent of any other embedding in the embedding table.