Innovations // Memory // Storage

Storage for AI Training: MLPerf Storage on the Micron® 9400 NVMe™ SSD

By John Mazzie, Wes Vaske - 2023-08-17

Analyzing & Characterizing: AI Workloads versus MLPerf Storage 

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

Why MLPerf? 

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

MLPerf Storage utilizes the Deep Learning I/O (DLIO) benchmark, 它使用相同的数据加载器作为真正的人工智能训练工作负载(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, as the BERT benchmark does not stress storage I/O extensively. Unet3D是一种3D医学成像模型,可以通过手动注释将大型图像文件读取到加速器内存中,并生成密集的体积分割. From the storage perspective, 这看起来像是从训练数据集中随机读取大文件. 我们的测试着眼于使用7的1个加速器和15个加速器的结果.68TB Micron 9400 PPO NVMe SSD. 

First, we will examine the throughput over time on the device. 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%.





Next, we will look at the queue depth (QD) for the same workload. With only one accelerator, 当有15个加速器时,QD不会超过10(图3), the QD peaks at around 145 early on, 但在测试的剩余时间内稳定在120左右及以下(图4). However, these time series charts don’t show us the entire picture.





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.



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). 这种行为表明,工作负载中存在空闲时间,而这些时间本应显示始终如一的高吞吐量.



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

Reference Links 

http://mlcommons.org/en/groups/research-storage/ 

GitHub - mlcommons/storage: MLPerf Storage Benchmark Suite 

Unet3D - 1606.06650.pdf (arxiv.org)

1. See: http://mlcommons.org/en/groups/research-storage/ for additional information.

John Mazzie

John Mazzie

约翰于2008年毕业于西弗吉尼亚大学,获得硕士学位,主修无线通信. 2011年,约翰搬到德克萨斯州奥斯汀,在戴尔的存储部门工作. 在戴尔,约翰负责MD3系列存储阵列的开发和维护工作. John于2016年加入美光,在奥斯汀的存储解决方案工程团队工作, where he has worked on Cassandra, MongoDB, and Ceph.

Wendy Lee-Kadlec

Wes Vaske

Wes Vaske是德克萨斯州奥斯汀市美光数据中心工作负载工程团队的高级技术人员. 他分析企业工作负载,以了解Flash和DRAM设备对应用程序的性能影响,并为内部设计提供“真实的”工作负载表征 & development teams. Wes的重点是人工智能应用和开发跟踪和系统观察的工具.

+