项目介绍 ======== RecIS 是什么 ------------ RecIS 是一个专为超大规模稀疏模型设计的统一架构深度学习框架。它基于 PyTorch 开源生态构建。为稀疏训练,或稀疏和多模态/大模型结合计算提供了完整的解决方案。 设计目标 -------- - **超大规模支持**: 面向超大规模稀疏模型统一架构 - **高性能**: 基于 PyTorch 开源生态,支持稀疏模型分片优化 - **易用性**: 提供简洁的 API 设计,支持原生计算优化技术 - **兼容性**: 与现有 PyTorch 生态完全兼容 核心架构 -------- RecIS 采用模块化设计,主要包含以下核心组件: .. image:: _static/sys-recis.png :alt: RecIS 架构图 :align: center **IO 层** 负责ORC数据读取和预处理,提供多线程处理 / 数据预取 / 状态记录等优化能力 **特征处理层** 提供特征工程和特征转换处理能力,并支持转换算子融合优化策略 **计算层** - 稀疏计算:基于 HashTable 的动态 embedding,支持特征淘汰 - 稠密计算:原生 PyTorch 支持 **训练框架层** 提供完整的训练、评估和模型管理能力 应用场景 -------- RecIS 特别适用于以下场景: - **推荐系统**: 大规模稀疏特征的推荐模型训练 - **广告系统**: CTR/CVR 预估模型 - **搜索排序**: 搜索结果排序模型 - **多模态学习**: 结合文本、图像等多模态数据的模型 技术优势 -------- **稀疏计算优化** - 动态扩张的 embedding 表 - 高效的 HashTable 实现 - 稀疏参数分片和优化 - 支持特征淘汰策略 **IO 性能优化** - 多线程并行读取处理数据 - 支持数据预取 - 支持数据直接打包到GPU / pin_memory **分布式训练** - 原生支持分布式训练 - 梯度累积和同步优化 - 模型并行和数据并行 **计算优化** - 混合精度训练 - 算子融合优化