User Item Embedding Storage Segmentation for Recommendation Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing recommendation systems face challenges in efficiently processing and updating user and item embeddings due to the computational expense of relevance estimation models, particularly when dealing with large volumes of user-item interaction data and the need to ensure that item and user embeddings are of the same version for accurate content recommendations.

Innovation Solution

The system employs a method where user embeddings are stored in non-distributed storage and item embeddings in distributed storage, allowing for efficient retrieval and updating of embeddings during online operations, ensuring that both are of the same version by managing storage processes across different storage types.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If item embeddings are stored in distributed storage for fault tolerance and scalability, then system reliability is improved, but the time required to store and update embeddings increases

Engineering Contradiction:
Improvesystem reliabilityVSAvoidembedding storage time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the embedding storage system into two distinct components: distributed storage for item embeddings (prioritizing reliability) and local storage for user embeddings (prioritizing speed). This segmentation allows each storage type to be optimized for its specific requirements without compromising the other, resolving the contradiction between reliability and storage time.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If user embeddings are stored in distributed storage for consistency with item embeddings, then version matching is improved, but the computational overhead and storage time increase

Engineering Contradiction:
Improveversion matching accuracyVSAvoidstorage system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces version identifiers as an intermediary mechanism that enables precise version matching between user and item embeddings without requiring both to be stored in the same distributed storage system. The version identifier acts as a mediator that ensures consistency while allowing the flexibility of different storage architectures.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Stability of the object's composition

If both user and item embeddings are stored in the same distributed storage, then data consistency is improved, but the processing speed and retrieval efficiency decrease

Engineering Contradiction:
Improvedata consistencyVSAvoidembedding retrieval speed
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent applies local quality by storing user embeddings locally (with high-speed access characteristics) and item embeddings in distributed storage (with high consistency characteristics). Each storage location is optimized for the specific requirements of its data type, allowing both consistency and speed to be achieved in their respective contexts.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11822447B2Methods and servers for storing data associated with users and digital items of a recommendation system
Publication Date: 2023.11.21 Y E HUB ARMENIA LLC
  • US11822447B2 patent drawing
  • US11822447B2 patent drawing
  • US11822447B2 patent drawing

AI summary

Methods and servers for storing data associated with users and digital items of a recommendation system having access to non-distributed and distributed storages. The server trains a model based for generating first user and item embeddings. The server stores (i) the first user embeddings in the non-distributed storage, and (ii) the first item embeddings in the distributed storage. The server re-trains the model for generating second user and item embeddings. The server stores (i) the second user embeddings in the non-distributed storage in addition to the first user embeddings, and (ii) second item embeddings in the distributed storage instead of the respective first item embeddings by replacing the respective first item embeddings. When the second item embeddings are stored on each node of the distributed storage, the server removes the first user embeddings associated with the first value from the non-distributed storage.