人工智能大数据,工作效率生产力
Ctrl + D 收藏本站,更多好用AI工具
当前位置:首页 » 最新消息

微软自主研发AI芯片,想彻底摆脱英伟达?

2023-11-10 190

过去的深度学习通常围绕某个较为狭窄的知识领域建立模型并学习数据,通过这样的方法人们已经在视觉,语言等多个领域取得了很大进展。

最近几年中涌现出多种基于极为广泛的数据进行自监督学习的模型,它们呈现出了可以适应一系列不同任务与目的的特性,比如其中的GPT-3模型,作为一个具有超大参数规模的语言模型,通过给予合适的提示(prompt),它能完成的任务类型让人眼花缭乱,例如随意聊天,生成文章,回答数理问题,甚至是编写一段高质量的卷积神经网络的代码。在这之后,这一类统称为大语言模型(Large Language Models, LLMs)的大规模预训练自然语言模型便占领了人工智能领域的C位,谷歌、Meta等都发布了各自的大语言模型,OpenAI之后基于GPT-3.5打造的ChatGPT更是将这一领域的受众直接普及到了个人,这一热浪一直延续到今天也未见颓势。

微软自主研发AI芯片,想彻底摆脱英伟达?插图

10月6日,媒体援引知情人士消息称,微软计划在下个月的年度开发者大会上推出首款为人工智能设计的芯片,来降低成本并减少对英伟达的依赖。微软芯片主要用于数据中心服务器,为训练大语言模型(LLM)等软件而设计,同时可支持推理,能为ChatGPT背后的所有AI软件提供动力。为了发展ChatGPT,微软已经抢购了不少GPU,随着算力需求的增加,微软在后续或许需要更多的芯片支持。如果一如既往地购买英伟达GPU,这对微软来说将是一笔昂贵的支出,于是,对于微软的自研AI芯片市场上出现了更多探讨。然而微软真的可以在大模型推理撼动英伟达AI芯片的地位嘛?请看以下分析!

模型推理解析和过程

作为大语言模型的一员,LLaMA的基本结构与GPT类似。模型的主体由很多的Transformer Block构成,transformer block之前需要对输入进行嵌入(embedding)计算,添加位置编码(positional encoding)和dropout计算等操作,之后则需要进行一次layernorm,再将输出通过一次维度与嵌入层相反的线性层映射回vocabulary空间中,再进行softmax计算。

而且它包含了多头注意力算子(multi-head attention)以及之后的多个线性层以及之间的非线性激活层和layernorm层,同时还包含了两次的residual结构以增强模型的深度稳定性。

微软自主研发AI芯片,想彻底摆脱英伟达?插图1

和GPT一样,LLaMA的推理可以分为两部分。从用户的角度来看,需要先给模型输入一段提示(prompt),然后等待模型给出推理结果。当用户将提示输入给模型时,模型即需要将提示作为输入开始第一部分的计算,在这里我们称之为context计算。这一部分计算其实是在为后面的decode计算也就是真正产生模型输出阶段的计算做准备。

微软自主研发AI芯片,想彻底摆脱英伟达?插图2

模型推理配置:RTX 4090

而在LLaMA的推理的过程中,相比于计算卡A100/H100,4090在大模型训练上是不可行的,但在模型推理上可以与计算卡A100在算力上持平,而他俩最大的差距就是在于显存,通信上。

微软自主研发AI芯片,想彻底摆脱英伟达?插图3

其次就是价格和政策问题,A100/H100被米国实行对国内实行出口限制后,英伟达推出阉割版A800/H800,虽然在显存方面做了虚弱,H800上双精度被砍了,其他方面基本上没有动过,这也是国内现在性能最好的计算卡了。但是国内市场需求旺盛,货源供不应求,价格也是水涨船高,而4090的单卡价格就远远低于A800/H800,在各项推理数据中4090也是完全够用。

4090模型推理介绍

为什么说4090推理可以但是模型训练就不行呢,因为训练首先不仅需要存储模型参数,还需要存储梯度、优化器状态、正向传播每一层的中间状态,后面几个比参数更大,对模型内存的需求量也更大。

其次,训练任务是一个整体,流水线并行的正向传播中间结果是需要存下来给反向传播用的。为了节约内存而使用流水线并行,流水级越多,要存储的中间状态也就更多,反而加剧内存的不足。而推理任务中的各个输入数据之间并没有关系,正向传播每一层的中间状态也不需要保存下来,因此流水线并行不需要存储很多中间状态。

