MLPerf 存储基准测试:衡量存储系统处理机器学习任务的能力

aixo 2024-10-02 08:06:30
存储 2024-10-02 08:06:30

如果您希望可以时常见面,欢迎标星收藏哦~

来源:内容编译自,谢谢。

存储基准测试结合了三个工作负载和两种类型的 GPU,呈现出一个六方面的视角,展示了存储系统在处理机器学习任务时让 GPU 保持繁忙的能力。

该基准测试由 制作,这是一个由 125 家以上供应商和组织组成的非盈利 AI 工程联盟。 生产了七项 基准测试,其中一项专注于存储,"测量在训练模型时,存储系统能够多快地提供训练数据。"

官网指出:“高性能 AI 训练现在需要既大规模又高速的存储系统,否则访问存储的数据将成为整个系统的瓶颈。随着 存储基准测试 v1.0 结果的发布,显然存储系统供应商正在创新以应对这一挑战。”

存储工作组的联合主席 Oana 表示:“ 存储 v1.0 结果展示了存储技术设计的更新。目前,似乎还没有就 ML 系统中存储的‘最佳实践’技术架构达成共识:我们收到的 v1.0 基准测试提交采用了广泛的独特且有创造性的方式,提供了高速、大规模的存储解决方案。”

理论上, 存储 v1.0 基准测试结果提供了一种比较不同供应商将机器学习数据传输给 GPU 并使其保持超过 90% 忙碌状态的能力的方式。

然而,结果呈现在一个包含两个表集的单一电子表格文件中,这使得在供应商之间进行比较——甚至在同一供应商的测试组内进行不同结果的比较——变得相当困难。首先,有三个分别测试的工作负载——3D Unet、 和 ——每个都有 MiB/秒的分数,这意味着实际上存在三个基准测试,而不是一个。

3D Unet 测试关注医学图像分割,使用的是“合成生成的文件群,文件大小的分布与真实数据集中的分布相匹配”。 是一个科学 AI 数据集,使用合成的宇宙学数据,而 是一个使用来自 的合成数据的图像分类工作负载。这三种工作负载旨在“最大化 MBit/秒和使用 >90% 加速器利用率的加速器数量。”

存储ai大脑_AI存储_存储aicpo

这些工作负载提供了各种不同的样本大小,范围从几百兆字节到几百千字节,以及从几毫秒到几百毫秒的广泛模拟“思考时间”。它们可以与模拟的 A100 或 H100 加速器(GPU)一起运行,这意味着实际上存在六个独立的基准测试。

我们询问了 相关情况,发言人解释道:“对于给定的工作负载,模拟的加速器将根据加速器的计算和内存特性对存储施加特定的需求,这是一个复杂的非线性函数。在这种情况下,模拟的 H100 将对存储施加比模拟的 A100 更大的需求。”

基准测试分为两种类型:封闭型运行,允许跨供应商和跨系统的比较;以及开放型运行,允许进行有趣的创新结果展示。开放型允许在调整和更改基准测试和存储系统配置方面具有更多的灵活性,以展示有益于 AI/ML 社区的新方法或新功能。但开放型明确放弃了可比性,以便展示创新。有些人可能会认为拥有这两个类别有些分散注意力而非有帮助。

总的来说, 存储基准测试类别下有七个单独的基准测试,所有的结果都存在于一个复杂的电子表格中,且相当难以解释。共有 13 家提交组织:DDN、、HPE、华为、IEIT 、、 Labs、、、、、WEKA 和 Tech,涵盖了三个工作负载的 100 多个结果。

负责人 David 说:“我们很高兴看到如此多的存储供应商,无论是大公司还是小公司,参与了这一首创的 v1.0 存储基准测试。这表明行业正在认识到在存储技术中保持创新的必要性,以跟上 AI 技术堆栈的步伐,并且这些技术的性能衡量能力对于成功部署 ML 训练系统至关重要。”

我们注意到,戴尔、IBM、、Pure 和 VAST Data ——所有这些公司都曾获得 的 或 认证——并未列入此名单。戴尔和 IBM 都是 的成员。来自这些公司的基准测试运行提交将非常有趣。

