DESIGN TOOLS
storage

用于人工智能训练的存储:MLPerf存储在美光®9400 NVMe™SSD上

John Mazzie Wes Vaske | August 2023

Analyzing & Characterizing: AI Workloads versus MLPerf Storage

为人工智能工作负载测试存储是一项具有挑战性的任务,因为运行实际训练可能需要专业的硬件,这些硬件可能很昂贵,而且可以快速更改. 这就是MLPerf帮助测试AI工作负载的存储的地方.

Why MLPerf?

MLCommons 产生了许多专注于扩展AI加速器性能的AI工作负载基准. 他们最近利用这一专业知识专注于人工智能的存储,并建立了一个强调人工智能训练存储的基准. 这个基准测试的目标是以与真正的AI训练过程相同的方式执行I/O, 提供更大的数据集来限制文件系统缓存和/或将训练硬件(gpu和其他加速器)与存储测试解耦的影响.1

MLPerf Storage使用深度学习I/O (DLIO)基准, 它使用相同的数据加载器作为真正的人工智能训练工作负载(pytorch, tensorflow, etc.) to move data from storage to CPU memory. In DLIO, an accelerator is defined with a sleep time and batch size, 在哪里,睡眠时间是从正在模拟的加速器中运行的实际工作负载计算的. 可以通过添加运行DLIO的客户机并为每个客户机的多个仿真加速器使用消息传递接口(MPI)来扩展/扩展工作负载.

MLPerf通过定义一组配置来表示提交给MLPerf Training的结果. Currently, 实现的模型是BERT(自然语言处理)和Unet3D (3D医学成像), 结果以每秒的样本数和支持的加速器数量报告. 要通过测试,必须保持至少90%的加速器利用率.

Unet3D Analysis

Though MLPerf implements both BERT and Unet3D, our analysis focuses on Unet3D, 因为BERT基准测试不会过多地强调存储I/O. Unet3D是一种3D医学成像模型,可以通过手动注释将大型图像文件读取到加速器内存中,并生成密集的体积分割. From the storage perspective, 这看起来像是从训练数据集中随机读取大文件. 我们的测试着眼于使用7的1个加速器和15个加速器的结果.68TB Micron 9400 PPO NVMe SSD.

首先,我们将检查设备上随时间变化的吞吐量. In Figure 1, 一个加速器的测量结果大多在0到600MB/s之间, with some peaks of 1,600 MB/s. 这些峰值对应于在开始计算之前的一个epoch开始时填充的预取缓冲区. In Figure 2, we see that for fifteen accelerators, 工作负载仍然爆发,但达到设备支持的最大吞吐量. 但是,由于工作负载的突发,总平均吞吐量比最大值低15-20%.

x轴上以秒为单位的时间图与mibps的对比显示了mibps的曲线图
图形命名为mibps绘制设备nvme1n1操作读取与时间在x轴上以秒为单位

接下来,我们将查看相同工作负载的队列深度(QD). With only one accelerator, 当有15个加速器时,QD不会超过10(图3), the QD peaks at around 145 early on, 但在测试的剩余时间内稳定在120左右及以下(图4). 然而,这些时间序列图表并没有向我们展示整个画面.
 

graph showing queue depth vs time by operation
通过设备nvme1n1的操作显示队列深度与时间的关系图

When looking at the percentage of I/Os as a given QD, we see that for a single accelerator, 几乎50%的I/ o是队列上的第一个事务(QD 0),几乎50%是第二个事务(QD 1)。, as seen in Figure 5.

显示nvme1n1设备的队列深度与操作百分比的图表

With fifteen accelerators, most of the transactions occur at QDs between 80 and 110, but a significant portion occur at QDs below 10 (Figure 6). 这种行为表明,工作负载中存在空闲时间,而这些时间本应显示始终如一的高吞吐量.
 

显示nvme1n1设备的队列深度与操作百分比的图表

从这些结果中,我们可以看到,从存储的角度来看,工作负载是非常重要的. Additionally, 随机大块传输和空闲时间与大传输爆发和MLPerf Storage混合是一种工具,通过再现这些实际工作负载,它将非常有助于对各种模型的存储进行基准测试.

Principal Storage Solutions Engineer

John Mazzie

John是位于德克萨斯州奥斯汀的数据中心工作负载工程小组的技术人员. 他于2008年毕业于西弗吉尼亚大学(West Virginia University),获得硕士学位,主修无线通信. John曾在Dell的存储MD3系列存储阵列的开发和维护方面工作过. John于2016年加入美光,从事Cassandra的研究, MongoDB, and Ceph, and other advanced storage workloads.

SMTS Systems Performance Engineer

Wes Vaske

Wes Vaske是美光公司的首席存储解决方案工程师.