[论文解读] Understanding Training Efficiency of Deep Learning Recommendation Models at Scale
本文研究了在GPU加速系统上大规模深度学习推荐模型的训练效率,发现模型架构配置(尤其是嵌入表大小、MLP深度和特征类型)显著影响GPU利用率和吞吐量。研究基于Facebook的Big Basin和Zion GPU平台进行了超过500次训练运行,揭示了最优性能依赖于动态嵌入表放置策略与软硬件协同设计,相较于CPU或旧版GPU配置,新Zion系统上的吞吐量最高可提升3倍。
The use of GPUs has proliferated for machine learning workflows and is now considered mainstream for many deep learning models. Meanwhile, when training state-of-the-art personal recommendation models, which consume the highest number of compute cycles at our large-scale datacenters, the use of GPUs came with various challenges due to having both compute-intensive and memory-intensive components. GPU performance and efficiency of these recommendation models are largely affected by model architecture configurations such as dense and sparse features, MLP dimensions. Furthermore, these models often contain large embedding tables that do not fit into limited GPU memory. The goal of this paper is to explain the intricacies of using GPUs for training recommendation models, factors affecting hardware efficiency at scale, and learnings from a new scale-up GPU server design, Zion.
研究动机与目标
- 理解在GPU系统上训练大规模深度学习推荐模型时的性能瓶颈。
- 描述模型架构参数(如嵌入表大小、MLP维度和特征类型)对GPU内存和计算利用率的影响。
- 评估不同嵌入表放置策略(GPU内存、系统内存、远程CPU内存)在多个硬件平台上的有效性。
- 通过分析Facebook规模的真实训练工作负载,指导下一代训练基础设施的设计。
- 为异构数据中心环境中优化训练吞吐量和资源效率,提供性能表征框架。
提出的方法
- 在CPU、Big Basin(8-GPU)和Zion(下一代GPU)系统上执行了超过500次生产规模的训练运行,以测量吞吐量和资源利用率。
- 实现了多种嵌入表放置策略的评估:根据模型大小和硬件限制,分别将表放置于GPU内存、系统内存或远程CPU内存。
- 使用吞吐量和资源利用率指标(CPU、内存、带宽)分析不同模型配置下的系统效率。
- 系统性地分析了模型超参数,包括批量大小、稠密/稀疏特征数量、嵌入维度和MLP深度,以关联其与训练性能的关系。
- 利用真实生产模型(M1_prod、M2_prod、M3_prod)评估不同硬件平台上的性能扩展性。
- 深入洞察了不规则内存访问模式及其对训练效率的影响,特别是在大规模嵌入表中表现显著。
实验结果
研究问题
- RQ1嵌入表大小、MLP深度和特征类型等模型架构参数如何影响GPU训练吞吐量和资源利用率?
- RQ2在不同GPU平台和模型配置下,嵌入表放置策略(GPU内存、系统内存、远程CPU)的最优选择是什么?
- RQ3为何一些推荐模型尽管具备高计算能力,却在GPU系统上扩展性差,其系统级瓶颈是什么?
- RQ4与旧平台相比,下一代GPU系统(如Zion)的设计如何提升大规模推荐模型的训练效率?
- RQ5嵌入查找中的不规则内存访问模式在多大程度上限制了训练吞吐量,以及如何通过系统设计缓解这一问题?
主要发现
- 由于嵌入表大小和内存访问模式的差异,不同模型的训练吞吐量差异显著,M3_prod因TB级嵌入表导致扩展性较弱。
- 在Big Basin GPU上,当嵌入表存储于GPU内存时,M1_prod和M2_prod达到峰值吞吐量;而M3_prod因GPU内存溢出,最佳表现来自将表置于远程CPU内存。
- 在Zion平台上,通过将嵌入表放置于系统内存可实现最优性能,因其容量和带宽高于GPU内存。
- 从CPU迁移到Big Basin GPU服务器,部分模型的吞吐量最高可提升3倍,而Zion平台因内存带宽和容量增强,进一步提升了性能。
- 模型架构配置(尤其是稀疏特征数量和MLP维度)导致CPU、内存和网络带宽利用率高度波动,暴露出显著的优化空间。
- 嵌入查找中的不规则向量访问是主要瓶颈,尤其对具有大规模稀疏特征集的模型而言,需依赖专用的系统级优化。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。