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