GPU训Llama 3.1疯狂崩溃,竟有大厂用CPU服务器跑千亿参数大模型? ...

打印 上一主题 下一主题

主题 844|帖子 844|积分 2534




马斯克19天建成由10万块H100串联的世界最大超算,已全力投入Grok 3的练习中。
与此同时,外媒爆料称,OpenAI和微软联手打造的下一个超算集群,将由10万块GB200组成。
在这场AI争霸赛中,各大科技公司们卯足劲加大对GPU的投资,好像在暗示着拥有更多、更强大的GPU,就能让自己立于不败之地。
然而,这种对高端GPU的狂热寻求,并非在所有情况下,都是完美无缺的解决方案。

Pytorch之父表现,技术陈诉中暗藏了许多基础办法的风趣细节,包括怎样并行化,怎样让体系更可靠等等
就拿稳固性来说,在Llama 3.1练习的54天里,Meta的1.6万块H100集群统共遇到了419次意外中断,相称于匀称每3小时发生一次。
而在这之中,有148次(30.1%)是由于各种GPU故障引起的。
相比之下,由CPU故障引发的中断,只有2次。

另一方面,想要把Llama 3.1 405B跑起来,还得搭配2台8×H100的DGX工作站才行——即1280GB的显存。
曾经有位勇士尝试用一张4090运行,效果等了30分钟,模型才缓缓吐出一个「The」。

完整的回复,花了整整20个小时
熟悉模型的练习和推理的朋友都知道,这些事情一点都不奇怪。
集群搭建(GPU配置、网络设计、轨道优化等)、集群管理(实时监控、故障排除等)……个个都是「拦路虎」。
对于缺乏相干经验和资金的公司来说,该怎么办?

最近,海潮信息的研发工程师,仅靠4颗CPU,就让千亿参数的「源2.0」在通用服务器上跑起来了!
面临用Java编写程序的代码任务,「源2.0」非常迅速地给出了效果。

再给它上一道推理题——船边挂着软梯,离海面2米,海水每小时涨半米,几小时海水能淹没软梯?
同样,AI几乎0耽误给出了详细的解题步骤和答案。

用通用服务器运行千亿参数大模型,可谓是前无古人,这一领域的积累完全是空白,没有任何经验可借鉴。
海潮信息,究竟是怎么做到的?
用4颗CPU,撬动千亿参数大模型
若要在单台服务器中,实现千亿参数大模型的推理,包罗了2个主要阶段,均对计算能力提出了硬性需求。
起首,是预填充阶段,也叫做前向传播阶段。
这一阶段涉及到输入数据的处理惩罚、模型参数第一次读取。
比如,当你输入「给我写一篇有关AI的文章」提示,预填充阶段便会将问题中所有token、模型参数,一次性输入计算。
有时,这一输入大概是几个字,也大概是几千个字,大概是一本著作。
第一阶段的计算需求有多大,主要取决于我们输入的长度。
而在计算第一个token过程中,由于模型初次加载,会在内存中存放全部的权重参数,以及KV Cache等数据。
这是模型参数自己所占内存空间的2-3倍。
对于千亿参数模型来说,大量的参数和数据输入,必要在强大计算单元中处理惩罚。对此,它必要支持向量化指令集、矩阵计算指令集,来实现大量的矩阵乘法和张量运算。
其次,是解码阶段,即在问题全部输入之后,模型开始输出效果的阶段。
在这个阶段,对大模型唯一要求便是,输出尽大概快。同时,挑衅不再是算力挑衅,转而为「数据搬运」的挑衅。
它包罗了两部分「数据搬运」:


  • 预填充阶段生成的大量KV Cache,必要从显存/内存,搬运到计算单元中(工作量非常大)
  • 模型参数自己的搬运
这些搬运对大模型的计算和推理速率,起到了一个决定性的作用。数据搬运很快,LLM吐字的速率也会快。
LLM输出主要通过KV Catch,逐一生成token,并在每步生成后存储新词块的键值向量。
因此,千亿大模型的实时推理,服务器必要具备较高的计算能力,以及较高的存储单元到计算单元的数据搬运效率。
总而言之,在大模型推理的两阶段中,有着截然不同的计算特征,必要在软硬件方面去做协同优化。
GPU不是万能的

