中文

HEAT:一种基于 CPU 的协同过滤推荐的高效低成本训练系统

分布式、并行与集群计算 2023-05-04 v2 机器学习

摘要

协同过滤(collaborative filtering, CF)已被证明是最有效的推荐技术之一。在所有 CF 方法中,SimpleX 是采用新颖损失函数与适当数量负样本的当前最优(state-of-the-art, SOTA)方法。然而,尚无工作在多核 CPU 上优化 SimpleX,导致性能受限。为此,我们对现有 SimpleX 实现进行了深入的剖析与分析,识别出其性能瓶颈包括:(1) 不规则内存访问,(2) 不必要内存拷贝,以及 (3) 冗余计算。为解决这些问题,我们提出了一种高效的 CF 训练系统(称为 HEAT),其充分启用了现代 CPU 的多级缓存与多线程能力。具体而言,HEAT 的优化有三个方面:(1) 对嵌入矩阵进行分块以提升数据局部性并减少缓存未命中(从而降低读取延迟);(2) 通过以向量积而非矩阵-矩阵乘法并行化来优化带采样的随机梯度下降(SGD),特别是其中的相似度计算,以避免矩阵数据准备中的内存拷贝;(3) 在反向阶段积极复用前向阶段的中间结果以缓解冗余计算。在五个广泛使用的数据集上,基于 x86 与 ARM 架构处理器的评估表明,HEAT 相较现有 CPU 方案实现高达 45.2 倍加速,并在云端相较基于 NVIDIA V100 GPU 的现有 GPU 方案实现 4.5 倍加速与 7.9 倍成本降低。

关键词

引用

@article{arxiv.2304.07334,
  title  = {HEAT: A Highly Efficient and Affordable Training System for Collaborative Filtering Based Recommendation on CPUs},
  author = {Chengming Zhang and Shaden Smith and Baixi Sun and Jiannan Tian and Jonathan Soifer and Xiaodong Yu and Shuaiwen Leon Song and Yuxiong He and Dingwen Tao},
  journal= {arXiv preprint arXiv:2304.07334},
  year   = {2023}
}

备注

12 pages, 14 figures, 7 tables, accepted by ACM ICS '23