指出:“值得注意的是,没有规模化 NAS 供应商提交 存储基准测试结果。像戴尔、、 和 VAST Data 这样知名的 NAS 供应商缺席。为什么这些公司没有提交结果?很可能是因为规模化 NAS 架构的 I/O 路径中存在太多性能瓶颈,无法在这些基准测试中表现良好。”

比较供应商

为了在基准测试中比较存储供应商,我们需要分离出它们的 v1.0 基准测试工作负载类型结果,并使用同一 GPU 在封闭型运行中进行比较——例如 3D Unet-H100-。当我们针对每个工作负载和两种 GPU 类型进行了这样的操作时,发现即使在单个供应商的分数内,结果也大不相同,这让我们担心我们并未真正进行类似的比较。

例如,我们分离并绘制了一个 3D Unet-H100- 结果集的图表,得出了如下结果:

存储aicpo_存储ai大脑_AI存储

华为得分 695,480 MiB/秒,而 得分 5,536 MiB/秒,HPE 得分 5,549 MiB/秒, 得分 5,789 MiB/秒。显然,我们需要以某种方式将华为及类似的结果与其他结果分离开来,或者以某种方式对其进行归一化处理。

华为的系统正在为 255 个 H100 GPU 提供数据,而其他三个供应商仅处理两个 H100——显然是完全不同的情况。华为系统有 51 个主机计算节点,而其他三个供应商则分别没有指定()和分别为 HPE 和 提供一个节点。

我们询问了 是否应该对主机节点进行归一化以便比较华为、、HPE 和 等供应商。发言人告诉我们:“主机节点的数量对于归一化并不特别有用——对此造成的混淆我们表示歉意。提交规模是由模拟加速器的数量和类型来表示的——即十个模拟 H100 从存储角度看是一个模拟 H100 工作量的 10 倍。虽然 并未推荐特定的归一化方案,但通过加速器进行归一化可能对更广泛的社区有用。”

我们这样做了,将总体 MiB/秒数除以 GPU 加速器的数量,得出了如下图表:

存储aicpo_AI存储_存储ai大脑

我们立刻看到 的性能最佳——在 3D Unet 工作负载封闭型分组中使用 H100 GPU,每 GPU 的 MiB/秒分别为 2,895 MiB/秒(六个存储服务器)和 2,883 MiB/秒(22 个存储服务器)。 Labs 紧随其后,得分为 2,814 MiB/秒,接下来是 ,得分为 2,803 MiB/秒(四个节点)和 2,630 MiB/秒(七个节点)。 还得到了最低分——2,630 MiB/秒(32 个节点),这表明其效果随着节点数量的增加而减弱。

声称,它是唯一一个使用标准企业存储网络和接口实现 HPC 级别性能的供应商。[点击此处下载 的 基准测试规格。]

华为的总容量为 457,764TB(362,723TB 可用), 为无限容量(无限可用!),HPE 为 171,549.62TB(112,596.9TB 可用),而 为 38,654TB(37,339TB 可用)。似乎没有有效的关系将总容量或可用容量与基准测试分数联系起来。

我们询问了 这一点,得到的回复是:“总容量或可用容量与基准测试分数之间的关系在某种程度上是提交特定的。一些提交者可能有独立扩展容量和存储吞吐量的方法,而其他人可能没有。”

的开放型分组测试使用了 3D Unet 工作负载和 411 个 H100 GPU,得分为 1,079,091 MiB/秒,这是所有 3D Unet H100 基准测试中得分最高的,超过了华为的 695,480 MiB/秒。

的首席产品官 John 告诉我们:“我们的开放型提交与封闭型提交基本相同,但有两个关键区别。首先,我们使用 NPY 文件,而不是压缩的 NPZ 文件。这种方法减少了对主机内存总线的使用,使我们能够在每个主机上运行更多的 GPU,从而有助于降低成本。其次,数据加载绕过了 Linux 页面缓存,因为它并非为高带宽存储工作负载设计。”