传统上,GPU因其具备优越的并行处理惩罚能力,一举成为了AI练习和推理的首选。
成本
然而,高端GPU服务器在市场中常常出现供不应求,极难获取的征象。
仅有资金雄厚的科技巨头们,诸如微软、谷歌,才能够承担起这笔费用。
另一方面,不仅买不起,更是用不起。
基于GPU的云服务租用,在推理任务中的代价却是高昂的。对于科研人员和应用厂商来说,必要实现更高的成本效益,就得另谋他路。
显存
别的,GPU最大的劣势之一在于,显存容量受限。
当前业界LLM的网络架构,已从GPT逐渐走向MoE。通向AGI的大模型参数规模,只会呈指数级增长。
这意味着,闭源/开源主流模型的尺寸只会越来越大,千亿参数,甚至万亿参数模型将会成为主流。
对于百亿参数模型,20-30GB显存就够了。然而,若想跑千亿参数,大约必要200-300GB的显存空间。
现在主流的AI芯片,显存通常只有几十GB,显然放不下这么大的模型。(现在最强的AI芯片也没还没到达200GB)

被低估的通用服务器
GPU不行,那就从CPU入手。
固然现在还搞不定模型的大规模练习,但通用服务器在推理任务上,却意外有着不小的优势。
在详细实践的过程中,海潮信息的工程师们分别从硬件资源和算法层面入手,攻克了一个个「拦路虎」。
超大内存+高速带宽

**算力方面,**现在领先的服务器CPU都已经具备了AI加快功能。
类似于GPU的Tensor core,AMX高级矩阵扩展可以将低精度的计算做加快,编成指令集给CPU的核,利用专用的核做加快。
**算法方面,**海潮信息的通用服务器可同时支持PyTorch、TensorFlow等主流AI框架,以及DeepSpeed等流行开发工具,满意了用户更成熟、易部署、更便捷的开放生态需求。
**通讯方面,**全链路UPI(Ultra Path Interconnect)总线互连的设计,则实现了CPU之间高效的数据传输:

  • 允许任意两个CPU之间直接进行数据传输,减少了通讯耽误
  • 提供了高传输速率,高达16GT/s(Giga Transfers per second)

别的,海潮信息的研发工程师还优化了CPU之间、CPU和内存之间的走线路径和阻抗一连性。
依据三维仿真效果,他们调整了过孔分列方式,将信号串扰低落到-60dB以下,较上一代低落了50%。
而且,通过DOE矩阵式有源仿真,找到了通道所有corner的组合最优解,让算力性能可以得到充分发挥。
**内存方面,**可以说是通用服务器的最大优势了。


  • 容量
对于4路服务器来说,只需给每颗CPU插上8根32GB内存,就能轻松到达1TB。插满之后甚至可以扩展到16TB,最大可支持万亿参数的模型。


  • 带宽
搭配DDR5的内存,则可以实现4800MHz × 8bit × 8通道 × 4颗 ÷ 1024 = 1200GB/s的理论上带宽。
实测效果表现,读带宽为995GB/s、写带宽为423GB/s,以及读写带宽为437GB/s。
这个数据,对于一些搭载GDDR显存的GPU或加快卡,可以说是毫不逊色。

但仅靠硬件远远不敷
仅仅依赖硬件创新,是远远不敷的,CPU很难进行大模型算法的大规模并行计算。
正如开篇所述,大模型对通讯带宽的要求好坏常高的,无论是数据计算、计算单元之间,还是计算单元与内存之间。
如果按照BF16精度计算,想要让千亿大模型的运行时延小于100ms,内存和计算单元之间的通讯带宽,就至少要到达2TB/s以上。
不仅云云,对于基于擅长大规模并行计算的加快卡设计的AI大模型,通用服务器的处理惩罚器与之并不适配。
缘故原由很明显:后者固然拥有高通用性和高性能的计算焦点,但并没有并行工作的环境。
通常来说,通用服务器会将先将模型的权重传给一个CPU,然后再由它去串联其他CPU,实现权重数据的传输。
然而,由于大模型在运行时必要频繁地在内存和CPU之间搬运算法权重,如许造成的效果就是,CPU与内存之间的带宽利用率不高,通讯开销极大。

怎样解题?用算法创新

针对以上难题,海潮信息提出了「张量并行」(Tensor Parallel)和「NF4量化」两项技术创新,成功实现了千亿大模型Yuan2.0-102B的实时推理。
根据性能分析效果,可以清晰地看到模型中不同部分的计算时间分布——
   线性层运行时间占比50%,卷积运行时间占比20%,聚合通讯时间占比20%,别的计算占比10%。
  留意,在整个推理过程中,计算时间占比到达了80%!
跟使用多个PCIe的AI加快卡相比,这就形成了鲜明的对比——后者的通讯开销大概高达50%,从而导致严重的算力浪费。

Yuan2.0-102B模型推理性能分析效果图
张量并行

