当前位置:首页 > 人工智能

微软打造“小芯片云”架构,欲大幅降低LLM实现成本

如果英伟达和AMD正兴奋地搓搓小手 ,小芯片云打算趁着微软在生成式AI领域大展拳脚的微软机会狠狠卖一波计算器材 ,把握OpenAI GPT大语言模型掀起的打造低这波东风 ,那恐怕得好好再考虑一下了。架构虽然微软要搞AI是幅降真的,OpenAI想把GPT模型作为未来的实现软件核心和服务也是真的  ,但想靠卖芯片赚到这笔收益却绝非易事。成本

自生成式AI爆发之初,小芯片云我们就一直坚持认为,微软如果推理阶段对于硬件的源码下载打造低需求量与训练阶段相同 ,那这项技术哪怕再美好也只能是架构空中楼阁。毕竟没人能负担得起那样的幅降成本 ,即使是实现财力雄厚的超大规模数据中心运营商和云服务商也做不到。

正因为如此,成本微软决定与华盛顿大学的小芯片云研究人员合作,共同开发出所谓“小芯片云”(Chiplet Cloud)的新方案 。从理论上讲 ,其在运行微软GPT-3 175B和谷歌PaLM 540B模型的推理时 ,云计算似乎拥有着能压倒英伟达“Ampere”A100 GPU的性能(略逊于「Hopper」H100 GPU)和谷歌TPUv4加速器的表现。

这款Chiplet Cloud架构的相关论文由Shuaiwen Leon Song牵头撰写  。Shuaiwen Leon Song是太平洋西北国家实验室的高级科学家兼技术主管,还在悉尼大学与华盛顿大学参与未来系统架构研究。他于今年1月加入微软,担任高级首席科学家并参与管理Brainwave FPGA深度学习团队 ,还针对PyTorch框架开展DeepSpeed深度学习优化(这两个项目均隶属于微软研究院的AI at Scale专题)  。

说这么多当然不是在闲扯 ,其中的服务器租用重点是以上项目全都被GPT所击败 ,迫使微软在Leon Song加入的同时向OpenAI投资了100亿美元。截至目前,微软已经向OpenAI注资达130亿美元,其中大部分用于在微软Azure云上训练并运行GPT模型 。

如果要用一句话来概括Chiplet Cloud架构 ,那就是:晶圆级 、大规模并行、与Cerebras Systems类似的大量SRAM矩阵数学引擎 ,然后用一个个完美的裸晶将其拼合成统一的系统 。源码库或者更确切地讲,不是用SRAM做晶圆级矩阵数学单元,而是制造出大量个体成本极低、而产量却极高(因此有助于降低整体成本)的小单元,再用高速互连把它们对接起来。

这种方法类似于IBM的BlueGene系列大规模并行系统(例如安装在劳伦斯利弗莫尔国家实验室的BlueGene/Q)同IBM为橡树岭国家实验室打造的偏重GPU的“Summit”超级计算机间的区别。BlueGene与日本RIKEN实验室的“K”和“富岳”系统更相似,免费模板从长远来看也有可能代表着正确的发展方向 。最大的区别,在于我们需要针对AI训练、HPC计算和AI推理再对处理器做不同调整 。

最近几周 ,我们一直在讨论基于Transformer架构的生成式AI模型那恐怖的构建成本  。Chiplet Cloud论文很好地阐述了亚马逊云科技  、Meta Platforms和谷歌为何一直在努力寻求自研芯片 ,从而显著降低AI推理的实现成本 。

华盛顿大学的Michael Taylor、建站模板Huwan Peng 、Scott Davidson和Richard Shi等研究人员在文章中写道  ,“通过GPU等商用硬件提供基于生成式Transformer大语言模型的办法,如今已经在可扩展性方面遭遇到瓶颈 。配合GPU ,行业领先的GPT-3在每块A100上的每秒token处理量为18个。再考虑到ChatGPT及其将大语言模型集成至各类现有技术(例如网络搜索)当中的承诺,令人们不得不对大语言模型的可扩展性和盈利能力产生怀疑 。例如,谷歌搜索每秒需要处理超过9.9万条查询 ,如果要把GPT-3嵌入到每条查询当中,并假设每次查询生成500个token,那么谷歌将需要34.075万台英伟达DGX服务器(共搭载272.6万块A100 GPU)才够用 。单是这些GPU的资本支出就将超过400亿美元 ,且电力消耗也将十分巨大 。假设能量利用率为50%,平均功率将超过1千兆瓦 ,足够为75万个普通家庭供电。”

