当前位置: 首页 > news >正文

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性能,为高效训练任务带来最最基础的保障。


http://www.mrgr.cn/news/70234.html

相关文章:

  • 容器技术在持续集成与持续交付中的应用
  • LabVIEW导入并显示CAD DXF文件图形 程序见附件
  • LeetCode【0017】电话号码的字母组合
  • 【Python】轻松实现机器翻译:Transformers库使用教程
  • HTTP 客户端怎么向 Spring Cloud Sleuth 传输跟踪 ID
  • 初始化mysql5.7
  • 从零开始使用Intel的AIPC使用xpu加速comfyui
  • 你了解JavaScript 中的箭头函数吗?
  • 实现 think/queue 日志分离
  • Open3D (C++) 欧拉角转四元数公式推导及过程实现
  • 第10天:Fragments(碎片)使用-补充材料——‘MainActivity.kt‘解读
  • 详解Servlet API
  • MySQL引擎事务锁冲突分析
  • 互联网摸鱼日报(2024-11-11)
  • 多线程进阶
  • VUE3实现好看的通用网站源码模板
  • 一、HTML学习(基础知识学习)
  • goframe开发一个企业网站 验证码17
  • 【智慧出行】微信小程序智慧旅游服务平台,轻松规划旅程
  • 东胜物流软件AttributeAdapter.aspx存在SQL注入漏洞
  • [DEBUG]AttributeError: module ‘numpy‘ has no attribute ‘bool‘?
  • Scott Brinker:科技巨头裁员?大公司都在积极招聘Martech人才
  • JVM学习之路(5)垃圾回收
  • 大数据-218 Prometheus 插件 exporter 与 pushgateway 配置使用 监控服务 使用场景
  • HyperWorks进阶教程:OptiStruct材料和分析类型
  • 个人图书馆