当前位置:首页 > 报告详情

易慧民_RecIS:C++ 驱动的高性能推荐训练框架优化实践.pdf

上传人: 柒柒 编号:1268192 2026-06-13 30页 5.32MB

1、RecISRecIS:C C+驱动的高性能推荐系统训驱动的高性能推荐系统训练优化实践练优化实践阿里巴巴-平台技术易慧民(须焰)目 录CONTENTS背景:计算演进和衡量指标背景:计算演进和衡量指标分析:推荐系统的性能挑战分析:推荐系统的性能挑战优化:优化:RecISRecIS C+C+工程实践工程实践总结和展望总结和展望背景:计算演进和衡量指标背景:计算演进和衡量指标The Free Lunch Is OverThe Free Lunch Is Over 免费午餐时代免费午餐时代 2005 单核 摩尔定律 午餐终结与午餐终结与 CPU CPU 的困境的困境 2015 主频撞墙 多核 GPU G

2、PU 的暴力美学的暴力美学 now 深度学习计算 海量并行和专用电路The Free Lunch Is OverThe Free Lunch Is Over CPUCPU 片上面积50%以上是控制单元 流水线、分支预测、乱序执行 低延迟 GPUGPU 片上面积几乎全是计算单元 海量的可并行计算,能够以计算掩盖延迟 高吞吐GPUGPU VS.VS.CPUCPU H100H100为例为例 SM 132个 ALU(Cuda Core)32*4*132=16896GPUGPU计算优化计算优化-Compute Wall-Compute Wall-高并发高并发&DSA&DSA Peak FP16/BF16

3、:134 TFLOPS Peak FP16/BF16 TensorCore:989T FLOPSGPUGPU计算优化计算优化-Memory-Memory WallWall 访存总比计算慢访存总比计算慢 容量与速度的矛盾 距离 移动数据比计算数据更费电 RooflineRoofline 只有计算密度(算存比)足够大,才有机会打满峰值算力GPUGPU计算优化计算优化-Memory-Memory Wall-MemoryWall-Memory HierarchyHierarchy矩阵乘法通过分块计算,把重复访存从Global Memory转移到Shared Memory和寄存器。大语言模型 50%推荐

4、模型 10%GAPGAP 大语言模型大语言模型 VS.VS.推荐模型推荐模型分析:推荐系统的性能挑战分析:推荐系统的性能挑战推荐模型推荐模型VS.VS.大模型大模型OpsLLMRecModelBottleNeckInput tokens/Batch10k1BCPUInput Columns11000PythonEmb Tables11000PythonTable Rows100k100BMem,CPUOps Count50050000PythonOps TypeGemm 70%Concat/Split/Reduce/bn 70%Compute,Mem IO密集 分列计算 巨大的Embeddin

5、g table 算子数量/种类多 计算密度相对低 Comput Wall(最普遍问题)稠密部分的计算效率 大模型结合 Python Wall(Pytorch带来的问题)人工特征工程导致的千列特征 每列都对应着特征处理和Embedding查询、计算、更新 数万次python构图操作 CPU Wall(历史问题)(历史问题)CPU的样本流水线 CPU的Embedding Table Memory Wall(最核心问题)(最核心问题)稀疏部分都是访存密集型 算子的访存效率 原子操作的低效推荐模型的推荐模型的4 4重性能墙重性能墙优化:优化:RecISRecIS C+C+工程实践工程实践RecISRe

6、cIS PythonPython Frontend Control Flow Model Building C+C+Backend Data Flow Tensor ComputationPythonPython WallWall MoModelingdeling Dataset+Dataset+DataLoaderDataLoader Pythonic with GIL Row-wise Reading CPU Processing Copy to GPU Multi-Processing DataIODataIO C+Columnar Reading

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
1. **性能挑战**:推荐系统面临Python Wall(Pytorch算子多)、CPU Wall(Embedding表低效)、Memory Wall(稀疏访存密集)、Compute Wall(计算密度低)四重瓶颈,与大模型差异显著(如RecModel仅10%算存比)。 2. **RecIS优化**: - **数据IO**:C++列式读取,GPU直接处理,替代Python逐行读取。 - **GPU HashTable**:开放寻址、Tile探测、原子操作优化,提升Embedding查询效率。 - **访存优化**:合并访存(LDG.128)、Warp Shuffle、分块计算减少全局内存访问。 3. **成果**:性能提升2~3倍,超越TensorFlow(30%~150%),证明C++贴合硬件优化对推荐系统关键性。
**GPU vs CPU?** - 推荐系统为何更依赖GPU而非CPU?两者在计算架构上有何本质差异? **4重性能墙?** - 推荐系统面临哪四大性能瓶颈?如何通过C++优化突破这些限制? **RecIS优化?** - RecIS如何通过C++工程实践将推荐系统性能提升2~3倍?关键优化点是什么?
客服
商务合作
小程序
服务号
折叠