GPU(不止是英伟达家的GPU,这里包括一切GPU)的问题在于,它们属于通用计算设备,所以必须支持多种不同类型的计算以满足全部用例。事实也的确如此 ,否则英伟达的GPU就该只配备Tensor Core处理器 ,而没必要提供向量引擎。而且即使是谷歌TPU这类设备(本质上就是单纯的Tensor Core张量处理器),其尺寸 、复杂性以及HBM内存栈也大大拉高了交付成本。而至少根据微软的比较 ,新的Chiplet Cloud在总体拥有成本(TCO)方面将远远优于英伟达A100 GPU:

注意:Chiplet Cloud论文中引用的A100资源价格来自Lambda GPU Cloud ,而TPUv4的价格则来自Google Cloud 。

以下图表 ,为上图中所选参考数据点的具体数据 :

在拥有1750亿参数的GPT-3模型上,与英伟达A100 GPU相比,Chiplet Cloud模拟设备将每1000个token的推理成本大幅降低了94.4倍 ,token的生成延迟更是降低了327.3倍。尽管H100的吞吐量比A100高出3.2倍(这里比较的是A100上的INT8吞吐量与H100上的FP8吞吐量) ,我们也很难想象这么夸张的延迟差异可以用速度更快的HBM3内存轻松弥合。而且即使这样计算,H100的市场价格大约是A100当前价格的2倍 ,在性价比上还是无法与Chiplet Cloud相匹敌。相信H100将在上图中位于A100的左下方位置,但距离不会太远 。

如果转而使用配备HBM内存的Tensor Core矩阵数学引擎,那么性能肯定会相应提高  ,如上图右侧列出的TPUv4计算引擎部分 。即使是在拥有5400亿参数的超大规模PaLM模型而言 ,张量处理器带来的提供依然显著。而微软给出的理论计算显示,Chiplet Cloud在运行推理时每生成1000个token的成本仍可降低15.2倍 ,延迟降低19.5倍。

在这两种情况下,微软都成功优化了每token的生成成本,同时辅以更合理的延迟水平  。很明显 ,只要客户愿意为推理再多支付一点成本,那么Chiplet Cloud架构也肯定能把延迟降得更低 。

通过这张图表,可以看到超大规模数据中心运营商和云服务商为什么热衷于为AI推理负载打造原研ASIC ,特别是在大语言模型在推理期间疯狂吞噬计算和内存带宽资源的背景之下 :

AI工作负载的密度越大,ASIC相较于GPU所带来的成本优势也就越明显  。顺带一提 ,从图表中还可以看到,微软很清楚谷歌搜索的密度比Bing搜索高得多、而且成本也更低。(奈何Bard实在不给力。)GPU和定制ASIC之间的盈亏平衡点 ,约在每秒4.6万个token的水平。如果按Lambda GPU Cloud上使用微软自家DeepSpeed-Inference引擎来计算,这样的性能对应每个GPU的成本为每小时1.10美元;而在Chiplet Cloud模拟加速器上运行DeepSpeed-Inference的情况则完全不同 。

在设计Chiplet Cloud的过程中,微软和华盛顿大学的研究人员还得出了以下几条结论 。

首先 ,芯片的生产成本在任何计算引擎的总体拥有成本中均占很大比例。

根据我们的估计 ,GPU占现代HPC/AI超级计算机总体算力的98%,成本则占比在75%左右。微软估计,对于采用7纳米工艺蚀刻的芯片 ,制造大语言模型推理加速器的成本约为3500万美元 ,具体涉及CAD工具 、IP许可 、掩模 、BGA封装 、服务器设计和人力成本  。当然  ,对于400亿美元的潜在投资总额来讲,这点资金完全就是洒洒水、不必过多纠结 。

