项目介绍

RecIS 是什么

RecIS 是一个专为超大规模稀疏模型设计的统一架构深度学习框架。它基于 PyTorch 开源生态构建。为稀疏训练,或稀疏和多模态/大模型结合计算提供了完整的解决方案。

设计目标

  • 超大规模支持: 面向超大规模稀疏模型统一架构

  • 高性能: 基于 PyTorch 开源生态,支持稀疏模型分片优化

  • 易用性: 提供简洁的 API 设计,支持原生计算优化技术

  • 兼容性: 与现有 PyTorch 生态完全兼容

核心架构

RecIS 采用模块化设计,主要包含以下核心组件:

RecIS 架构图
IO 层

负责ORC数据读取和预处理,提供多线程处理 / 数据预取 / 状态记录等优化能力

特征处理层

提供特征工程和特征转换处理能力,并支持转换算子融合优化策略

计算层
  • 稀疏计算:基于 HashTable 的动态 embedding,支持特征淘汰

  • 稠密计算:原生 PyTorch 支持

训练框架层

提供完整的训练、评估和模型管理能力

应用场景

RecIS 特别适用于以下场景:

  • 推荐系统: 大规模稀疏特征的推荐模型训练

  • 广告系统: CTR/CVR 预估模型

  • 搜索排序: 搜索结果排序模型

  • 多模态学习: 结合文本、图像等多模态数据的模型

技术优势

稀疏计算优化
  • 动态扩张的 embedding 表

  • 高效的 HashTable 实现

  • 稀疏参数分片和优化

  • 支持特征淘汰策略

IO 性能优化
  • 多线程并行读取处理数据

  • 支持数据预取

  • 支持数据直接打包到GPU / pin_memory

分布式训练
  • 原生支持分布式训练

  • 梯度累积和同步优化

  • 模型并行和数据并行

计算优化
  • 混合精度训练

  • 算子融合优化