所谓张量并行,就先将卷积算子进行张量切分,然后把大模型中的留意力层和前馈层的矩阵计算权重,分别输入到多个处理惩罚器的内存中。
云云一来,通用服务器中的4颗CPU便可同时获取算法权重,进行计算加快。
不过,张量并行对模型参数的切分粒度较细,要求CPU在每次张量计算后都要进行数据同步。
对于这个需求,前文提到的全链路UPI总线互连技术,完全可以满意(通讯带宽高达16GT/s)。
最终,这种协同并行工作,直接让计算效率提拔了4倍!

NF4量化

至于内存带宽不敷的问题,则必要在不影响精度的情况下对模型进行「瘦身,也就是量化。
其优势在于,一方面可以将LLM参数目化成低比特数据,权重会变小。另一方面,权重缩小之后,在计算时传输的数据量也会变小。
这里,海潮信息采用了一种并不多见的分位数目化方法——NF4(4位NormalFloat)。

NF4量化方法可将Yuan2.0-102B的尺寸压缩到原来的1/4
详细来说,NF4的焦点思想是,确保量化区间内输入张量的值数目相等。
这个特点,恰好非常恰当呈现近似正态分布的LLM权重。
由于可以通过调整标准差来适配量化数据类型的范围,NF4相较于传统的4位整数或4位浮点数目化,可以得到更高的精度。
云云一来,量化之后的模型既能满意精度需求,又能大幅低落大规模并行计算的访存数据量,从而到达了实时推理的解码需求。

整数或浮点数目化方法的数据间隔通常是匀称分布或指数分布的
为了进一步压缩模型的权重参数,团队还采用了嵌套量化(Double Quant)技术。
这是在NF4量化基础上,进行了二次量化。
因为NF4量化后会产生大量的scale参数,如果使用32位浮点数(FP32)存储,会占用大量内存。
对于一个千亿参数的LLM,若以每64个参数作为一个量化块(block size=64)来计算,仅存储scale参数就必要额外的6GB内存:(100B ÷ 64) × 4 = 6GB。
团队通过将这些scale参数目化到8位浮点数(FP8),显著减少了所需的存储空间。
在采用256为量化块巨细(block size=256)的情况下,存储所有scale参数所需的额外空间仅为1.57GB:(100B ÷ 64 ÷ 256) × 4 + (100B ÷ 64) × 1 = 1.57GB.
通过嵌套量化,模型的每个权重参数最终仅占用4字节的内存空间,比原始FP32节省了大量的内存占用空间。
与此同时,它将从内存到CPU的数据搬运效率,进步了4倍。
如许的优化显著减轻了内存带宽对Yuan2.0-102B模型推明白码效率的限定,从而进一步提拔了模型的推理性能。
所谓通用,就是让大家都用上
到这里,海潮信息就成功交卷了!
通过体系优化,海潮信息的NF8260G7,在业界初次实现了仅基于通用处理惩罚器,支持千亿参数大模型的运行。
至此,通用算力可支持的AI大模型,参数规模突破了千亿,彻底填补了行业空白,成为了企业拥有AI的新起点。
千亿参数AI的模型的部署,以后有了性能更强、成本更经济的选择;AI大模型应用,可以和云、大数据、数据库,实现更紧密的融合。

科技进步的最终目的,肯定是落入凡间。
放眼当下,AIGC已经渗出进千行百业。AI已经以惊人的速率,渗出进了每一个计算装备。
2024年1-4月,国内大模型的中标数目,已经超越了2023全年总数,中标披露金额已经到达了2023年全年的77%。
在金融行业、医院门诊部,企业的IT部分,从业者都发现了这一点:传统行业的算力基础办法,已经不敷用了!
如今,千亿参数大模型,是千行百业智能涌现的关键。而通用算力能否运行千亿参数大模型,正是权衡其能否支撑千行百业智能涌现的关键。
海潮信息的创举,让互联网、金融、医疗等行业客户可实现高效部署,初次投入就可节省80%以上的建设成本。
无论是金融防欺诈、财务数据分析、企业CRM营销洞察、医疗智能诊断、个性化诊疗方案、教诲培训等等,都将见证AI的广泛应用。
以后,统统计算皆AI。
   参考资料:
  https://mp.weixin.qq.com/s/1wYt7dfoVy2J1FFkOJjRTg
  那么,怎样体系的去学习大模型LLM?

我在一线互联网企业工作十余年里,引导过不少同行后辈。帮助许多人得到了学习和成长。
作为一名热心肠的互联网老兵,我意识到有许多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的许多狐疑,所以在工作繁忙的情况下还是坚持各种整理和分享。
但苦于知识传播途径有限,许多互联网行业朋友无法得到正确的资料得到学习提拔,故此将并将重要的AI大模型资料包括AI大模型入门学习头脑导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
所有资料 ⚡️ ,朋友们如果有必要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~

篇幅有限,部分资料如下:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

tsx81428

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表