也就是说如果想要降低成本,就绝不能使用颠覆性过强的计算引擎。微软方面在论文中表示,台积电7纳米制程工艺的缺陷密度为每平方厘米0.1个 ,而750平方毫米芯片的单价则是150平方毫米芯片的2倍 。

第二,推理既是个算力问题 ,也是个内存带宽问题。

这里简单解释一下,假设我们使用较旧的GPT-2模型和同时代的英伟达“Volta”V100 GPU 。大部分GPT-2内核的运算强度较低(需要的算力不强),而且内存带宽也被HBM2限制在每秒900 GB  。但即使是这样,微软也计算出至少需要每秒85000 GB的内存带宽(几乎提升了两个数量级),才能驱动V100 GPU中112万亿次的算力来有效运行GPT-2模型。

有鉴于此,Chiplet Cloud的技术诀窍也许就来自Cerebras Systems 、GraphCore和SambaNova Systems的经验积累 :获取模型参数及其关键值的中间处理结果  ,回收这些结果以加快模型生成 ,并尽可能将其存储在邻近矩阵数学引擎的SRAM当中。在这方面,DRAM和HBM那边的差距就很大了:

所以 ,在这里使用SRAM几乎成了顺理成章的选择 。

另一个重点在于,微软需要一种方法来降低小芯片设计的封装成本,同时尽可能减少会增加推理延迟、降低吞吐量的芯片间通信 。微软正想办法把小芯片制作成独立封装,并在板上(而非插槽上)做集成 ,同时使用张量加管线并行映射策略来减少Chiplet Cloud各节点间的通信。每个小芯片都有充足的SRAM来保存所有计算单元的模型参数与KV缓存。这实际上就构成了一套大规模分布式缓存 ,其中各个小芯片都能在运行自己独特推理负载时从中提取到所需数据。

经过种种工程权衡 ,微软构想中的Chiplet Cloud架构基本如下所示 :

这里没有用到硅中间层或者有机基板 ,因为这样会增加成本和复杂度,进而拉低封装的良品率。长久以来  ,这一直是困扰GPU和GPU等大型 、高精尖设备的核心难题 。微软的小芯片基板使用印刷电路将大量小芯片接入2D环面,微软表示这样的电路设计更加灵活 ,能够适应设备的不同映射。(类似于Meta Platforms在自己的电路设计中 ,使用PCI-Express作为GPU加速器系统间的互连机制) 。板上还设有FPGA控制器,每个小芯片都有一个以25 GB/秒速率运行的全双工链路 ,通过ground reference signaling(GRS)链接实现80毫米的覆盖范围  。微软表示 ,也可以根据需要通过其他类型的互连实现各节点间的对接 。

微软还提到,不同模型对于小芯片的算力和内存容量也有不同要求,还包括是否要针对延迟或总体拥有成本进行优化 。下面来看相关图表:

首先可以明确一点,绝对不存在百试百灵的“银弹”设计方案 。最终芯片的通用度越高,则运行效率就越低。云服务商相对更需要通用设备  ,毕竟谁也说不准客户到底要拿云端资源运行什么工作负载 。当然 ,厂商也可以只针对专有软件栈做配套服务 ,这时候就能疯狂优化以提供最佳性价比,同时又保留一点未优化空间作为自己的业务利润。

如果微软针对PaLM 540B做优化,专门出售一批面向谷歌用例的Chiplet Cloud ,那多是一件美事啊?到那个时候 ,不知道专为PaLM 540B定制的Chiplet Cloud会不会夺走Google Cloud手中的TPU客户。

我们不确定微软的这个Chiplet Cloud项目中有多少仍处于理论研究阶段 ,有多少已经开始实践落地甚至是运行测试了一段时间 。不管实际情况如何 ,微软肯定是在研究上花了不少的钱,如今也拥有了能够对抗英伟达和AMD的谈判筹码。想创业的朋友也可以多多关注 ,没准能利用这些专业知识克隆微软的现有产品 。谷歌的TPU就是这么来的 ,再加上风险投资对待AI相关业务还相对比较乐观 ,各位何不把握机会 、试上一试?

分享到:

滇ICP备2023006006号-20