SSD与AI:PBlaze7 7A40实战MLPerf Storage
随着9月份MLCommons公布了MLPerf Storage v1.0测试结果,一场席卷整个存储行业的性能竞赛就此展开。用数据说话,也更加有力地展示了存储对于人工智能的重要价值。
MLPerf Storage v1.0本质上是此前我们测试过的DLIO Benchmark。DLIO针对多种典型深度学习训练任务制定了快速、科学的IO性能测试方法,通过参数调整,可以模拟不同的GPU,让开发人员能够根据其具体配置进行存储优化,从而提高GPU的使用率。
MLPerf Storage通过更加严谨、统一的参数设置指导,让来自不同厂商、不同硬件配置的测试结果更具参考性与可比较性。DLIO Benchmark的相关介绍、测试逻辑,在前文中有详细介绍,感兴趣的小伙伴可以看这里:《实测!高性能PCIe 5.0 SSD为AI训练贡献了啥?》
这一次,我们基于MLPerf Storage v1.0和默认脚本参数,对我们最新发布的PBlaze7 7A40系列PCIe 5.0 SSD进行完整的IO性能测试。模拟GPU为NVIDIA A100,相较于之前测试使用的V100,A100的运算耗时被缩短了50%以上,对存储性能也就提出了更高的要求。
测试依旧在此前使用的服务器上进行,配置如下:
- CPU:Intel Xeon 6448Y ×2,64 Core, 128 Thread Total
- 内存:DDR5-4800 32GB ECC ×16,512GB Total
- SSD:WD SN750 500GB(系统盘) / Memblaze PBlaze7 7A40 7.68TB(测试盘)
- OS:Fedora Linux 40,Kernel 6.10.12
测试使用的训练数据集大小为MLPerf Storage v1.0根据平台配置给出的推荐值,测试过程中如遇GPU使用率不达标或其它无法完成测试等情况,则该项测试终止。
最终结果表明,在3个模型训练任务中,PBlaze7 7A40 PCIe 5.0 SSD不论是和友商同类产品的直接性能比对,还是比较多存储节点、多计算节点下GPU的平均带宽,均能够稳列前茅。以下是测试详情:
UNet3D模型训练:PBlaze7 7A40领先27%!
UNet3D(或3DUNet)是用于医学影像分析的深度学习网络,训练数据的平均体积为146MB,每个文件包含1个样本,Batch Size为7,一次读取的样本数据量约为1GB。脚本中A100 GPU行为耗时0.636秒,因此存储系统需要为每一颗GPU提供近1.6GB/s的数据带宽。根据MLPerf规定,本环节GPU使用率需要达到90%以上。
我们分别模拟了1到8颗A100 GPU的训练过程:
- 在配置1颗GPU时,训练速度为1526.34MB/s,GPU使用率达到99.23%,此时存储性能存在大量冗余,可继续增加GPU数量提高训练速度;
- 随着GPU数量的增加,GPU使用率以微弱幅度出现下滑;
- 在配置8颗GPU时,训练速度提升至11.77GB/s,GPU使用率为96.325%。
测试结果统计如下,作为对比,MLPerf Storage结果页面某Gen5 SSD单盘性能为9.26GB/s,A100 GPU数量同样为8,PBLaze7 7A40领先幅度达27%!
ResNet-50模型训练:将120颗GPU使用率推至97%
ResNet-50是一种深度残差网络模型,其单个文件体积仅为百余KB,但每个文件包含了高达1251个样本数据,Batch Size是400,属于典型的小文件随机读取,对存储系统的随机响应速度和并发性能会有非常高的要求。本环节GPU使用率同样需要达到90%以上。
我们分别模拟了20到120颗GPU的训练情况,从结果看,即使是单片PBlaze7 7A40 SSD,也能在当前CPU、系统内存配置下,为GPU带来足够充沛的IO性能,在120颗A100 GPU时提供了高达11.76GB/s的数据带宽,GPU的使用率仍然保持在97.57%!
测试结果如下,作为对比,MLPerf Storage官网页面上能够查询到的某Gen5 SSD单盘性能为10.45GB/s,A100 GPU数量为115。
Cosmoflow模型训练:支持44颗GPU,数据带宽达15.7GB/s
CosmoFlow是用于宇宙探究的深度学习训练框架。测试中使用的样本数据集涵盖971819个样本文件,每个文件体积约为2.8MB,Batch Size为1,GPU行为耗时仅为0.00551秒,对SSD随机读取大文件的响应速度有非常高的要求。根据测试要求,本环节GPU使用率需要达到70%以上。
我们分别模拟了1到44颗A100 GPU的CosmoFlow模型训练过程:
- 在配置1颗GPU时,数据带宽为438.75MB/s,此时GPU的使用率达到89.63%;
- 每增加1颗GPU,数据带宽的需求会增加约430MB/s,GPU的使用率出现微弱下滑; 当GPU数量达到28颗时,PBlaze7
- 7A40性能被进一步释放,GPU使用率出现回升,此时数据带宽达到11.19GB/s;
- 当GPU数量达到35颗时,GPU使用率再次达到峰值,为85.57%,传输带宽为14.61GB/s;
- 继续增加GPU数量,整个存储系统的带宽能够得到进一步提升,最高达到15.7GB/s;此时GPU使用率出现下滑,在GPU数量达到44颗时,使用率降至73%,仍高于规范要求的70%。
测试结果统计如下,作为对比,MLPerf Storage官网页面上能够查询到的某Gen5 SSD单盘性能为7064MB/s,对应A100 GPU数量为20颗。
受限于平台性能以及时间等因素,本次测试并没有模拟NVIDIA H100 GPU,一些更加极端的测试用例也被迫中止。但尽管如此,PBlaze7 7A40 PCIe 5.0 SSD在模拟A100 GPU的三个模型训练任务中,均发挥出色,不管是和友商同类产品的直接性能比对,还是比较多存储节点、多计算节点下A100 GPU分得的平均带宽,PBlaze7 7A40都能稳列前茅。
正如前文所说,在典型AI训练任务中,确保每一个环节都不会成为性能瓶颈,是实现高效AI训练的核心要义。这里不光有GPU,有HBM,有CPU,有高性能网卡,高性能NVMe SSD同样必不可少,只有这样,方可在源头上确保足够高的IO性能,为高效训练任务带来最最基础的保障。