MTrainS:使用异构内存提高 DLRM 训练效率
本研究提出了 MEM-REC,一种基于布隆过滤器和哈希方法的分类特征编码技术,以用较小的嵌入表来取代传统的大型嵌入表,可以在商业推荐模型中提供高质量的个性化推荐,并提高嵌入延迟。
May, 2023
本文研究了深度学习推荐模型中嵌入表的内存容量问题并提出了 Tensor Train 分解的解决方案。通过优化成熟度更低的 TT-Rec 及其核心部件 TT-EmbeddingBag,它在 Kaggle 和 Terabyte 数据集上均实现了 117 倍和 112 倍的模型大小压缩,并且没有任何准确性或训练时间开销。
Jan, 2021
该研究介绍了一种新的嵌入式表(embedding table)缓存内存架构及其优化,该架构主要针对推荐系统中的大规模模型训练,通过低精度训练大部分嵌入式表行数据,实现与标准训练精度下相同准确率的情况下,INT8 位精度嵌入式表与缓存大小仅为嵌入式表大小的 5%,最终实现达到 3 倍的减存储效果,并在 GPU 与主机间的数据传输方面达到了 16% 的训练加速。
Oct, 2020
利用实际世界的处理内存 (PIM) 硬件 UPMEM DPU,提出 UpDLRM,以增加内存带宽并减少推荐延迟。通过利用 DPU 内存的并行特性,可以为嵌入式查找中的大量不规则内存访问提供高聚合带宽,从而在推理时提供巨大潜力来降低延迟。通过研究嵌入式表分区问题,充分利用 DPU 内存带宽,实现良好的工作负载平衡和高效的数据缓存。使用真实世界数据集进行评估,UpDLRM 在 DLRM 中实现了比仅 CPU 和 CPU-GPU 混合对应物更低的推理时间。
Jun, 2024
本文提出了一种基于 GPU 的软件缓存方法来动态管理 DLRM 的 embedding table,通过利用目标数据集 id 的频率统计信息,在 GPU 和 CPU 内存空间之间进行管理,以此来使得在 GPU 上训练 DLRM 更为实用。同时,该方法也支持多 GPU 并行训练,通过实验证明,只在 GPU 上保留 1.5% 的 embedding 参数就能保障训练速度。
Aug, 2022
该论文提供了一个使用 PyTorch 和 Caffe2 框架实现的深度学习推荐模型,该模型使用模型并行处理嵌入层以缓解内存限制,并利用数据并行扩展计算。与现有模型相比,该模型在 Big Basin AI 平台上的表现得到了完善的特性和良好的性能,并可作为未来算法实验和系统设计的基准。
May, 2019
本文介绍了 Facebook 在机器学习中使用的大规模推荐模型 (DLRMs),探讨了在模型规模和复杂性不断增加时,如何高效地扩展训练。为了解决这个问题,Facebook 设计了 Zion 平台,作为下一代大内存训练平台,由 CPU 和加速器组成。
Mar, 2020
通过研究推荐数据的使用方式和特征,本文提出了一种称为 FAE 框架的热嵌入感知数据布局,利用有限的 GPU 内存存储高访问嵌入,以减少 CPU 到 GPU 的数据传输并加速执行,从而将推荐模型的训练时间降低了 2.3 倍。
Mar, 2021
ProTrain 通过协调内存、计算和 IO,采用分块模型状态管理和块状激活管理,在不改变训练算法的情况下,通过内存感知的运行时分析器智能平衡内存使用和性能,相较于其他最佳训练系统,ProTrain 提高了 1.43 倍至 2.71 倍的训练吞吐量。
Jun, 2024
本文介绍了使用 PyTorch 和 Zion platform 的高性能可扩展软件堆栈的 SW/HW 共同设计方案,用于高效训练大规模 DLRMs,实现了可分层分区和高性能的数据通信等多项优化,从而在之前系统的基础上将训练时间提速了 40 倍。
Apr, 2021