UpDLRM: 使用真实世界的 PIM 架构加速个性化推荐

💡 原文中文,约1600字,阅读约需4分钟。
📝

内容提要

本文介绍了一种基于PyTorch和Caffe2的深度学习推荐模型,采用模型并行和数据并行技术以优化内存使用和计算效率。研究探讨了多核平台和异构内存架构HEAM,显著提升个性化推荐系统的性能和能效。此外,提出了MEM-REC和NicePIM等技术,以提高推荐系统的训练效率和降低能耗。

🔎

延伸解读

PIM 加速推荐系统的实际表现

文章指出,现代通用 PIM 架构在内存受限的机器学习训练负载中,可以成为 CPU 和 GPU 的可行替代方案,但前提是 PIM 硬件本地支持所需操作和数据类型。此外,研究强调,随着节点数增加,PIM 架构并不能实现线性扩展,这与常见观点相反。因此,在实际部署时,需要仔细选择最适合 PIM 的优化算法,并合理规划节点规模。

降低内存占用的软件缓存策略

针对 DLRM 中庞大的 embedding table,文章介绍了一种基于 GPU 的软件缓存方法,利用目标数据集 id 的频率统计信息,在 GPU 和 CPU 内存之间动态管理 embedding 参数。实验证明,仅在 GPU 上保留 1.5% 的 embedding 参数就能保障训练速度,同时支持多 GPU 并行训练。这为在有限 GPU 内存下训练大规模推荐模型提供了实用思路。

硬件与算法协同优化案例

文章列举了多个协同优化方案:HEAM 通过整合 3D 堆叠 DRAM 和 DIMM,加速组合嵌入运算,实现 6.3 倍吞吐量提升和 58.9% 的能源节省;MEM-REC 使用布隆过滤器和哈希方法编码分类特征,以较小嵌入表提供高质量推荐;NicePIM 则针对 DRAM-PIM 加速器优化硬件配置和 DNN 映射,降低时延和能耗。这些案例表明,针对特定负载的软硬件协同设计能带来显著收益。

❓

Q&A

UpDLRM模型的主要技术框架是什么?

UpDLRM模型主要基于PyTorch和Caffe2框架实现,采用模型并行和数据并行技术。

HEAM架构如何提升个性化推荐系统的性能?

HEAM架构通过整合3D堆叠DRAM和DIMM,显著提高了访问效率,实现了6.3倍的加速和58.9%的能源节省。

MEM-REC技术的主要优势是什么?

MEM-REC技术通过使用较小的嵌入表替代传统大型嵌入表,能够提供高质量的个性化推荐并提高嵌入延迟。

NicePIM方案的关键组件有哪些?

NicePIM方案的关键组件包括PIM-Tuner、PIM-Mapper和Data-Scheduler。

MTrainS设计的目的是什么?

MTrainS设计旨在降低深度学习推荐模型中的节点数目,优化内存容量,提高训练效率,减少功耗和训练成本。

如何通过软件缓存方法提高DLRM的训练效率?

通过动态管理DLRM的embedding table,并利用目标数据集id的频率统计信息,可以提高训练的实用性和效率。

🏷️

标签

➡️

继续阅读