Embedding Row Prefetching for Sparse Recommendation Model Lookups

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multilayer networks experience increased latency due to sparse lookup operations in embedding tables, especially when dealing with very sparse encoded input vectors, leading to inefficient data access in applications like recommendation systems.

Innovation Solution

Implement a prefetch engine that maintains a cache of frequently accessed data items, allowing for early retrieval of these items from a prefetch storage instead of the main tables, reducing the need for sparse lookup operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If sparse lookup operations are performed on embedding tables, then data access is simplified, but latency increases significantly

Engineering Contradiction:
Improvedata access simplicityVSAvoidlatency
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-computing and storing frequently accessed embedding rows in a cache structure before they are actually needed during inference. The prefetch engine proactively retrieves embedding rows based on predicted access patterns, so that when a lookup operation occurs, the data is already available in the cache, eliminating the latency penalty of sparse table lookups while maintaining simple data access operations.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If embedding tables are made larger to include more features, then prediction accuracy improves, but lookup operation latency increases

Engineering Contradiction:
Improveprediction accuracyVSAvoidlookup latency
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system applies local quality by creating a differentiated storage structure where frequently accessed embedding rows are stored in a fast-access cache while less frequently accessed rows remain in the main embedding table. The prefetch engine identifies and prioritizes locally important (frequently accessed) embedding rows, storing them in a separate high-speed storage structure. This allows the system to maintain large embedding tables for comprehensive feature coverage while providing fast access to the most critical features through the cache layer.

Inventive Principle:
Principle #3Local quality

3Quantity of substance

If more embedding rows are stored in tables, then data completeness is improved, but data retrieval efficiency decreases

Engineering Contradiction:
Improvedata completenessVSAvoiddata retrieval efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system segments the embedding table into two distinct parts: a cache structure for frequently accessed embedding rows and a main table for less frequently accessed rows. The prefetch engine uses access patterns to identify which embedding rows should be cached, effectively segmenting the data based on access frequency rather than storing everything uniformly. This segmentation allows the system to maintain complete embedding data while dramatically improving retrieval efficiency for the most commonly accessed features.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12468632B2Method for embedding rows prefetching in recommendation models
Publication Date: 2025.11.11 ADVANCED MICRO DEVICES INC
  • US12468632B2 patent drawing
  • US12468632B2 patent drawing
  • US12468632B2 patent drawing

AI summary

A system and method for efficiently accessing sparse data for a workload are described. In various implementations, a computing system includes an integrated circuit and a memory for storing tasks of a workload that includes sparse accesses of data items stored in one or more tables. The integrated circuit receives a user query, and generates a result based on multiple data items targeted by the user query. To reduce the latency of processing the workload even with sparse lookup operations performed on the one or more tables, a prefetch engine of the integrated circuit stores a subset of data items in prefetch data storage. The prefetch engine also determines which data items to store in the prefetch data storage based on one or more of a frequency of reuse, a distance or latency of access of a corresponding table of the one more tables, or other.