摘要
MLPerf™ Storage v1.0 AI存储基准测试吸引了全球13家领先存储厂商和研究机构参与,旨在以具有代表性和可重现性的方法测试存储系统在AI workload下的性能。该基准测试包含了分布式GPU训练过程中对存储的真实数据访问pipeline和软件栈,在满足一定GPU利用率的前提下,以存储系统提供的最大带宽和支持的最大模拟GPU数量为关键性能指标,评估AI场景下存储系统的性能表现。
9月25日,MLCommons协会发布了最新的MLPerf™ Storage v1.0 AI存储基准测试成绩。
在业内,MLPerf™ 是影响力最广的国际AI性能基准评测,由图灵奖得主大卫•帕特森(David Patterson)联合顶尖学术机构发起成立。2023年推出的MLPerf™ 存储基准性能测试,旨在以架构中立、具有代表性和可重复的方式衡量机器学习工作负载的存储系统性能。该测试通过准确建模机器学习工作负载所产生的I/O模式来帮助解决存算平衡问题,为不同存储系统和不同加速器类型的混合和匹配提供了灵活性,为ML/AI模型开发者选择存储解决方案提供权威的参考依据。
作为此次参与MLPerf™ Storage v1.0榜单规则制定的唯一国内高校学者,清华大学的章明星老师不仅参与了规则制定到发榜的全过程,还贡献了一些技术提案和idea来优化榜单的测试规范和评价规则。我们有幸采访到清华大学的章明星老师,为大家解读一下MLPerf™ Storage v1.0。
1
MLPerf™ Storage的特点有哪些,为什么受到这么多人的关注?
早期对存储需求最高的场景是HPC,为了在这个场景下评测存储的能力,业界每年都会组织IO500 榜单的评测和发布。随着AI场景的蓬勃发展,AI应用对于存储的需求也越来越大,也带来了新的业务需求需要专门为其定义评测方法。在这方面MLPerf™ Storage benchmark就是瞄准AI领域测试AI复杂负载下存储系统性能的测试套件。其数据访问的pipeline、framework、软件栈和实际的训练程序是一样的,在最大程度上模拟了AI任务的真实负载,能够测试出存储系统在真实AI任务下的性能表现。而且MLPerf™ storage benchmark通过模拟加速器计算的时间及MPI通讯来模拟GPU的工作过程,不用真实的硬件加速器,例如GPU、NPU等,使测试环境更容易搭建,也更容易模拟大规模GPU训练集群。
2
相比以往,今年发布的MLPerf™ Storage v1.0有哪些变化?
主要变化有三点:
workload上去掉了对存储压力相对比较小的bert,增加了Cosmoflow和Resnet50,保留3D-Unet。这主要是因为 3D-Unet是其中对存储带宽峰值挑战最大的workload。
新增NVIDIA A100和H100的模拟支持,考察在满足高性能GPU一定利用率的前提下,存储系统能够为AI集群提供的总带宽和每节点带宽。同时进一步放宽了对主机配置的规定,比较GPU的数量而不是主机数量,如MLPerf™发言人提到的,“The number of host nodes is not particularly useful for normalization”。
强化了分布式训练,可以支持分布式训练集群的存算配比指标,即每存储节点能支持的GPU数量。因为每存储节点能支持的GPU数量越多,用户的AI存储投资回报越高。
3
如何解读这次发布的MLPerf™ Storage v1.0结果?
这次一共13家厂商参与,9月27日的Storage Working Group会议大家都很兴奋,专门庆祝了这次的成功,说明业界对于这个测评的重视和关注。MLPerf™ storage v1.0 目前还是一个client-server架构的测试模型,其中各个子workload中对于存储主要是的压力体现在带宽上。这里我们以3D-Unet为例,如果以存储带宽排序的话可以得到下图:
根据官方公布的存储节点数,我们可以进一步看到每存储节点提供的带宽和支持的GPU数量。
从柱状图中可以看出,华为、浪潮、焱融等国产厂商在各个维度都处于前列,取得了令人兴奋的成绩,表明国内存储厂商在AI领域有着极强的性能竞争力。
4
针对1.0的指标体系有什么进一步的思考?
目前MLPerf™ Storage给出的聚合总带宽是评价存储性能的一个重要指标,另一方面,一般训练集群规模都比较大,所以指标还应该考虑单台存储设备或者存储的扩展单元scale unit支持的GPU规模,所以在我和一些专家学者的倡议下在V1.0中增加了关于存储scale unit的描述。还有些细化定义V1.0还没完成,比如主机GPU侧的scale up、scale out等因素还没有展开讨论和细化,这些如果不做标准化定义和归一化处理,会影响存储scale unit支持的GPU规模及每GPU存储性能等评价维度的可比较性。我个人觉得这是V1.0一个可以进一步完善的方面。最近MLPerf™ Storage Working Group也正在开展针对V1.0的复盘总结,这些方向作为V2.0版本的评价指标演进思路正在展开讨论,后续版本的指标评价体系也会越来越完善。
5
AI存储评测基准的未来有哪些展望?
一方面,是对于1.0的指标体系的优化。具体来讲,可以考虑如下方向:
满足一定GPU利用率的前提下,指定工作负载和GPU类型,测试存储系统能够支持的最大GPU数量。为了可比较性,这个指标可以量化到每存储节点或每存储Rack Unit等单位或者单位能耗。例如每存储节点或者每存储RU支持的GPU数量越多,表明该存储系统的性能越好。
指定GPU数量的前提下,测试存储系统能够维持的GPU利用率是多少。这个指标也需要综合考虑存储系统的规模。例如指定8卡的测试场景,第一套2节点2U的存储设备能够支撑95%的利用率,第二套16节点32U的存储设备能够支撑96%的利用率,并不意味着第二套存储设备的表现就更好,因为用户为了1%的利用率提升,付出了更多的存储成本,需要有一个综合的指标来评价。
另一方面当前大模型的兴起对存储系统有新的要求和挑战,目前的MLPerf™ Storage还没有专门针对大模型场景的workload。但包括LLM训练环节的checkpoint的存写,以及推理环节我们之前和月之暗面一起在Mooncake架构中提出的KV Cache缓存等都非常依赖高速的存储。支持这些workload才能更全面的评估AI存储的性能。
另外,AI存储评测不仅仅要考虑性能,也需要包含可扩展性、可靠性、安全等方面的评测基准,这些指标对于真实的AI集群生产系统也非常重要。另外大家也可以期待下,咱们国内自己的AI存储测试基准,近期清华大学联合中国计算机学会CCF信息存储专委会发布了CCF存储评测工具和测试规范,除性能外,还有扩展性、可靠性、绿色节能等指标,旨在对智能时代下的存储系统提供全面、专业的度量基准。现已启动打榜测试工作,并将于2024年存储大会公布国内首个存储评测榜单,欢迎大家关注!
章明星,清华大学助理教授。博士毕业于清华大学,主要从事分布式内存系统相关研究工作,其成果在包括 OSDI、SOSP、ASPLOS、HPCA、FSE、VLDB、ATC、EuroSys 等国际顶级会议和期刊上发表论文近三十篇。其中发表在A类会议FSE 2014 的论文获ACM SIGSOFT 杰出论文奖,先后获得 ACM Chinasys 新星和优博,IEEE TCSC 优博等奖项。获得国家自然科学基金青年科学基金及博士后基金一等项目资助。CCF推荐中国科协青年人才托举计划入选,科技部重点研发项目课题负责人。
热门跟贴