提交了第二个结果,得分为 1,140,744 MiB/秒, 解释道:“在第二次提交中,我们修改了基准测试中屏障的使用。我们想展示在大规模训练过程中在每个 epoch 结束时执行屏障操作,会阻碍此类环境中存储系统性能的准确测量。”

Tech

Tech 对我们来说是一家新厂商。发言人 Yang 告诉我们:“ Tech 是一家专注于高性能分布式文件存储的中国公司。目前,我们为中国许多领先的 AI 模型客户提供服务。展望全球,我们希望与国际同行接轨,推动高性能存储技术的进步。”

我们了解到,该公司的 是一款高性能、数据中心级别的分布式共享文件系统产品,专为软件定义环境打造,能够为客户的 AI 和高性能工作负载提供快速、高度可扩展且具备弹性的文件系统。

华为分享对 存储基准的看法

v1.0 基准测试引起了许多关于供应商得分如何以及应该如何比较的讨论。华为认为应该使用每秒样本处理量(/sec)的评分进行比较,并根据存储节点或机架单位进行归一化,而不是使用 MiB/sec 的吞吐量评分。

基准测试结果通过三个与 AI 相关的工作负载,测量存储系统的吞吐量(以 MiB/秒为单位),提供了一种比较不同供应商系统将机器学习数据传输至 GPU 并保持其超过 90% 工作负荷能力的方法。

存储aicpo_存储ai大脑_AI存储

我们认为不同供应商之间的差异如此之大,以至于应该通过某种方式进行归一化,以便更合理地比较供应商的表现。我们向 询问是否应该针对主机节点进行归一化,以便比较华为、、HPE、 等供应商时,发言人告诉我们:“提交的规模由模拟加速器的数量和类型决定——例如,从存储角度看,十个模拟 H100 的工作量是一个模拟 H100 工作量的 10 倍。虽然 不支持特定的归一化方案,但根据加速器数量进行归一化可能对更广泛的社区有用。”

我们确实这样做了,将总 MiB/秒的数值除以 GPU 加速器的数量,并生成了这个图表:

存储aicpo_AI存储_存储ai大脑

华为认为这种归一化方法不合适。负责华为品牌和市场执行的 Jiani Liang 告诉我们:“你将总 MiB/秒数值除以 GPU 加速器的数量进行比较。我认为这不符合当前基准测试规则的定义。

“每 GPU 带宽是 AI 人员理解存储支持 GPU 训练速度的一个好指标,但前提是指定相同的 GPU 集群规模,因为不同的 GPU 数量意味着对存储的 I/O 压力不同,从而会影响提供给每个 GPU 的带宽。小规模的 GPU 集群对存储施加的 I/O 压力较小,导致每 GPU 带宽略高。这一趋势在你的文章图表中也可以观察到。

“例如,同样使用 的 ,在一个 12-GPU 集群中,每个 GPU 的平均带宽是 2,783 MiB/秒,但在一个 36-GPU 集群中,这个值是 2,711 MiB/秒。另一方面,GPU 数量越多,GPU 之间同步的开销也越大。

“我们还使用基准测试在每个主机上有相同 GPU 数量的情况下,测试了不同主机数量下的同步时间。正如你从下图所看到的,随着主机数量和 GPU 数量的增加,同步开销在总时间中的比例增加,导致每 GPU 带宽下降。即使使用相同的存储系统,这两个因素也会影响每 GPU 带宽,导致可比性丧失。”

AI存储_存储ai大脑_存储aicpo

“由于目前基准测试未指定总 GPU 数量和每服务器 GPU 数量,这一指标在没有相同 GPU 集群规模的情况下被错误地归一化。”

根据 v1.0 基准测试规则:“基准测试性能指标是每秒样本处理量( per ),并满足为该工作负载定义的最低加速器利用率(AU)。每秒样本处理量越高越好。”

Jiani Liang 说:“因此,挑战在于一个存储系统能够提供的最高吞吐量。我同意你说的,我们确实需要以某种方式归一化结果,因为提交的存储系统规模各不相同。根据存储节点或存储机架单位进行归一化可能更适合进行比较。”