alibaba/RecIS

A unified architecture deep learning framework designed specifically for ultra-large-scale sparse models.

What it solves

RecIS is designed to handle the challenges of training ultra-large-scale recommendation systems. It specifically addresses the performance bottlenecks associated with sparse and dense computing, allowing industrial-grade recommendation models to be combined with multimodal and large model training within a single framework.

How it works

Built on the PyTorch ecosystem, RecIS uses a modular architecture to streamline the training pipeline:

  • ColumnIO: Handles distributed sharded data reading and pre-computation.
  • Feature Engine: Manages feature engineering (like hashing and bucketizing) with operator fusion to reduce GPU overhead.
  • Embedding Engine: Manages scalable, conflict-free KV storage embedding tables with multi-table fusion for better memory access.
  • Saver: Stores and loads sparse parameters using the SafeTensors format.
  • Pipelines: Orchestrates the entire training workflow, including multi-stage and multi-objective computation.

To optimize performance, it uses a two-level storage architecture (IDMap and EmbeddingBlocks) for dynamic embeddings and employs All-to-All collective communication for distributed parameter sharding and request merging.

Who it’s for

It is intended for machine learning engineers and researchers working on industrial-scale recommendation, advertising, and search systems that require high-performance training of sparse models.

Highlights

  • Unified Framework: Combines sparse-dense computing requirements for recommendation and large model scenarios.
  • GPU Optimization: Uses operator fusion and vectorized memory access to maximize GPU utilization and reduce launch overhead.
  • Distributed Scaling: Implements efficient parameter aggregation and sharding across compute nodes.
  • Dynamic Embeddings: Supports flexible hardware adaptation (GPU/CPU placement) for embedding storage.

Related

  • Project
  • Project
  • Project
  • Project
  • Project