训练所服务器该从哪些方面考虑
大模型训练的配置选择需要考虑计算资源、存储资源和分布式训练等因素。
为了处理大规模的数据和复杂的模型结构,需要选择具有高性能的多核心CPU和高性能GPU的计算机。同时,需要足够的存储资源来存储大规模的数据集和模型参数,建议选择大容量、高速的存储设备。
此外,需要使用分布式训练框架将训练任务分配到多台机器上进行并行计算,需要考虑网络连接的速度和稳定性。
最后,还需要选择稳定的操作系统和电源等硬件设备来保证训练的效率和速度。
核心配置逻辑——GPU选型
大模型处理的数据量巨大无比,整个处理过程可以分为训练(train)、微调(fine-tune)和推理(inference)。从算力消耗上来说,是训练>微调>推理,训练要比推理的算力消耗高至少3个数量级以上,训练和微调大型语言模型对于硬件资源的要求非常高。
训练不纯粹看一个显存容量大小,而是和芯片的算力高度相关的。
显存大小
实际训练的过程当中,将海量的数据切块成不同的batch size,然后送入显卡进行训练。显存大,意味着一次可以送进更大的数据块。但是芯片算力如果不足,单个数据块就需要更长的等待时间。显存和算力,必须要相辅相成。在有限的产品成本内,两者应当是恰好在一个平衡点上。
目前,4090是消费级显卡的顶级选择,显存大小为24GB,而H100和H800单张显卡的显存大小均为80GB。这个参数对于存储大规模模型和数据集时非常重要。
显存带宽
另外,我们还需要考虑GPU的显存带宽,即GPU芯片与显存之间的读写速度。显存带宽是影响训练速度的关键因素。例如,4090显卡的显存带宽为1.15TB/s,而A100和H100的显存带宽分别为1.99TB/s和3.35TB/s。
与 CPU 的通信速度
目前主流的大模型训练硬件通常采用英特尔的CPU和英伟达的GPU。在传统英特尔+英伟达独立显卡架构下,CPU与GPU之间的通信通常通过PCIe进行。
最强大的H100/H800支持PCIe Gen5,传输速度为128GB/s。而A100和4090则支持PCIe 4,传输速度为64GB/s。
GPU 显卡的多种版本及区别
GPU 显卡存在多种版本,其主要是应对不同的场景,以下我们以 A800 为例。A800将有三个不同版本,以及SXM和PCIe两种不同形式。这三个版本分别是:
- 40GB HBM2线程PCIe接口;
- 80GB HBM2e内存PCIe接口;
- 80GB HBM2e内存SXM接口;
这些不同的版本和形式可以满足不同客户和环境的需求。
PCIe 接口的版本
PCIe 版GPU特别适用于那些工作负荷较小、希望在GPU 数量方面获得最大灵活性的用户。比如,有的GPU服务器,只需要配4卡、甚至2卡GPU,用PCIe 版的灵活性就非常大,服务器整机可以做到1U 或2U,对IDC机架也要求不高,当然PCIe版也更省电些,约300W/GPU。
SXM 接口的版本
SXM版本,让GPU之间,通过NVlink传输速度为600GB/s,差不多是PCIe的10倍。另外,与传统的GPU之间需要通过PCIE来传输对比,H100/H800 SXM版本的由于使用最新一代NVLink技术,分别最高可以达到900GB/S和400GB/S。而SXM版在HGX架构中,可高达500W/GPU。
当然,只有两张卡时,由于PCle卡也可以NVLink,效果和SXM一样。但是多张卡互联时,SXM的优势就体现出来了,H100互联速度是A1001.5倍,达到了900GB/S。
所以,大模型训练多常用H100、H800、A800、A100 SXM版本的显卡,推理端主要用T4等类型的显卡。
SXM 技术
SXM(Symbol Extension Mode) 板通常带有四个或八个 GPU 插槽,NVIDIA提供预制的NVIDIA HGX板,使得基于SXM的GPU服务器大大降低了成本和难度,并且实现了同代所有板卡的兼容性和可靠性。
SXM架构是一种高带宽插座式解决方案,用于将 GPU连接到英伟达专有的 DGX 和 HGX 系统。对于每一代英伟达GPU(包括H800、H100、A800、A100,以及早期的P100、V100),DGX系统 、HGX 系统都配有相应 SXM 插座类型。下图是8块A100 SXM 卡插在HGX 系统上。
SXM 与 PCIe 的区别
1. 应用范围不同:SXM是NVIDIA推出的专门为深度学习加速而设计的高端 GPU 外部标准化接口,主要用于双路 GPU 加速器或者配合 NVIDIA DGX 系统进行深度学习加速;而PCIe是面向通用计算机系统的串行总线接口,用于插入各种设备和组件。
2. 性能不同:SXM的性能比PCIe更强大,因为它可以基于NVLink协议实现高速的内部互连。SXM的互连通道速度是PCIe的5倍以上,可以实现更低的延迟和更高的吞吐量,从而实现更高效、更快的运算和计算。
3. 插槽形态不同:SXM一般采用面向板子的粘贴式安装方式,而PCIe则是采用插槽式安装方式,插入设备或组件即可使用。
4. 设备适用性不同:由于SXM是为深度学习加速而设计的,因此一般只适用于与支持SXM接口的硬件外设或组件连接;而PCIe则可以适用于各种类型的设备或器件,如网卡、声卡、显卡、存储器、固态硬盘、加密卡等。
SXM接口和PCIe接口主要用于不同的应用场景和设备连接需求。SXM主要用于高端的深度学习加速等场景,而PCIe则适用于通用计算机系统和各种类型的设备连接。
DGX 和 HGX系统板
英伟达DGX 和 HGX 系统板上的所有 SXM 版GPU ,都通过 NVSwitch 芯片互联, GPU 之间交换数据采用NVLink,未阉割的A100是600GB/s、H100是900GB/s,就算阉割过的A800、H800也还有400GB/s。非常适合有海量数据的AI大模型训练。
NVIDIA DGX 可理解为原厂整机,扩展性非常强,所提供的性能是任何其他服务器在其给定的外形尺寸中无法比拟的。将多个 NVIDIA DGX H800与 NVSwitch 系统连接起来,可以将多个(如32个、64个) DGX H800 扩展为 超级集群SuperPod,以实现超大模型训练。HGX属OEM整机。接着说PCIe版GPU。PCIe版只有成对的 GPU 通过 NVLink Bridge 连接。如下图所示。GPU 1 只直接连接到 GPU 2,但GPU 1 和 GPU 8 没有直接连接,因此只能通过 PCIe 通道进行数据通信,不得不利用 CPU 资源。最新的PCIe,也只有128GB/s。
NVLink技术介绍
NVLink是英伟达(NVIDIA)开发并推出的一种总线及其通信协议。NVLink采用点对点结构、串列传输,用于中央处理器(CPU)与图形处理器(GPU)之间的连接,也可用于多个图形处理器之间的相互连接。当前配备并使用NVLink的产品业已发布,多为针对高性能运算应用领域,像是英伟达最新的Tesla P100运算卡。
随着人工智能和图形处理需求的不断增长,多 GPU 并行计算已成为一种趋势。对于多 GPU 系统而言,一个关键的挑战是如何实现 GPU 之间的高速数据传输和协同工作。然而,传统的 PCIe 总线由于带宽限制和延迟问题,已无法满足 GPU 之间通信的需求。为了解决这个问题,NVIDIA 于 2018 年推出了 NVLINK,以提高 GPU 之间的通信效率。
NVLINK 是一种专门设计用于连接 NVIDIA GPU 的高速互联技术。它允许 GPU 之间以点对点方式进行通信,绕过传统的PCIe总线,实现了更高的带宽和更低的延迟。NVLINK 可用于连接两个或多个 GPU,以实现高速的数据传输和共享,为多 GPU 系统提供更高的性能和效率。
如果是项目工程落地方面,可参考以下文章阅读
大模型项目落地时,该如何估算模型所需GPU算力资源-CSDN博客https://blog.csdn.net/bestpasu/article/details/139877925
大模型训练CPU 选择
适合大模型训练的CPU推荐如下:
- 英特尔至强可扩展处理器。它搭配AVX-512指令集,单核一次能同时进行128次BF16浮点运算,基本每一代CPU比上一代提升个1.5倍左右。运用或不运用CPU模型训练加速库的差别,能达到8倍。整体上,CPU的训练速度已经非常可观了,再加上相比显存更易扩展的CPU内存,很多推荐算法、排序模型、图片/影像识别等应用,已经在大规模使用CPU作为基础计算设备。
- AMD的EPYC处理器。AMD的EPYC处理器也适合进行大模型训练。
英特尔至强可扩展处理器(Intel Xeon Scalable Processors)是英特尔公司推出的一款服务器级处理器,旨在满足高性能计算、云计算、数据中心等需求。该处理器采用英特尔先进的制程工艺和架构设计,具备高性能、可扩展性、可靠性和安全性等特点,能够提供出色的计算性能和能效表现。
依据业务情况及所需训练的大模型数据集,复杂难度等多种情况决定,CPU 核心数一版在 8-48 之间不等。
在训练大模型时,CPU和GPU的比例并不是一定要1:1,而是需要根据具体的需求和情况来选择。例如当您需要处理大规模数据集和复杂模型时,GPU的计算能力更强,可以提供更快的训练速度。此外,一些深度学习框架和算法也针对GPU进行了优化,可以在GPU上运行得更快。
但是,在另一些情况下,使用CPU的比例可能更高,例如当您需要处理的数据集非常大,但是您的预算有限时,那么可以选择使用较少的GPU,而更多地依赖CPU的计算能力。此外,一些早期的深度学习框架和算法也更多地依赖于CPU的计算能力。
大模型内存选择
大模型训练需要高性能的计算机硬件来保证训练的效率和速度。建议选择具有高速的ECC或DDR5内存。现在训练时一般在 GLM 、 LLaMA 等大模型的基础上进行训练,国内会选择 A800/H800 x 8 的 GPU 配置,与此同时内存一般会选择相似大小以提升效率,常规选择 512 内存。
大模型所需磁盘
大模型训练需要存储大规模的数据集和模型参数,因此需要足够的存储资源来保证数据能够快速地被读取和处理。建议选择具有大容量、高速的存储设备,如SSD或NVMe固态硬盘。一般 4T-8T 不等。
推荐配置参考
GPU算力平台:大模型训练、自动驾驶、深度学习解决方案。
A100/A800大模型训练配置分享
平台:SYS-420GP-TNAR(4U)
CPU:2*8358(32核心,铂金版,2.6GHz 超频 3.4GHz)
GPU:NVIDIA HGX A100/A800(80G SXM)
内存:32*64GB DDR4
H100/H800大模型训练配置分享
平台:SYS-821GE-TNHR(8U)
CPU:2*8468(48核心,铂金版,2.1GHz 超频 3.8GHz)
GPU:NVIDIA HGX H100/H800(80G SXM5)
内存:32*64GB DDR5
注:图片均来自网络,如有侵权请留言删除。