Predictive Modeling of I/O Performance for Machine Learning Training Pipelines: A Data-Driven Approach to Storage Optimization
作者: Karthik Prabhakar, Durgamadhab Mishra
分类: cs.PF, cs.AI, cs.LG
发布日期: 2025-12-07 (更新: 2025-12-19)
备注: 20 pages, 10 figures
🔗 代码/项目: GITHUB
💡 一句话要点
提出基于机器学习的I/O性能预测模型,优化机器学习训练pipeline的存储配置。
🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture)
关键词: I/O性能预测 机器学习训练 存储优化 XGBoost 数据驱动
📋 核心要点
- 机器学习训练中,数据I/O成为瓶颈,GPU利用率低,现有存储配置优化依赖耗时的手动试错。
- 利用机器学习模型预测I/O性能,根据预测结果推荐最佳存储配置,减少配置时间。
- 实验表明,XGBoost模型能以较高精度预测I/O吞吐量,显著降低配置时间,提升GPU利用率。
📝 摘要(中文)
现代机器学习训练越来越多地受到数据I/O的瓶颈限制,而非计算。GPU经常处于低于50%的利用率的空闲状态,等待数据。本文提出了一种机器学习方法来预测I/O性能,并为ML训练pipeline推荐最佳存储配置。我们通过在不同的存储后端(NVMe SSD、网络附加存储、内存文件系统)、数据格式和访问模式下进行系统基准测试,收集了141个观测结果,涵盖了低级I/O操作和完整的训练pipeline。在评估了七个回归模型和三个分类方法后,XGBoost取得了最佳性能,R平方值为0.991,平均预测I/O吞吐量的误差在11.8%以内。特征重要性分析表明,吞吐量指标和批量大小是主要的性能驱动因素。这种数据驱动的方法可以将配置时间从数天的试错减少到几分钟的预测推荐。该方法具有可重复性和可扩展性,适用于ML系统中其他资源管理问题。代码和数据可在https://github.com/knkarthik01/gpu_storage_ml_project 获取。
🔬 方法详解
问题定义:论文旨在解决机器学习训练pipeline中数据I/O成为瓶颈的问题。现有方法依赖于手动调整存储配置,耗时且效率低下,难以找到最优配置,导致GPU利用率不足。因此,需要一种自动化的方法来预测I/O性能,并推荐最佳存储配置,从而提高训练效率。
核心思路:论文的核心思路是利用机器学习模型学习I/O性能与存储配置、数据格式、访问模式等因素之间的关系。通过训练模型,可以预测不同配置下的I/O吞吐量,从而选择最佳配置,避免手动试错。
技术框架:整体框架包括数据收集、特征工程、模型选择与训练、性能评估和配置推荐五个阶段。首先,通过基准测试收集不同存储配置下的I/O性能数据。然后,提取相关特征,如存储类型、数据格式、批量大小等。接着,选择合适的机器学习模型进行训练,并使用R平方等指标评估模型性能。最后,利用训练好的模型预测不同配置下的I/O吞吐量,并推荐最佳配置。
关键创新:最重要的技术创新点在于利用机器学习模型进行I/O性能预测,并将其应用于存储配置优化。与传统的基于规则或经验的方法相比,该方法能够自动学习I/O性能与各种因素之间的复杂关系,从而更准确地预测I/O吞吐量,并推荐更优的存储配置。此外,该方法具有可扩展性,可以应用于不同的存储系统和机器学习pipeline。
关键设计:论文中,选择了XGBoost作为主要的回归模型,因为它在处理结构化数据方面表现出色,并且能够提供特征重要性分析。特征工程方面,考虑了存储后端类型、数据格式、访问模式、批量大小等因素。性能评估方面,使用了R平方、平均绝对百分比误差等指标。此外,论文还进行了特征重要性分析,以确定影响I/O性能的关键因素。
📊 实验亮点
实验结果表明,XGBoost模型能够以较高的精度预测I/O吞吐量,R平方值为0.991,平均预测误差为11.8%。特征重要性分析表明,吞吐量指标和批量大小是主要的性能驱动因素。通过使用该方法,可以将存储配置时间从数天的手动试错减少到几分钟的预测推荐,显著提高了效率。
🎯 应用场景
该研究成果可应用于各种机器学习训练场景,尤其是在数据密集型应用中,如图像识别、自然语言处理等。通过自动优化存储配置,可以显著提高训练效率,降低训练成本,并加速模型开发周期。此外,该方法还可以扩展到其他资源管理问题,如CPU、内存等资源的优化。
📄 摘要(原文)
Modern machine learning training is increasingly bottlenecked by data I/O rather than compute. GPUs often sit idle at below 50% utilization waiting for data. This paper presents a machine learning approach to predict I/O performance and recommend optimal storage configurations for ML training pipelines. We collected 141 observations through systematic benchmarking across different storage backends (NVMe SSD, network-attached storage, in-memory filesystems), data formats, and access patterns, covering both low-level I/O operations and full training pipelines. After evaluating seven regression models and three classification approaches, XGBoost achieved the best performance with R-squared of 0.991, predicting I/O throughput within 11.8% error on average. Feature importance analysis revealed that throughput metrics and batch size are the primary performance drivers. This data-driven approach can reduce configuration time from days of trial-and-error to minutes of predictive recommendation. The methodology is reproducible and extensible to other resource management problems in ML systems. Code and data are available at https://github.com/knkarthik01/gpu_storage_ml_project