尽管围绕 AI 的密集 GPU 服务器进行了大量宣传,但事实是大多数 AI 培训项目都是从工作站开始的。 尽管我们现在可以将多达四个 NVIDIA A6000 Ada GPU 塞入单个工作站,但更具挑战性的是在这些 AI 盒子中获得强大的存储。 我们思考了这个问题,并提出了一个计划,最好为一些人工智能工作站提供高速存储。 我们与 Supermicro 和 KIOXIA 合作,在一台服务器中安装了 24 个 7.68TB XD7P SSD,打造了一款功能强大、具有推理技巧的 1U 存储服务器。
尽管围绕 AI 的密集 GPU 服务器进行了大量宣传,但事实是大多数 AI 培训项目都是从工作站开始的。 尽管我们现在可以将多达四个 NVIDIA A6000 Ada GPU 塞入单个工作站,但更具挑战性的是在这些 AI 盒子中获得强大的存储。 我们思考了这个问题,并提出了一个计划,最好为一些人工智能工作站提供高速存储。 我们与 Supermicro 和 KIOXIA 合作,在一台服务器中安装了 24 个 7.68TB XD7P 系列数据中心 NVMe SSD,打造了一款功能强大、具有推理技巧的 1U 存储服务器。
我们知道您在想什么:您打算如何将装有 E1.S SSD 的服务器平台、训练 AI 模型的工作站以及同一存储服务器上的推理之间的点连接起来? 允许稍微解释一下。
人工智能工作站不需要放在桌子下面
除了少数例外,配备昂贵 GPU 的高功率人工智能工作站可能不应该分布在边缘,甚至不应该分布在办公楼内。 问题有很多。 首先,这些端点面临安全威胁和数据泄露的高风险,而且重要的是,它们的利用率不足。 由于 LAN 配置不足,大多数人工智能专业人员无法访问训练模型所需的大量数据。
另一方面,如果我们将这些功能强大的工作站放入数据中心,我们现在可以获得多个好处。 首先,解决了物理安全问题,并且可以通过瘦客户端或仅推送像素而不是通过线路传输数据的访问来缓解远程访问问题。 在这种情况下,数据驻留在服务器上而不是工作站上。 其次,数据中心中的这些系统的备份速度即使不是更容易,也更快。 第三,通过智能配置,我们可以通过与分布式人工智能员工共享这些系统来提高整个公司的利用率。 最后,在数据中心中,我们可以访问最宝贵的人工智能资产:数据。
我们在实验室中配置了三台联想工作站来完成这项工作。 每个配置都略有不同,同时利用 AMD 和 NVIDIA GPU,提供灵活性,因为某些型号可能在不同的加速器上表现更好。 每个系统都安装了 NVIDIA ConnectX-6 100GbE 卡,这是确保这些系统快速访问存储的基础。 然后,每个系统都连接到 Dell Z9100 100GbE 交换机,存储服务也连接到该交换机。
Part | 工作站1 | 工作站2 | 工作站3 |
型号 | 联想P620 | 联想P620 | 联想P5 |
中央处理器 | AMD锐龙Threadripper PRO 5995WX | AMD锐龙Threadripper PRO 3995WX | 英特尔至强 w7-2495X |
内存 | 128GB DDR4 3200 | 32GB DDR4 3200 | 32GB DDR5 4800MHz |
GPU | AMD Radeon PRO W7900 | 英伟达 RTX A6000 | 英伟达 RTX A4500 |
使用铠侠 XD7P 系列 SSD 实现快速 AI 存储
人工智能工作站测试平台整理完毕后,我们转向存储服务器。 在本例中,我们使用 美超微存储 SuperServer SSG-121E-NES24R。 这款 1U 服务器配备双 Intel Xeon Platinum 8450H 处理器,具有 28 核 56 线程,基础频率为 2.00 GHz。 8450H 处理器的最高睿频频率可达 3.50 GHz,同时具有 75MB 缓存和 250W TDP。 512GB DDR5 RAM 的 RAM 占用空间相对较小。 服务器使用与工作站相同的 NVIDIA ConnectX-6 100GbE NIC 进行连接。 我们还安装了 NVIDIA A2 GPU 用于推理。
谈到存储,KIOXIA 向我们发送了 24 个 XD7P 系列数据中心 NVMe SSD。 KIOXIA XD7P 系列 E1.S SSD 专为满足现代数据中心超大规模应用的需求而设计,特别是开放计算项目 (OCP) 数据中心 NVMe SSD 规范中概述的性能、电源效率和散热要求。
这些 SSD 有 9.5 毫米和 15 毫米厚度的 E1.S 版本,后者配有散热器以增强散热。 KIOXIA 的 XD7P 专有架构包括控制器、固件和 5th-gen BiCS FLASH™,有助于提高整体效率、可靠性和性能。 新系列提供从 1.92 TB 到 7.68 TB 的容量,以满足不同的存储需求。
一些关键功能包括断电保护 (PLP) 和端到端数据保护,这对于在意外断电的情况下保持数据完整性至关重要。 此外,自加密驱动器 (SED) 技术的可用性增加了额外的数据安全层。
在性能方面,铠侠 XD7P 系列 SSD 在不同容量上提供了令人印象深刻的潜在数字。 这些 SSD 的持续连续读取速度高达 7,200MB/s,连续写入速度高达 4,800MB/s(对于更大容量),旨在高效处理数据密集型任务。 此外,高达 1,650K IOPS 和 200K IOPS 的持续随机读取和写入速度分别使其适合需要高 I/O 操作的工作负载。
XD7P 利用 E1.S 外形尺寸在性能和密度之间取得独特的平衡。 这使得新驱动器成为云和超大规模数据中心闪存存储的前瞻性解决方案,满足这些苛刻环境不断变化的需求。 XD7P 的标准化尺寸和内置散热器提供了一种有效的方法来容纳 24U SuperServer SSG-1E-NES121R 中的 24 个前置驱动器,从而显着提高服务器密度。 此外,E1.S 的热插拔能力,加上其处理高性能工作负载且无需担心散热问题的能力,使其成为数据中心中 M.2 连接器的实用替代品,并提高了数据中心等存储解决方案的效率和性能。
XD7P 支持 PCIe Gen4 x4 通道。 该驱动器与 Gen4 或 Gen5 背板配合良好。
铠侠 XD7P 系列快速规格
容量 | 7,680 GB | 3,840 GB | 1,920 GB | 7,680 GB | 3,840 GB | 1,920 GB |
基本规格 | ||||||
外形 | E1.S 15mm | E1.S 9.5mm | ||||
接口 | PCIe 5.0、NVMe 2.0 | |||||
闪存类型 | BiCS 闪存 TLC | |||||
性能(最高) | ||||||
持续 128 KiB 顺序读取 | 7,200MB /秒 | |||||
持续 128 KiB 顺序写入 | 4,800MB /秒 | 3,100MB /秒 | 4,800MB /秒 | 3,100MB /秒 | ||
持续 4 KiB 随机读取 | 1,550K IOPS | 1,650K IOPS | 1,500K IOPS | 1,550K IOPS | 1,650K IOPS | 1,500K IOPS |
持续 4 KiB 随机写入 | 200K IOPS | 180K IOPS | 95K IOPS | 200K IOPS | 180K IOPS | 95K IOPS |
电源要求 | ||||||
电源电压 | 12 V±10% | |||||
功耗(主动) | 20 瓦典型值。 | 20 瓦典型值。 | 16 瓦典型值。 | 20 瓦典型值。 | 20 瓦典型值。 | 16 瓦典型值。 |
功耗(就绪) | 5 瓦典型值。 | |||||
可靠性 | ||||||
平均无故障时间 | 2,000,000小时 | |||||
DWPD | 1 |
KIOXIA XD7P 系列 SSD 的存储服务器性能
为了更好地了解这个组合的性能,我们首先通过内部性能测试对存储服务器进行了测试。 在查看存储服务器的性能时,我们重点关注 Ubuntu Linux 中 JBOD 配置的完整原始性能,以表征存储的能力。
我们研究了 4K 随机工作负载的峰值吞吐量,然后研究了 64k 顺序工作负载的峰值带宽。 这些测试是在 Ubuntu 22.04 环境中利用 VDbench 运行的。
工作量 | 阅读 | 填写 |
---|---|---|
64K 顺序、64 线程加载 | 158GB /秒 | 64.1GB /秒 |
4K 随机、512 线程负载 | 4.09 万 IOPS,16GB/秒 | 4.5 万 IOPS,17.7GB/秒 |
在我们的实验设置中,我们决定将 Windows 存储空间与 SMB3 协议结合使用,以利用高速 KIOXIA 驱动器。 通过利用存储空间创建弹性镜像存储池,我们能够确保数据完整性并优化 I/O 性能。
SMB3 的增强功能(如多通道功能和持久句柄)允许以高吞吐量将大数据块直接流式传输到多个 GPU 工作站,从而绕过通常与速度较慢、受 CPU 限制的内存相关的传统瓶颈。 这种设置具有双重优势,既可以实现快速数据检索,同时允许多个工作站同时访问由 KIOXIA 驱动的共享存储并从中加载数据。
虽然我们之前的测试在没有安装文件系统的情况下测量了 KIOXIA XD7P 系列 SSD 的原始性能,但我们再次审视了 Windows Server 2022 环境中的性能。 在此设置中,镜像虚拟磁盘位于大型存储池上,我们使用 NTFS 文件系统。
为了确认镜像卷内的强大性能,我们在服务器上本地利用了 CrystalDiskMark。 该测试旨在测量 1MB 传输大小以及随机 4K 传输速度的顺序读写性能。 在这里,对于 64GB 的文件占用空间,我们测得读取速度为 87.4GB/s,写入速度高达 18.4GB/s。
在本文中,我们正在研究整个人工智能解决方案的整体功能,因此,虽然这种性能概况令人印象深刻,但铠侠显然为我们提供了超出我们需要的功能。 这是一件好事,因为这意味着我们可以轻松地扩大人工智能工作站的数量或向存储服务器分配额外的任务,无论是清理和清理我们的数据还是其他任务。
为AI工作站提供充足的高速存储
我们的 GPU 工作站位于实验室机架中,通过 100GbE 与我们基于 KIOXIA 的全闪存 1U 文件服务器和共享设置联网,我们开始在实践中对此进行测试。 在我们的测试设置中,我们选择从每个工作站到 Dell Z100 9100GbE 交换机的基本单个 100GbE 链路,然后使用另一个 100GbE 链路连接回存储服务器。
在这里,我们能够从 KIOXIA 存储服务器的 Windows 文件共享中测量出令人印象深刻的 11.4GB/s 读取速度和 11GB/s 写入速度。
通过连接到人工智能工作站的这种性能和密度水平将提供巨大的价值。 我们可以共享超过 100GbE 的高性能存储,而不是尝试用本地存储填充 AI 工作站,而容量或多或少是无限的。
GenAI 实践——LLM 培训数据集
大型语言模型 (LLM) 是当今 IT 界最受欢迎的学科。 训练和微调它们是一项艰巨的任务,需要大量数据集和更大的 GPU 马力来处理它们。 为了加载一些 GPU 工作站并进行一些真实世界的风格测试,我们转储了 2012 年至 2021 年的所有 Reddit 文本提交和评论,并进行了一些调整,以及 斯坦福羊驼训练数据集,到了 拉玛模型 用于多次微调尝试。 目的是评估 LLaMa 模型在处理大规模真实数据集时的效率、准确性和可行性。
在 Windows Server 2022 平台中,24 个 KIOXIA XD7P 系列 SSD 被分组到一个 168TB 池中,然后分组到一个 83.7TB 镜像卷中。 然后,该卷通过 100GbE 网络共享,并为三个工作站中的每一个工作站提供文件共享。 所使用的 Supermicro Superserver 存储服务器可以处理填满整个 84TB 卷的数据大小,而不影响性能。 当前使用的数据大小为 5.6TB,但该卷可以处理更大的大小。
每个 GPU 工作站的配置略有不同,以提供多样化的环境。 我们将每台机器视为单独的开发人员,在共享数据集上使用不同的模型,并且不分发任何训练。 在这种情况下选择 Windows 是为了模拟早期的研究或开发场景。
对于我们正在处理的数据规模,我们用于此测试的数据集包括 16,372 个 LLM 训练数据文件,占用 3.7TB 磁盘空间,以及另外 8,501 个图像训练数据文件,占用 1.9TB。 我们总共处理了 24,873 个文件,总计 5.6TB。 值得注意的是,我们故意限制了数据集的大小,并且没有利用这些实验的全部存储容量; 否则,该项目的培训或微调过程将会非常耗时。 通过这种配置,所有工作站都能够共享数据集并将检查点和分片保存到服务器以进行协作。
档 | 磁盘大小 | |
法学硕士培训数据 | 16,372 | 3.7TB |
图像训练数据 | 8,501 | 1.9TB |
合计 | 24,873 | 5.6TB |
我们两个实验的软件堆栈都是一个简单的配置,我们依靠 蟒蛇 和适用于 Linux 的 Windows 子系统 (WSL)。 Anaconda 提供了一个强大的环境来管理我们基于 Python 的机器学习库和依赖项,允许在我们的 GPU 工作站上进行模块化且易于复制的设置。 WSL 有助于弥合 Windows 和基于 Linux 的实用程序之间的差距,提供在我们的 Windows 工作站上无缝运行 Linux 特定数据操作和编排工具的灵活性。 我们可以运行 shell 脚本进行数据预处理,并在统一的工作流程中启动基于 Python 的训练作业。 我们选择这条路线的部分原因不仅是易于配置,而且是为了与我们的混合 GPU 环境提供公平的竞争环境。
在训练过程中,我们主要观察到以下几点:
- 数据多样性:跨越近十年的 Reddit 提交和评论的合并,为模型提供了主题、词典和对话上下文的折衷组合。 这种丰富的多样性为模型提供了一个全面的平台,以理解和适应随着时间的推移的各种细微差别、情绪和文化转变。
- 模型可扩展性:处理如此海量的数据是 LLaMa 模型可扩展性的试金石。 我们发现,随着训练次数的增加,模型预测和生成相关响应的能力显着提高,凸显了其大规模应用的潜力。 大约六次后,过度拟合是一个问题,但不一定是本次测试的问题,因为目标是加载我们的 GPU 和网络共享,而不是创建通用的 LLM 模型。
- 资源优化:考虑到所需的巨大 GPU 马力,确保计算资源的高效利用至关重要。 采用动态负载平衡、定期检查点和动态数据增强技术来确保最佳性能。
- 迁移学习效力:将斯坦福羊驼训练数据集与 Reddit 数据结合使用有助于衡量模型的迁移学习能力。 Alpaca 数据集的固有结构和学术性质,与 Reddit 数据的非正式和多样化性质并列,构成了令人兴奋的挑战。 结果表明,LLaMa 可以无缝集成不同来源的知识,使其具有多功能性和适应性。
- 道德考虑:虽然庞大的 Reddit 数据集提供了信息宝库,但必须确保排除个人身份信息,并以合乎道德和负责任的方式使用数据。 需要制定严格的数据清理和匿名化流程来发布模型,以维护用户隐私。
此次演习凸显了铠侠高密度硬盘在提高我们的培训效率方面所发挥的重要作用。 考虑到数据集的巨大规模和模型训练的迭代性质,存储速度和容量通常是此类实验的瓶颈。 借助铠侠的驱动器,我们可以存储数据集的多个实例、中间模型权重和数十个微调检查点。 它们的快速读写速度促进了快速数据检索,使我们能够并行处理使用不同超参数进行微调的多次迭代,如下所示。
这对于我们寻找最佳工作检查点至关重要。 得益于我们新构建的铠侠支持的存储服务器,我们可以专注于完善模型、调整参数和评估结果,而不是受到存储限制的限制。 因此,高密度驱动器不仅仅是一个存储解决方案,而且是显着加速我们实验阶段的关键资产。 这使得我们能够更彻底、更有效地探索 LLaMa 模型的潜力,并使我们能够开发自己的新型卷积神经网络 (CNN)。
对于初学者卷积神经网络 (CNN) 是一种专门类型的深度学习架构,主要用于图像处理和计算机视觉任务。 其显着特征在于卷积层能够自动、自适应地从输入图像中学习特征的空间层次结构。 与依赖全连接层的传统神经网络不同,CNN 通过应用卷积滤波器来利用数据的空间结构,以小块或感受野的形式处理输入数据。 这使得网络可以通过从更简单的模式构建来检测复杂的模式,例如边缘、纹理和更复杂的结构。 随着数据深入网络,这些模式变得更加抽象,从而使 CNN 能够分层识别和分类多样化且通常复杂的视觉实体。
通过多次微调尝试,该模型展示了其有效处理海量数据集的能力,并强调了其产生相关、上下文感知和细致入微的输出的潜力。 随着法学硕士不断受到关注,此类实验为其实际应用和局限性提供了宝贵的见解,为未来更复杂、以用户为中心的人工智能解决方案铺平了道路。
服务器推理能力
在同一数据集上执行推理操作提供了简化的结构,简化了数据管理的复杂性。 我们的服务器不仅仅是一个存储工具,它还可以处理与推理相关的活动,包括数据摄取和准备。
为了测试对更大数据集的推理,我们选择了一组大约 1Mb 到 20Mb 的天文摄影图像,并运行了我们正在针对它们开发的新型 CNN。 在我们的场景中,模型被加载到 GPU,然后加载一张图像或一系列图像以通过神经网络进行处理。
这是一个比您在标准化相机的计算机视觉对象分类中遇到的更广泛的存储占用配置文件。 尽管如此,它还是说明了该平台性能的灵活性和一致性。 下图中按大小排序,而不是按加载顺序排序(少数异常值除外),读取时间和写回时间适当缩放。
请务必记住,该图按从小到大排序,以说明驱动器和服务器的线性性能。 实际运行和数据集是随机的,因此可能会读取和写入一个 1Mb 文件,然后立即读取和写入一个 20Mb 文件。 实际处理的类型没有特定的顺序。 读取时间范围从 10 毫秒到 25 毫秒,异常值达到 70 毫秒以上的范围。
下图说明了以较小偏差写入类似的线性进程,并显示了相同文件的写入范围从 12 毫秒到 118 毫秒。
另一个需要记住的重要信息是,该图是跟踪三个 GPU 工作站同时运行对同一数据集的推理的聚合结果。 KIOXIA 驱动器能够为三个 GPU 工作站提供服务并回写令人印象深刻的 10.5GB,这些工作站针对 1000 个图像的随机数据集运行推理,不包括模型使用的序列化处理。 整个过程只花了 59.62 秒,即 59 毫秒,读取和写回单个图像。
当此设计扩展到多个工作站或 GPU 服务器时,有多个选项可以提高速度和延迟。 实施 NVIDIA 的 GPUDirect Storage 与 RDMA(远程直接内存访问)协议相结合,将有助于将数据从高密度共享存储直接无缝移动到 GPU 内存。 这种方法将有效绕过 CPU 和系统内存瓶颈。 通过利用 NVMe over Fabrics 和 NVIDIA 网络设备,大量数据可以近乎实时地预加载到 GPU 内存中。 考虑到法学硕士拥有庞大的数据集和计算需求,这在处理法学硕士时特别有用。 这种功能可以消除对数据缓存的需求,并允许多个工作站同时从共享存储池读取和提取数据。
总结
解决大型模型的 I/O 瓶颈对于机器学习的持续发展至关重要,尤其是在处理庞大的数据集时。 集中式高速网络共享比传统本地存储具有三重优势。
- 首先,它无需将大量数据集迁移到单个工作站进行培训,从而简化了操作。 这直接解决了可能削弱机器学习项目(尤其是涉及深度学习模型的项目)的 I/O 瓶颈。
- 其次,通过选择集中式方法,您可以避免过多甚至无法获得的本地存储量压垮工作站宝贵的 PCIe 通道。 得益于高速连接,这可以让更多 GPU 更高效地并行处理数据,从而使机器学习操作更加精简、更加敏捷。
- 第三,中心化存储本质上带来了更好的安全措施。 当数据存储在安全的单一位置时,管理访问控制和实施安全协议变得更加容易,从而降低数据泄露、物理威胁或未经授权的访问的风险。
此外,集中数据可确保提高数据一致性和额外的数据冗余层。 工作站从单一来源访问最新数据,最大限度地减少由于过时或不一致的训练或微调数据或模型检查点而导致的结果差异。 这还简化了数据管理并节省存储空间。
随着可扩展性、效率和安全性在人工智能和机器学习的超音速发展领域变得越来越重要,向铠侠 E1.S 平台等技术提供的集中、密集、高速存储的转变提供了一个令人信服的案例。 这不仅对于提高性能至关重要,而且对于数据管理和模型训练方式的根本转变也至关重要。
本报告由铠侠美国公司赞助。本报告中表达的所有观点和意见均基于我们对所考虑产品的公正看法。
参与 StorageReview
电子报 | YouTube | 播客 iTunes/Spotify | Instagram | Twitter | TikTok | RSS订阅