在生成式 AI 时代,产生的数据比以往任何时候都多。 Solidigm 为现代 AI 工厂的诸多挑战提供了解决方案。
我们喜欢 Solidigm 61.44TB U.2 NVMe SSD 的超高密度,这已经不是什么秘密了。我们进行了无数次耐久性和性能测试,取得了科学发现,并将世界纪录计算推向了新的非凡高度。因此,随着人工智能热潮在我们周围以惊人的速度涌现,下一步就是看看 Solidigm NVMe 硬盘在 2024 年人工智能的动态世界中的表现如何。
了解极端存储密度的好处
Solidigm 的 61.44TB QLC SSD 以其出色的存储容量脱颖而出,使数据中心能够将更多存储空间装入更少的驱动器中。这种极高的密度在 AI 服务器中尤其有利,因为 AI 服务器中的数据集呈指数级增长,高效的存储解决方案至关重要。使用这些高容量 SSD,数据中心可以减少物理驱动器的数量、减少占用空间、降低功耗并简化维护。
GPU 服务器中 PCIe 通道有限
现代 GPU 服务器面临的主要挑战之一是 GPU 获得其份额后可用的 PCIe 通道数量有限。对于 AI 工作负载而言,GPU 需要大量 PCIe 带宽,因此通常会为其他组件(包括存储设备和网络)留下有限的通道。这一限制使得优化可用 PCIe 通道的使用变得至关重要。Solidigm 的 61.44TB QLC SSD 提供了一种解决方案,它在单个驱动器中提供大量存储容量,减少了对多个驱动器的需求,并为 GPU 和其他重要组件节省了 PCIe 通道。
AI 工作负载和存储要求
AI 工作负载大致可分为三个阶段:数据准备、训练和微调以及推理。每个阶段都有独特的存储要求,而 Solidigm 的高容量 SSD 可以显著提高这些阶段的性能和效率。部署高容量 QLC 驱动器(如 Solidigm D5-P5336)可使所有 AI 工作负载受益。大多数好处涵盖从数据准备到训练、微调再到推理。
资料准备
数据准备是任何 AI 项目的基础,涉及数据收集、清理、转换和增强。此阶段需要大量存储,因为原始数据集可能非常庞大。Solidigm 的 61.44TB QLC SSD 可以存储大量原始数据,而不会影响性能。此外,这些 SSD 的高顺序读写速度可确保快速访问数据,从而加快准备过程。对于数据准备,Soidigm 61.44TB QLC SSD 满足上述所有需求,具有以下优势:
- 海量存储容量: 有效处理大型数据集。
- 高连续速度: 快速的数据访问和处理。
- 减少延迟: 最大限度地减少数据检索的延迟,提高工作流程效率。
训练和微调
训练 AI 模型是一个密集的过程,涉及将大量数据集输入神经网络以调整权重和偏差。此阶段对计算的要求很高,需要高 IOPS(每秒输入/输出操作)和低延迟存储,以跟上存储和 GPU 之间的快速数据交换。Solidigm 的 SSD 在这方面表现出色,提供高性能和耐用性。这些 SSD 的极高密度允许在训练中使用更广泛的数据集,从而可能产生更准确的模型。为了满足训练和微调需求,Solidigm SSD 提供以下功能:
- 高 IOPS: 支持训练所必需的快速数据交换。
- 耐用性: QLC 技术针对读/写密集型工作负载进行了优化,非常适合重复的训练周期。
- 可扩展性: 无需添加物理驱动器即可扩展存储,从而保持 PCIe 通道的有效利用。
推论
经过训练后,AI 模型将根据新数据进行预测或决策,这称为推理。此阶段通常需要快速访问预处理数据并有效处理增加的读取请求。Solidigm 的 61.44TB QLC SSD 提供必要的读取性能和低延迟,以确保推理操作顺利、快速地进行。Solidigm SSD 通过提供以下优势超越了性能和低延迟:
- 快速读取性能: 确保快速访问数据进行实时推理。
- 低延迟: 对于需要立即响应的应用程序来说至关重要。
- 大容量: 高效存储大量推理数据和历史结果。
QLC 技术为推理应用提供了显著的优势,包括高存储容量、成本效益、快速读取速度、高效的 PCIe 利用率、耐用性和更高的工作流效率。这些优势共同提高了推理任务的性能、可扩展性和成本效益,使 QLC 驱动器成为现代 AI 和机器学习部署的理想选择。
为什么让大存储尽可能靠近 GPU 如此重要?
对于 AI 和机器学习,存储与 GPU 的距离会显著影响性能。设计 AI 数据中心需要仔细考虑多种因素,以确保最佳功能和效率。这就是为什么拥有尽可能靠近 GPU 的大量存储至关重要。正如我们最近探索的那样,访问大型网络附加存储解决方案开始成为一种必备工具,但仅依靠它可能并不总是最佳选择。
延迟和带宽
将充足的存储空间放置在 GPU 附近的主要原因是为了最大限度地减少延迟并最大化带宽。AI 工作负载(尤其是在训练期间)涉及存储和 GPU 之间频繁且大量的数据传输。高延迟会阻碍整个过程,减慢训练时间并降低效率。
在 AI 工作负载中,快速的数据可用性至关重要,低延迟可确保 GPU 及时接收数据,从而减少空闲时间并提高整体计算效率。在训练阶段,大量数据需要不断输入 GPU 进行处理。通过最大限度地减少延迟,DAS 可确保满足 AI 应用程序的高速需求,从而缩短训练时间并提高工作流程效率。
数据吞吐量和 I/O 性能
本地 NVMe SSD 在处理大量每秒输入/输出操作 (IOPS) 方面表现出色,这对于读/写密集型 AI 工作负载至关重要。在训练阶段,AI 模型需要快速访问庞大的数据存储库,因此需要能够满足高数据交易需求的存储解决方案。
Solidigm D5-P5336 专为高容量、高性能场景而设计,可提供出色的 IOPS,从而加快数据检索和写入过程。此功能可确保 GPU 忙于计算而不是等待数据,从而最大限度地提高效率并减少训练时间。本地 NVMe SSD 的高 IOPS 性能使其成为 AI 应用程序苛刻环境的理想选择,在这些环境中,快速的数据访问和处理对于实现最佳性能至关重要。
数据管理
虽然在某些情况下,将足够的存储空间直接连接到 GPU 可以简化数据管理,但这确实增加了一个必要的数据管理层,以便将数据暂存到 GPU 服务器上。在理想情况下,您的 GPU 正在忙于处理,而您的 CPU 正在通过网络保存检查点或下载新数据。61.44TB Solidigm 硬盘有助于减少所需的数据交易数量。您还可以使用简化的网络设置和分布式文件系统来解决此问题。这种简单的方法可以简化工作流程并减少与数据相关的错误或延迟的可能性。
假设您在一台服务器内工作,对适合少数本地连接的 GPU 的模型进行微调。在这种情况下,您可以利用本地存储,它比网络存储解决方案更易于设置和管理。配置、管理和维护网络附加存储可能很复杂且耗时,通常需要专业知识和额外的基础设施。相比之下,NVMe SSD 等本地存储解决方案更容易集成到现有服务器设置中。
这种配置和维护的简单性使 IT 团队能够更加专注于优化 AI 工作负载,而不是处理复杂的网络存储管理。因此,使用本地 NVMe SSD 部署和管理 AI 应用程序的存储变得更加简单和高效。
成本和可扩展性
虽然 NAS 解决方案可以通过添加更多存储设备进行水平扩展,但它们也伴随着与网络基础设施相关的成本和潜在的性能瓶颈。相反,投资高容量本地存储可以带来立竿见影的性能优势,而无需进行大规模的网络升级。
本地存储解决方案通常比网络附加存储系统 (NAS) 更具成本效益,因为它们无需昂贵的网络硬件和复杂的配置。设置和维护 NAS 需要对高速交换机和路由器等网络设备进行大量投资,并且需要持续的网络管理和维护成本。
直接集成到服务器中的大容量本地 SSD 可用作暂存区,从而减少对额外基础设施的需求。这种直接集成可降低硬件成本并简化设置过程,对于希望优化 AI 工作负载而无需高额费用的组织来说,它更具预算友好性。
为了全面评估 Solidigm 61.44TB QLC SSD 在 AI 服务器设置中的性能,我们将对安装在 Lenovo ThinkSystem SR5336 V61.44 中的四个 Solidigm P675 3TB SSD 阵列进行基准测试。此服务器配置还包括一组四个 NVIDIA L40S GPU。用于此目的的基准测试工具是 GDSIO,这是一种专门用于测量 GPU 直接存储 (GDS) 环境中的存储性能的实用程序。我们研究了两种配置:一个 GPU 到单个驱动器的性能和一个 GPU 到为 RAID0 配置的四个驱动器的性能。
请继续关注。以下部分将介绍测试的具体内容以及它们如何模拟 AI 管道的不同阶段。
测试参数
基准测试过程涉及模拟 AI 管道不同阶段的各种测试参数。这些参数包括 io_sizes、threads 和 transfer_type,每个参数都代表 AI 工作负载的特定方面。
1.IO 大小:
- 4K、128K、256K、512K、1M、4M、16M、64M、128M: 这些不同的 I/O 大小有助于模拟不同的数据传输模式。较小的 I/O 大小(128K、256K、512K)模拟频繁访问小数据块的场景,这在数据准备阶段很常见。较大的 I/O 大小(1M、4M、16M、64M、128M)表示在训练和推理阶段经常看到的批量数据传输,其中整个数据批次都会移动。
2.线程:
- 1、4、16、32: 线程数表示数据访问的并发级别。单个线程测试基准性能,而更高的线程数(4、16、32)则模拟更密集的并行数据处理活动,类似于在同时处理多个数据流的大规模训练期间发生的情况。
3. 转账类型:
- 存储->GPU(GDS): 此传输类型利用 GPU 直接存储 (GDS),绕过 CPU,实现 SSD 和 GPU 之间的直接数据传输。此配置非常适合测试直接数据路径的效率并最大限度地减少延迟,反映实时推理场景。
- 存储->CPU->GPU: 这种传统的数据传输路径涉及将数据从存储移动到 CPU,然后再传输到 GPU。此方法模拟了在 CPU 级别可能发生中间处理或缓存的场景,这是数据准备阶段的预期情况。我们可以说,无论 GPU 供应商是谁,此数据路径都会代表性能。
- 存储->PAGE_CACHE->CPU->GPU: 此路径使用页面缓存进行数据传输,其中数据首先缓存在内存中,然后由 CPU 处理,然后传输到 GPU。此配置可用于测试缓存机制和内存带宽对整体性能的影响,这在训练期间非常重要,因为数据可能会被预处理和缓存以提高效率。同样,我们可以说,无论 GPU 供应商是谁,此数据路径都会代表性能。
模仿人工智能管道阶段
基准测试旨在反映人工智能流程的不同阶段,确保获得的性能指标相关且全面。
数据准备:
- 输入输出大小: 较小(128K、256K、512K)
- 主题: 1,4
- 转移类型: “存储->CPU->GPU”,“存储->PAGE_CACHE->CPU->GPU”
- 目的: 评估 SSD 如何处理频繁的小数据传输和 CPU 参与,这在数据提取、清理和增强阶段至关重要。
训练和微调:
- 输入输出大小: 中到大(1M、4M、16M)
- 主题: 4,16,32
- 转移类型: “存储->GPU(GDS)”,“存储->CPU->GPU”
- 目的: 评估在具有多个并发数据流的高数据吞吐量条件下的性能,代表模型训练和微调期间所需的密集数据处理。
推理:
- 输入输出大小: 大到非常大(16M、64M、128M)和 4K
- 主题: 1,4,16
- 转移类型: 存储->GPU(GDS)
- 目的: 测量直接、大规模数据传输到 GPU 的效率,这对于实时推理应用程序至关重要,因为快速数据访问和最小延迟至关重要。4K 旨在查看正在发生的 RAG 数据库搜索。
通过改变这些参数并测试不同的配置,我们可以获得 Solidigm 61.44TB QLC SSD 在高性能 AI 服务器环境中的详细性能概况,从而深入了解它们对各种 AI 工作负载的适用性和优化程度。我们在几周内进行了 1200 多次测试来检查数据。
服务器配置
- 联想ThinkSystem SR675 V3
- AMD EPYC 9254 24 核处理器
- 6 X 64GB DDR5 384GB 总容量
- 4 个 NVIDIA L40S GPU
- 4X 61.44TB Solidigm P5336 QLC NVMe SSD
- Ubuntu Server 22.04
- NVIDIA 驱动程序版本:535.171.04
- CUDA 版本:12.2
基准测试结果
首先,让我们看看训练和推理类型的工作负载。GPU Direct 1024K IO 大小代表模型加载、加载到 GPU 的训练数据以及其他大批量推理作业(如图像或视频工作)。
4驱动 | I / O类型 | 转账类型 | 线 | 数据集大小 (KiB) | IO 大小 (KiB) | 吞吐量(GiB/秒) | 平均延迟(微秒) |
---|---|---|---|---|---|---|---|
您是我们的客人? | 图形处理单元 | 8 | 777,375,744 | 1024 | 12.31 | 634.55 | |
读 | 图形处理单元 | 8 | 579,439,616 | 1024 | 9.30 | 840.37 | |
兰德写入 | 图形处理单元 | 8 | 751,927,296 | 1024 | 12.04 | 648.67 | |
兰德瑞德 | 图形处理单元 | 8 | 653,832,192 | 1024 | 10.50 | 743.89 |
接下来,我们来看看较小的 IO 大小,例如,对于 RAG 类型的工作负载,快速随机 4k 数据访问存储在磁盘上的 RAG 数据库。对于推理工作负载需要以非顺序方式访问数据的场景,例如使用推荐系统或搜索应用程序,高效的随机 I/O 是必要的。RAID0 配置在顺序和随机操作方面表现出良好的性能,这对于涉及混合访问模式(如 RAG)的 AI 应用程序至关重要。读取延迟值特别低,尤其是在 GPUD
模式。
这里选择了 8 个工作线程,它们并没有完全占用 SSD,但提供了 RAG 类型工作负载中可能出现的更具代表性的快照。这提供了一个围绕 GPU 视角的现成应用程序环境,工作线程数量有限,队列深度更高,值得注意的是,这表明还有更多性能空间,可以通过进一步的软件优化来实现。
4驱动 | I / O类型 | 转账类型 | 线 | 数据集大小 (KiB) | IO 大小 (KiB) | 吞吐量(GiB/秒) | 平均延迟(微秒) |
---|---|---|---|---|---|---|---|
您是我们的客人? | 图形处理单元 | 8 | 69,929,336 | 4 | 1.12 | 27.32 | |
读 | 图形处理单元 | 8 | 37,096,856 | 4 | 0.59 | 51.52 | |
兰德写入 | 图形处理单元 | 8 | 57,083,336 | 4 | 0.91 | 33.42 | |
兰德瑞德 | 图形处理单元 | 8 | 27,226,364 | 4 | 0.44 | 70.07 |
如果您由于不支持库或 GPU 而无法使用 GPU Direct,那么如果您在数据传输中使用 CPU,则可以使用以下两种类型。在此特定服务器 Lenovo ThinkSystem SR675 V3 中,由于所有 PCIe 设备都经过 CPU 根复合体,因此我们看到了可比的带宽,但延迟会受到影响。我们可以期待使用 PCIe 交换机的系统有所改进。
4驱动 | I / O类型 | 转账类型 | 线 | 数据集大小 (KiB) | IO 大小 (KiB) | 吞吐量(GiB/秒) | 平均延迟(微秒) |
---|---|---|---|---|---|---|---|
您是我们的客人? | CPU_GPU | 8 | 767,126,528 | 1024 | 12.24 | 638.05 | |
读 | CPU_GPU | 8 | 660,889,600 | 1024 | 10.58 | 738.75 | |
兰德写入 | CPU_GPU | 8 | 752,763,904 | 1024 | 12.02 | 649.76 | |
兰德瑞德 | CPU_GPU | 8 | 656,329,728 | 1024 | 10.47 | 746.26 | |
您是我们的客人? | CPU_GPU | 8 | 69,498,220 | 4 | 1.11 | 27.47 | |
读 | CPU_GPU | 8 | 36,634,680 | 4 | 0.58 | 52.31 |
该表表明读取操作的吞吐率很高,特别是 GPUD
传输类型。例如, GPUD
模式可达到 10.5 GiB/秒以上。这有利于 AI 工作负载,因为这些工作负载通常需要快速访问数据来训练大型模型。
随机和顺序操作之间的平衡性能使此配置非常适合推理任务,因为推理任务通常需要混合使用这些访问模式。虽然延迟值不是极低,但对于许多推理应用程序来说,它们仍在可接受的范围内。
此外,我们还看到了令人印象深刻的吞吐率,写入操作高达 12.31 GiB/秒,读取操作高达 9.30 GiB/秒。这种高吞吐量有利于需要快速数据访问以进行模型训练和推理的 AI 工作负载。
顺序读取和优化
移动到 128M IO 大小并遍历工作线程,我们可以看到优化存储解决方案的工作负载的结果。
转账类型 | 线 | 吞吐量(GiB/秒) | 延迟(微秒) |
---|---|---|---|
存储->CPU->GPU | 16 | 25.134916 | 79528.88255 |
存储->CPU->GPU | 4 | 25.134903 | 19887.66948 |
存储->CPU->GPU | 32 | 25.12613 | 159296.2804 |
存储->GPU(GDS) | 4 | 25.057484 | 19946.07198 |
存储->GPU(GDS) | 16 | 25.044871 | 79770.6007 |
存储->GPU(GDS) | 32 | 25.031055 | 159478.8246 |
存储->PAGE_CACHE->CPU->GPU | 16 | 24.493948 | 109958.4447 |
存储->PAGE_CACHE->CPU->GPU | 32 | 24.126103 | 291792.8345 |
存储->GPU(GDS) | 1 | 23.305366 | 5362.611458 |
存储->PAGE_CACHE->CPU->GPU | 4 | 21.906704 | 22815.52797 |
存储->CPU->GPU | 1 | 15.27233 | 8182.667969 |
存储->PAGE_CACHE->CPU->GPU | 1 | 6.016992 | 20760.22778 |
正确编写任何应用程序来与存储交互都是至关重要的,并且需要考虑到这一点,因为企业希望最大化他们的 GPU 投资。
GPU直接
通过在所有测试中隔离 GPU Direct 性能,我们可以大致了解 NVIDIA 技术的优势所在。
I / O类型 | 转账类型 | 线 | 数据集大小 (KiB) | IO 大小 (KiB) | 吞吐量(GiB/秒) | 平均延迟(微秒) |
---|---|---|---|---|---|---|
您是我们的客人? | 图形处理单元 | 8 | 777,375,744 | 1024 | 12.31 | 634.55 |
读 | 图形处理单元 | 8 | 579,439,616 | 1024 | 9.30 | 840.37 |
兰德写入 | 图形处理单元 | 8 | 751,927,296 | 1024 | 12.04 | 648.67 |
兰德瑞德 | 图形处理单元 | 8 | 653,832,192 | 1024 | 10.50 | 743.89 |
您是我们的客人? | 图形处理单元 | 8 | 69,929,336 | 4 | 1.12 | 27.32 |
读 | 图形处理单元 | 8 | 37,096,856 | 4 | 0.59 | 51.52 |
兰德写入 | 图形处理单元 | 8 | 8,522,752 | 4 | 0.14 | 224.05 |
兰德瑞德 | 图形处理单元 | 8 | 21,161,116 | 4 | 0.34 | 89.99 |
兰德写入 | 图形处理单元 | 8 | 57,083,336 | 4 | 0.91 | 33.42 |
兰德瑞德 | 图形处理单元 | 8 | 27,226,364 | 4 | 0.44 | 70.07 |
关闭的思考
由于本文重点介绍 Solidigm 61.44TB P5336,让我们退一步来看看 TLC 与 QLC 在性能与容量方面的争论。当我们查看 Solidigm 产品组合中的其他产品时,例如使用 TLC 7D NAND 的 D3 系列,容量有限以换取性能。在我们的测试中,特别是使用 61.44TB Solidigm 硬盘时,我们看到总体吞吐量性能可以充分保持 GPU 以低延迟提供数据。我们听到了来自 ODM 和 OEM 的反馈,他们要求将越来越多的存储尽可能靠近 GPU,而 Solidigm D5-P5336 硬盘似乎符合要求。由于 GPU 服务器中可用的 NVMe 托架数量通常有限,因此密集型 Solidigm 硬盘在本地 GPU 服务器存储中名列前茅。
归根结底,这些驱动器提供的大量存储容量以及 GPU 只是解决方案的一部分;它们仍然需要表现良好。一旦将单个驱动器的性能聚合到多个驱动器上,很明显,即使是最苛刻的任务也有足够的吞吐量。在使用 GDSIO 的 4 驱动器 RAID0 配置的情况下,写入操作的总吞吐量可以达到 12.31 GiB/秒,而对于读取操作,它可以达到 25.13 GiB/秒。
这种吞吐量水平足以应付最苛刻的 AI 任务,例如在海量数据集上训练大型深度学习模型或在高分辨率视频流上运行实时推理。通过向 RAID0 阵列添加更多驱动器来扩展性能的能力使其成为快速高效数据访问至关重要的 AI 应用的不二之选。
但需要注意的是,RAID0 配置虽然性能高,但不提供任何数据冗余。因此,实施适当的备份和数据保护策略以防止驱动器发生故障时数据丢失至关重要。
当今数据中心的另一个独特考虑因素是功率。由于 AI 服务器消耗的功率比以往任何时候都多,并且没有减缓的迹象,总可用功率是那些希望将 GPU 引入数据中心的人面临的最大瓶颈之一。这意味着,他们更加注重尽可能节省每一瓦。如果你能获得更多的每瓦 TB 数,我们会围绕 TCO 和基础设施成本提出一些有趣的思考过程。即使将这些驱动器从 GPU 服务器中取出并放入机架规模的存储服务器中,也可以提供具有极高容量的大量吞吐量。
将 Solidigm D5-P5336 61.44TB QLC SSD 与 NVMe 插槽有限的 AI 服务器集成,代表着在解决现代 AI 工作负载的存储挑战方面取得了重大进展。它们的极高密度、性能特性和 TB/瓦特比使其成为数据准备、训练和微调以及推理阶段的理想选择。通过优化 PCIe 通道的使用并提供高容量存储解决方案,这些 SSD 使现代 AI 工厂能够专注于开发和部署更复杂、更准确的模型,从而推动整个 AI 领域的创新。
本报告由 Solidigm 赞助。 本报告中表达的所有观点和意见均基于我们对所考虑产品的公正看法。
参与 StorageReview
电子报 | YouTube | 播客 iTunes/Spotify | Instagram | Twitter | TikTok | RSS订阅