arXiv:2409.18749cs.LGcs.DC2024-09被引 7

让多个训练任务共享数据加载,提速一倍并省一半成本。

TensorSocket: Shared Data Loading for Deep Learning Training

  • 多个训练任务共用同一数据加载器,避免重复计算和数据复制。
  • 实测训练吞吐量最高提升100%,云上资源消耗减少50%。
  • 兼容不同模型大小和批量,部署维护比现有方案更简单。

深度学习训练是重复且资源密集的过程。数据科学家常需多次尝试超参数与模型结构才能获得最优精度,而每次训练都需重复运行相同的数据处理流程,加剧了计算资源的消耗。本文提出TensorSocket,通过允许多个训练任务共享同一数据加载器,降低深度学习训练的计算需求。该方法在多个训练任务于同一节点运行、GPU利用率高但受制于较低的数据加载速度时,有效缓解了CPU侧瓶颈。通过减少冗余计算与数据冗余,并利用现代GPU-GPU互连技术,TensorSocket可同时训练不同规模的模型,支持多种批处理大小,且对硬件和数据流水线无依赖。评估表明,该方案使原本不可行的场景成为可能,训练吞吐量最高提升100%,在云实例中实现50%的硬件资源节省。相比CoorDL和Joader等先进方案,TensorSocket更易部署维护,在保持或超越其吞吐表现的同时,所需CPU资源更少。

原文摘要 · Abstract (English)

Training deep learning models is a repetitive and resource-intensive process. Data scientists often train several models before landing on a set of parameters (e.g., hyper-parameter tuning) and model architecture (e.g., neural architecture search), among other things that yield the highest accuracy. The computational efficiency of these training tasks depends highly on how well the training data is supplied to the training process. The repetitive nature of these tasks results in the same data processing pipelines running over and over, exacerbating the need for and costs of computational resources. In this paper, we present TensorSocket to reduce the computational needs of deep learning training by enabling simultaneous training processes to share the same data loader. TensorSocket mitigates CPU-side bottlenecks in cases where the collocated training workloads have high throughput on GPU, but are held back by lower data-loading throughput on CPU. TensorSocket achieves this by reducing redundant computations and data duplication across collocated training processes and leveraging modern GPU-GPU interconnects. While doing so, TensorSocket is able to train and balance differently-sized models and serve multiple batch sizes simultaneously and is hardware- and pipeline-agnostic in nature. Our evaluation shows that TensorSocket enables scenarios that are infeasible without data sharing, increases training throughput by up to 100%, and when utilizing cloud instances, achieves cost savings of 50% by reducing the hardware resource needs on the CPU side. Furthermore, TensorSocket outperforms the state-of-the-art solutions for shared data loading such as CoorDL and Joader; it is easier to deploy and maintain and either achieves higher or matches their throughput while requiring fewer CPU resources.

数据加载训练加速资源共享云优化

Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。