想跑千亿大模型?算力厂商放大招!CPU通用服务器成为新选择

  克雷西发自凹非寺

  量子位公众号 QbitAI

  千亿参数规模的大模型推理,服务器仅用 4 颗 CPU 就能实现!

  在一台 CPU 通用服务器上,浪潮信息成功跑通了 102B 大模型推理。

  如果推广开来,没有专用芯片的传统行业,不必更换硬件,也能用上 AI 了。

  △浪潮信息通用服务器 NF8260G7 成功运行千亿参数大模型

  这套方案以极低的延时,近乎实时地进行推理运算。

  如此之大的模型,只靠 CPU 运行,究竟是怎么实现的?

  4 颗 CPU 带动千亿大模型?

  用 CPU 在单台通用服务器设备中运行大模型推理,特别是千亿参数的庞然大物,困难是可想而知的。

  要想高效运行千亿参数大模型,计算、内存、通信等硬件资源的需求量都非常巨大。

  内存方面,千亿参数大约需要 200~300GB 的显存空间才放得下。

  除了内存资源,千亿参数大模型在运行过程中,对数据计算、计算单元之间及计算单元与内存之间通信的带宽要求也非常高。

  按照 BF16 的精度计算,要想使千亿参数大模型的运行时延小于 100ms,内存与计算单元之间的通信带宽至少要在每秒 2TB 以上。

  就算解决了这些硬件需求,软件的优化适配同样是一个难题。

  由于涉及到大量的并行运算,现有的大模型普遍针对 GPU 加速集群而设计,这就导致了 CPU 算力与大模型之间的匹配程度远不及 GPU。

  因为并行工作环境的缺乏,AI 模型需要频繁地在内存和 CPU 之间搬运算法权重,但通用服务器默认模型权重只能传输给一个 CPU 的内存。

  要想进一步搬运到其他 CPU,就需要该 CPU 作为中介,这就导致了 CPU 与内存之间的带宽利用率较低,进一步加大了通信开销。

  通用 AI 算力的新标杆

  尽管困难重重,但伴随着大量的技术攻关,这些困难也被相继克服——

  在 2U 四路的 NF8260G7 服务器上,浪潮信息成功运行了千亿参数的源 2.0 大模型。

  运行过程中,服务器仅使用了 4 颗英特尔 6448H 芯片,无需 GPU 或其他任何额外的 AI 加速卡。

  可以说,浪潮信息这套通用服务器大模型运行方案填补了业界空白,成为了通用 AI 算力的新标杆。

  框架和算法方面,该方案支持 PyTorch、TensorFlow 等主流 AI 框架和 DeepSpeed 等流行开发工具,满足多样的生态需求。

  在这种高效的千亿大模型通用服务器运行方案背后,无疑需要软硬件系统的协同创新。

  在配置方面,浪潮信息 NF8260G7 选用了英特尔至强 6448H 处理器,共有 32 颗核心,主频为 2.4GHz,L3 缓存为 60MB,基于 32 根 32G 的 DDR5 内存,内存容量 1024GB,实测内存读带宽 995GB/s。

  更重要的是,该芯片具有 AMX(高级矩阵扩展,类似于 GPU 的 Tensor core)AI 加速功能,能够更好地适配大模型的运算特点。

  同时,为了解决带宽利用率低的问题,采用了“去中心化”的全链路 UPI 总线互连,允许任意两个 CPU 之间直接进行数据传输。

  这样的互联方案减少了通信延迟,并将传输速率提高到了 16GT/s(Giga Transfers per second)。

  但仅靠硬件优化还远远不够。

  为了提升源 2.0-102B 模型在 NF8260G7 服务器上的推理计算效率,服务器上的 CPU 需要像 GPU 一样进行张量并行计算

  为此,浪潮信息研发工程师将源 2.0 模型中的注意力层和前馈层的矩阵计算分别拆分到多个处理器,实现同时使用 4 颗 CPU 进行计算加速。

  张量并行对模型参数的切分粒度较细,要求 CPU 在每次张量计算后进行数据同步,增加了对 CPU 间通信带宽的需求。

  不过,UPI 总线互联的通信方案,刚好能够满足 CPU 间通信要求。

  同时,对于千亿参数大模型的张量并行计算,4 颗 CPU 与内存之间海量的通信需求达到 2TB/s,远高于 CPU 的内存通信带宽。

  为降低千亿参数对 CPU 和内存的通信带宽门槛,浪潮信息对源 2.0-102B 模型采用了NF4 量化技术

  NF4(4 位 NormalFloat)是一种分位数量化方法,通过确保量化区间内输入张量的值数量相等,来实现对数据的最优量化。

  特别地,NF4 量化非常适合近似正态分布的数据,这与大模型的权重分布方式十分契合,所以通过 NF4 量化,可以获得比传统的 INT4 或 FP4 量化更高的精度。

  △INT4 数据类型与 NF4 数据类型对比

  但 NF4 量化也带来了新的问题——NF4 量化后,会产生大量的 scale 参数。

  假如按照 64 个参数作为一个量化块计算,对于一个千亿参数的大模型,仅存储 scale 参数就需要额外的 6GB 内存。

  为了减少内存占用,浪潮信息还通过嵌套量化将这些 scale 参数量化到 FP8 精度,显著减少了所需的存储空间。

  通过NF4 量化和嵌套量化,模型的每个权重仅占用1/2 字节空间,Yuan2.0 大模型占用内存容量缩小到原来的1/4。

  有 AI 芯片,为什么还要用 CPU 推理?

  浪潮信息的这套解决方案,的确让千亿大模型在通用服务器上的运行成为了可能。

  但我们仍然想问,明明有很好的 AI 加速芯片,为什么还要执着于研究 CPU 推理呢?

  首先一点,是拥有更低的部署和推理成本——

  从传统行业用户需求看,通用服务器的成本优势显著,较 AI 服务器成本可降低 80%。

  这样的成本节约不仅仅包括设备的购置部署,还包括与行业用户现有系统的融合。

  采用通用服务器,意味着大模型服务可以更容易地与已有的企业 IT 系统进行合并,免去了部署 AI 服务器带来的迁移适配工作。

  当然在技术层面,CPU 方案的一些优势也是 AI 加速卡无法比拟的。

  内存方面,通用服务器的内存容量远大于现在 GPU 芯片能够提供的显存容量

  比如在一台双路服务器上,可以很轻松地把内存做到 1TB,像 NF8260G7 这种四路服务器还能做到更大。

  所以。对于一个千亿甚至数千亿的大模型,采用通用服务器进行部署,可以说在内存上完全“不受限”,完全能够放得进去。

  相比之下,以 GPU 为代表的 AI 芯片虽然算力强劲,但内存就显得捉襟见肘了。

  AI 大模型的运行不仅需要大内存,更需要高速的 CPU 和内存通信带宽。而基于先进的量化技术,浪潮信息的研发工程师在不影响模型精度的情况下对模型进行量化“瘦身”,大大降低了千亿参数对 CPU 和内存的通信带宽门槛。

  同时,为了满足模型需求,需要多颗芯片协同工作。这就涉及到了通用服务器芯片间的通信效率。

  目前一些高端 AI 芯片也有高速带宽(比如 NV Link),但由于成本较高,这样的方案往往在一些比较高端的芯片或者说高端的服务器上才会采用。

  而且,这样的算力目前更多地被用于模型训练,用做推理在经济上并不划算。

  在通用服务器当中,CPU 和 CPU 之间拥有高速互联通信的链路,通过并行计算环境的优化,无论是在带宽还是在延迟上,完全可以满足千亿参数大模型运行过程中多计算核心通信的需求。

  此外,随着新一代 CPU 开始加入 AI 加速指令集(如 AMX),CPU 的 AI 算力性能也在快速提升。

  以浪潮信息现在采用的 6448H 为例,这样的一个四路服务器的算力也到 430TOPS(INT8)或 215TFLOPS(BF16),完美满足运行 AI 大模型推理的算力需求。

  通用算力正在发生“智”变

  站在更高的层次上看,基于 NF8260G7 的通用服务器大模型推理方案,也是浪潮信息战略中的重要一环。

  包括 AI 技术在内,科技进步的最终目的是“落入凡间”,赋能千行百业。

  与此同时,AI 正在从专门的计算领域扩展到所有的计算场景,逐步形成“一切计算皆 AI”的格局。

  AI 计算从以云端、服务器为主开始向手机、PC 等各类端侧设备蔓延开来。

  CPU、GPU、NPU 等各种 PU,也都被用于了 AI 计算。

  在这样的趋势下,传统上认为非典型的 AI 算力也在发生“智”变,向着智能算力演变

  具体到以 CPU 为核心的通用算力,能否运行千亿参数大模型,是衡量其能否支撑千行百业智能涌现的关键

  浪潮信息此次的推出的新方案,填补了行业中千亿大模型通用服务器运行方案的空白,将作为一种更经济的千亿大模型部署方案,成为企业拥有 AI 的新起点。

  未来,浪潮信息将继续坚持在算力、算法和数据三要素上的全面发力,实现更多的系统突破,让 AI 更深入地走进各行各业。