GPU跑不满?存储吞吐量才是真瓶颈

2026-10-22
GPU跑不满?存储吞吐量才是真瓶颈

大模型训练时GPU利用率常只有50-60%,瓶颈往往不在算力而在存储。本文拆解小文件随机读、检查点写入、并发带宽争抢三个存储瓶颈,给出判断框架和解决方向。

AI训练GPU跑不满?存储吞吐量才是真瓶颈

一个做视觉大模型训练的团队找到我们做POC测试,说他们的8卡A100服务器训练效率比预期低30%。GPU利用率监控一看,平均只有55%——剩下45%的时间,GPU在等数据。加了卡、升了驱动、调了batch size,都没用。最后排查到根因:存储端的吞吐量跟不上,数据喂不进GPU。

这不是个例。2026年AI算力投入持续加码,企业买H100、A100的钱没省过,但很少有人认真算过存储端能不能匹配。GPU的算力以TB/s为单位衡量,存储端如果还在用传统NAS,聚合带宽可能只有几GB/s。中间差了两个数量级。

GPU闲置的三个存储瓶颈

GPU在训练中闲置,原因通常不在模型代码,而在数据通路。三个最常见的存储瓶颈:

小文件随机读。 计算机视觉训练用ImageNet这种数据集,120万张图片分散在120万个文件里。训练时DataLoader多线程读图片,每个文件几十KB,对存储来说是海量随机读。传统NAS的IOPS在千级别,多线程并发时排队严重,GPU这边数据管道空了只能干等。实际测试中,用万兆网络+传统NAS,ImageNet训练的数据加载时间占整个epoch时间的20-30%。

检查点写入。 大模型训练每隔几百步要存一次Checkpoint,文件大小跟模型参数量直接相关。一个70B参数的模型,半精度存储单个Checkpoint约140GB。写入时如果存储带宽只有500MB/s,一次Checkpoint要5分钟,这5分钟GPU完全闲置。训练过程中每隔1000步存一次,一天存十几次,累计浪费几个小时。

多节点并发带宽争抢。 分布式训练用4台8卡服务器,32张GPU同时从存储系统读数据。如果存储总带宽只有10GB/s,分到每张GPU只有300MB/s,而A100的显存带宽是2TB/s,差了近7000倍。存储带宽成了木桶最短的那块板。

瓶颈在哪,用数据说话

判断存储是不是瓶颈,看三个数:

指标 GPU侧需求 传统NAS 分布式存储(8节点)
随机读IOPS 50万+ 1,000-5,000 50万-200万
顺序读带宽 20-50GB/s 1-3GB/s 15-40GB/s
访问延迟 <1ms 5-10ms 0.5-2ms

传统NAS在三个维度上都差了一个数量级以上。GPU花大价钱买来的算力,被存储端的低吞吐量浪费了。

具体算一笔账。8卡A100服务器,按市场价约120万。如果存储端用传统NAS,聚合带宽2GB/s,GPU利用率55%,相当于花了120万只用了66万的算力。换一套分布式存储,8节点NVMe SSD,聚合带宽能到30GB/s以上,GPU利用率提到85%以上,等于把浪费的算力找回来了。存储投入大约30-40万,但救回来的GPU算力价值远超这个数。

解决方向:把数据通路打通

存储瓶颈的解决不是单点优化,是整条数据通路的问题。

分布式存储提升聚合带宽。 单节点存储的带宽受限于控制器和网卡,分布式存储通过多节点并发读写,聚合带宽随节点数线性增长。深信服EDS分布式存储在AI训练场景下,多节点并发读带宽可达40GB/s以上,基本能喂满8卡A100的数据需求。关键是分布式存储的CRUSH算法能把数据分散到多个节点,读时多节点同时响应,不存在单点瓶颈。

NVMe-oF降低访问延迟。 传统存储走SAS或SATA协议,命令队列深度有限,延迟在毫秒级。NVMe over Fabrics走RDMA网络,延迟降到0.5ms以内,队列深度可达65536。对于小文件随机读场景(图片训练数据集),NVMe-oF的延迟优势能把IOPS提升一到两个数量级。如果对分布式存储选型有疑问,可以参考这篇选型指南,重点看协议支持和延迟指标。

数据预热和缓存策略。 训练数据如果存在远端存储,可以在训练开始前预热到本地SSD缓存。具体做法:第一轮epoch从远端存储读数据同时写入本地NVMe SSD,第二轮开始直接从本地SSD读,延迟降到微秒级。这个策略对小文件场景效果最好,大文件场景效果有限(大文件本身瓶颈在带宽不在延迟)。

检查点写入优化。 检查点写入是大文件顺序写,瓶颈在写带宽。两个方向:一是存储端用多节点并发写,把单个大文件的写入分散到多个节点;二是用异步写入,GPU不等写入完成就继续训练,写入失败时回退到上一个检查点。深信服EDS支持异步快照和多节点并发写,检查点写入带宽能到20GB/s以上,140GB的Checkpoint写入时间从5分钟缩短到7秒。

什么情况存储是瓶颈,什么情况不是

不是所有AI训练场景都需要换存储。判断框架:

需要升级存储的情况: - 训练数据集文件数量超过100万(小文件随机读瓶颈) - 模型参数超过10B(检查点文件大,写入瓶颈) - 多节点分布式训练,节点数超过4台(并发带宽争抢) - 训练时GPU利用率低于70%

不需要升级存储的情况: - 数据集在100GB以内,可以一次性加载到内存 - 单机单卡或单机多卡训练,数据本地SSD读取 - 模型参数小于1B,检查点文件小 - 训练数据是大文件(视频、大图片),瓶颈在GPU不在存储

一个实际案例

前面提到的8卡A100视觉训练团队,我们做了POC测试对比。原方案:万兆网络+传统NAS,训练数据120万张图片(约80GB)。新方案:25G网络+深信服EDS 4节点全NVMe,同样的训练任务。

结果:GPU利用率从55%提升到82%,单epoch时间从45分钟缩短到28分钟。训练效率提升37%,相当于多出三分之一个GPU的算力。存储投入约35万,按A100单卡15万算,救回来的算力价值超过50万。

这个案例的关键不是EDS多强,是原来的NAS太弱。存储投入和GPU投入要匹配,否则就是用跑车拉牛车——发动机再好,轮子跟不上也白搭。

如需AI训练存储方案评估或POC测试,联系华南腾飞科技,我们提供端到端的存储性能测试和方案设计。

相关推荐