KV Cache

什么是KV Cache呢,KV Cache每个输入的 prompt,在计算第一个 token 输出的时候,每个 token 的 attention 肯定是都要从头计算。但是在后续 token 的生成中,都需要计算 self-attention,也就是输入 prompt 以及前面输出的 token 的 attention。这时就需要用到前面每一个 token 的 K 和 V,由于每一层的参数矩阵是不变的,此时只有刚生成的那个 token 的 K 和 V 需要从头计算。

KV Cache的容量是每一层,每个 token 的 K、V 矩阵,再乘上 token 数量和 batch size,就是这一层的 KV Cache 所需的存储容量。而如果 batch size = 4,在 LLaMA 2 70B 中,假设输入和输出的 token 数量达到了模型的极限 4096,80 层的 KV Cache 一共需要 2 (K, V) * 80 * 8192 * 4096 * 8 * 2B = 80 GB。而KV Cache使用4090可以省下多少计算量?相当于4096 * 80 * 8 * 4 * 8192 * 8192 = 640 Tflops。相当于每存储 1 个字节,节约了 16K 次计算,还是很划算的。

微软自主研发AI芯片,想彻底摆脱英伟达?插图4

4090模型推理规格

RTX4090显卡是可以单卡推理llama2 7b和13b模型的,7b模型占用缓存14G左右,13b模型单卡推理显存占用在23G多点。如果是70b的推理就需要用到多卡4090了,才可以保证稳定推理。每个 LLaMA 模型都有特定的 VRAM 要求,建议GPU是根据其满足或超过这些要求的能力来选择的,以确保相应的 LLaMA 模型平稳高效的性能,而相对于大模型训练配置来说,大模型推理配置价格远远达不到训练配置的要求,只要模型平稳,性能高效即可。

微软自主研发AI芯片,想彻底摆脱英伟达?插图5

4090推理成本

8 张 4090 的成本是 12800 美金,8 卡 PCIe Gen4 服务器本身要 2 万美金,加上网络设备,平均每台 4 万美金的设备成本。而用H100 做推理,单一张 H100 至少要 3 万美金,一台 8 卡 H100 高配服务器加上配套的 IB 网络,起码要 30 万美金,这样的价格是8卡4090的6倍了。

那为什么 8 卡 H100 机器是 4090 机器价格的 6 倍,性价比却比 4090 高?因为一张 H100 的算力是 4090 的 6 倍,内存带宽是 4090 的 3.35 倍,当 batch size 够大,算力达到瓶颈的时候,单卡的性能就是 6 倍。而且H100 比 4090 的网络带宽强太多了,导致 4090 在张量并行中网络通信成了瓶颈,浪费了有效算力。因此,同样的 8 卡机器吞吐量几乎可以达到 4090 的 10 倍。虽然一张 H100 卡的价格是 4090 的 20 倍以上,但算上服务器本身的成本和电费,整机的成本只是 6 倍左右。

微软自主研发AI芯片,想彻底摆脱英伟达?插图6
昊源诺信8卡4090一体机

所以相对于其他计算卡做模型推理,4090是最有性价比的推理设备,4090不仅可以满足各种模型样式的需求,也可以在多种场景下使用,为模型推理带来性能的提升和稳定,用最便宜的设备搞出最高的推理性能。

英伟达的统治力

英伟达已经垄断了全球算力。到目前为止,大多数的AI负载还是跑在GPU上的,而英伟达生产了其中的大部分芯片。英伟达独立GPU市场份额达80%,在高端GPU市场份额高达90%。2020年,全世界跑AI的云计算与数据中心,80.6%都由英伟达GPU驱动。2021年,英伟达表示,全球前500个超算中,大约七成是由英伟达芯片驱动的。所以微软想摆脱英伟达的AI芯片是很困难的一件事,英伟达在AI芯片领域一直保持着遥遥领先!

总结

随着主流市场的发展,大模型将是发展的主流趋势,其高精度、高效率和广泛应用前景将会持续推动其在人工智能领域的深入发展。我们有相对应的产品系列,为每位客户应用场景贴身定制,欢迎有需要的小伙伴咨询了解。

原文链接:https://zhuanlan.zhihu.com/p/659927746

相关推荐

阅读榜

hellenandjeckett@outlook.com

加入QQ群:849112589

回顶部