Alchemist Server 正式上线。欢迎浏览我们的 AI 基础设施产品线,或与我们的团队沟通定制方案。联系我们的团队

Skip to main content

白皮书

数据管道设计:确保加速器持续满载

作者:Alchemist Server

预处理、缓存与预取策略的设计,以节点实际可持续的读取速率作为衡量基准。

数据流水线的设计依据应当是节点实际可持续的读取速率,而非数据集的规模。多数性能不达标的集群,问题出在这里,而不在模型。

从节点出发

首先确定:在计划采用的批大小与模型下,需要多高的读取速率才能让一个八 GPU 节点保持满负荷。该数值乘以节点数量,即为存储层必须满足的要求。按容量确定存储规格、并寄望吞吐自然达标,是常见的错误做法,其结果恰恰是本文库其他文章所描述的症状:GPU 报告利用率高、实际吞吐低,且任何位置都不报错。

预处理

在训练循环内部执行的预处理,会与训练争夺同一批资源。若变换过程是确定性的,那么一次性完成并存储结果几乎总是更划算的取舍,即便需要付出额外存储空间的代价。若变换必须按轮次随机进行,则应交由 CPU 工作进程承担,并按能够始终领先于加速器的规模进行配置,而不应置于关键路径之上。

缓存与预取

若工作集能够装入节点本地缓存,稳态运行中的大部分网络开销即被消除。预取深度应调整到:在当前批次处理完成之前,下一批次已驻留内存。合适的深度取决于单步耗时与读取延迟,值得实测而非估算。

当训练节点数量超过约八台后,制约因素将从带宽转为并发能力,此时同时分布元数据与数据的并行文件系统通常是正确答案。在此规模以下,一台配置得当的 NVMe-oF 存储柜更为简单且已经够用。

监测数据加载环节

应将数据加载等待时间与单步耗时并列,作为一级指标进行跟踪。这是区分模型本身慢与数据供给不足这两种情况最快的方法,而这两种情况在利用率图表上看起来完全相同。

相关阅读

正在规划 AI 基础设施项目?

请告诉我们您的业务负载与可用的供电与散热条件,我们将提供具体配置方案、交货周期与正式报价。