[论文解读] RecD: Deduplication for End-to-End Deep Learning Recommendation Model Training Infrastructure
RecD 为工业级深度学习推荐模型(DLRM)训练流水线引入了一套端到端优化方案,通过会话中心的特征重复利用技术,减少存储、预处理和训练开销。通过在训练批次内合并重复特征并采用一种新型张量格式——反向索引稀疏张量(IKJTs),RecD 将训练和预处理吞吐量分别提升最高达 2.48× 和 1.79×,同时将存储效率提升 3.71×。
We present RecD (Recommendation Deduplication), a suite of end-to-end infrastructure optimizations across the Deep Learning Recommendation Model (DLRM) training pipeline. RecD addresses immense storage, preprocessing, and training overheads caused by feature duplication inherent in industry-scale DLRM training datasets. Feature duplication arises because DLRM datasets are generated from interactions. While each user session can generate multiple training samples, many features' values do not change across these samples. We demonstrate how RecD exploits this property, end-to-end, across a deployed training pipeline. RecD optimizes data generation pipelines to decrease dataset storage and preprocessing resource demands and to maximize duplication within a training batch. RecD introduces a new tensor format, InverseKeyedJaggedTensors (IKJTs), to deduplicate feature values in each batch. We show how DLRM model architectures can leverage IKJTs to drastically increase training throughput. RecD improves the training and preprocessing throughput and storage efficiency by up to 2.48x, 1.79x, and 3.71x, respectively, in an industry-scale DLRM training system.
研究动机与目标
- 刻画工业级 DLRM 训练数据集中特征值重复的普遍性,其源于会话中心的数据生成方式。
- 减少因端到端 DLRM 流水线中冗余特征值导致的存储、预处理和训练开销。
- 设计并部署一种新型张量格式——反向索引稀疏张量(IKJTs),以实现训练批次内特征的高效去重与处理。
- 通过利用 IKJTs 优化数据摄入、预处理和训练工作负载,消除冗余计算、内存和网络使用。
- 证明 IKJTs 可无缝集成到现有 DLRM 架构中,仅需极少改动,实现广泛兼容性与性能提升。
提出的方法
- 将同一用户会话中的训练样本在批次内合并,以聚合重复的特征值,提升数据局部性和压缩效率。
- 引入反向索引稀疏张量(IKJTs)这一新型张量格式,通过编码特征值及其反向查找索引,实现每个批次内特征值的去重。
- 在 Scribe 中基于会话 ID 对原始推理日志进行分片,以在数据存储和摄入阶段提升压缩率。
- 通过修改数据处理流水线,使读取器和训练器能够直接在 IKJTs 上操作,即在读取阶段将数据转换为 IKJT 格式。
- 扩展 IKJTs 以支持基于位移的局部去重,捕捉额外 7.8% 的重复值(超出完全匹配范围)。
- 利用标准化的稀疏张量接口,使现有预处理函数和模型架构仅需极少修改即可兼容 IKJTs。
实验结果
研究问题
- RQ1工业级 DLRM 训练数据集中特征值重复的普遍性如何?其对存储、预处理和训练的系统级影响是什么?
- RQ2在训练批次内合并同一用户会话的样本,是否能显著减少数据量并提升压缩效率?
- RQ3何种新型张量格式可实现在训练期间高效去重,同时将运行时开销降至最低?
- RQ4现有 DLRM 模型架构和训练流水线在多大程度上可被优化以处理去重后的张量,而无需重大架构变更?
- RQ5在真实部署中,IKJTs 相较于标准 KJTs,在存储、预处理和训练吞吐量方面分别实现了多大性能提升?
主要发现
- 在工业级 DLRM 数据集中,来自同一用户会话的样本中,特征值重复占比达 81.6–89.4%,表明这是冗余的主要来源。
- RecD 在工业级 DLRM 训练系统中,将训练吞吐量最高提升 2.48×,预处理吞吐量最高提升 1.79×。
- 由于有效的去重和基于会话的数据聚合,存储效率最高提升 3.71×。
- 反向索引稀疏张量(IKJT)格式实现了高效的去重,且运行时开销极低,可直接用于预处理和训练流水线。
- 部分 IKJTs 将去重范围扩展至 91.7% 的潜在重复值(81.6% 完全匹配 + 7.8% 局部匹配),显著提升整体去重覆盖率。
- RecD 的优化方案在不同表模式和模型架构间具有可扩展性,仅需添加特征转换器和 index_select 操作即可实现兼容。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。