[论文解读] Horizontally Fused Training Array: An Effective Hardware Utilization Squeezer for Training Novel Deep Learning Models
本文提出水平融合训练阵列(HFTA),一种框架扩展,通过在重复训练作业中跨操作符水平融合多个相同或相似的深度学习模型,提升硬件利用率,实现在单个加速器上并发训练。HFTA通过利用数学等价的融合操作符,避免使用低效的通用GPU共享机制,在GPU和TPU上相比标准单任务训练,将训练吞吐量最高提升15.1倍。
Driven by the tremendous effort in researching novel deep learning (DL) algorithms, the training cost of developing new models increases staggeringly in recent years. We analyze GPU cluster usage statistics from a top research institute for more insights into the hardware efficiency achieved by typical DL training jobs. Our study reveals that single-accelerator training jobs can dominate the cluster-wide resource consumption when launched repetitively (e.g., for hyper-parameter tuning) while severely under-utilizing the hardware. Fortunately, we observe that such workloads have the following unique characteristics: (i) the models among jobs often have the same types of operators with the same shapes, and (ii) the inter-model horizontal fusion of such operators is mathematically equivalent to other already well-optimized operators. Thus, to help DL researchers and practitioners effectively improve the hardware utilization of their novel DL training workloads, we propose Horizontally Fused Training Array (HFTA). HFTA is a new DL framework extension library that horizontally fuses the models from different repetitive jobs deeply down to operators and then trains them simultaneously on a shared accelerator. To show the generality of our solution, we apply HFTA to six DL models training on state-of-the-art accelerators (GPUs and TPUs). Our results indicate that HFTA is highly effective in improving hardware utilization and achieves up to $15.1 \ imes$ higher training throughput vs. the standard practice of running each job on a separate accelerator.
研究动机与目标
- 为解决重复单加速器深度学习训练任务中严重的硬件利用率低下问题,尽管这些任务占集群资源主导地位但利用率却很低。
- 识别独特的工作负载特征——跨模型的相同操作符类型和形状——以实现有效的跨模型水平融合。
- 设计并实现HFTA,一种框架扩展,通过操作符级融合提升硬件利用率,且不依赖通用GPU共享原语。
- 在多种模型(如ResNet-18、MobileNet、BERT等)和加速器(如V100 GPU、TPU v3)上评估HFTA的有效性,展示其可扩展性与性能提升。
提出的方法
- HFTA对多个具有相似或相同模型架构的训练作业中的操作符进行深度水平融合,将它们合并为单个计算图,运行在共享的加速器上。
- 融合后的操作符在数学上等价于经过良好优化的原语(例如分组卷积),可在现有硬件和编译器(如XLA、cuDNN)上高效执行。
- 该框架支持完全融合与部分融合,允许在模型架构略有差异时灵活适应。
- HFTA通过库扩展与现有深度学习框架集成,实现无缝部署,无需修改模型代码或训练流水线。
- 它支持混合精度训练(FP32与AMP),并动态管理内存,避免融合过程中出现内存不足错误。
- 系统监控硬件利用率,并自动调整每个设备上融合的模型数量,以在保持稳定性的同时最大化吞吐量。
实验结果
研究问题
- RQ1在重复单加速器训练工作负载中,对相同或相似的深度学习模型进行跨模型水平融合,能否显著提升硬件利用率?
- RQ2HFTA在GPU和TPU上,随着融合模型数量增加,性能如何扩展?
- RQ3当无法实现完整模型融合时,仅融合特定层或操作符的部分融合,在多大程度上仍能提升训练吞吐量?
- RQ4在多种模型和加速器上,HFTA与标准做法(串行、并发、MPS)相比,在吞吐量和硬件利用率方面表现如何?
主要发现
- HFTA在单个V100 GPU上相比标准串行训练,最高实现15.1倍的训练吞吐量提升,展现出巨大的效率增益。
- 在V100 GPU上,HFTA的吞吐量相比串行训练提升2.42至3.94倍,相比并发训练提升1.67至3.02倍,相比MPS共享方式提升1.25至2.24倍。
- 在TPU v3上,HFTA相比串行训练实现2.98至6.43倍的峰值吞吐量提升,表明其在TPU上具有强大的可扩展性。
- 即使仅进行部分融合,仍能获得可测量的性能提升,吞吐量随每层逐步禁用融合而渐进下降,表明即使有限融合也具有帮助。
- 在TPU上高融合级别下观察到的性能下降,可能源于内存压力,以及TPU内存管理机制中的重计算或交换优化所致。
- HFTA在多种模型(包括ResNet-18、MobileNet-V3Large、BERT-Medium和Transformers)上均表现出色,证实其通用性与广泛适用性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。