生成式AI推理加速的系统挑战
2023-09-27 12:01:26 EETOP在不到一年的时间里,生成式人工智能通过OpenAI的ChatGPT(一种基于transformers的流行算法)获得了全球声誉和使用。基于transformers的算法可以学习对象不同元素(如句子或问题)之间的复杂交互,并将其转换为类似人类的对话。
在transformers和其他大型语言模型(LLM)的推动下,软件算法取得了飞速发展,但执行这些算法的处理硬件却落后了。即使是最先进的算法处理器也不具备必要的性能,无法在一两秒的时间内完成最新的 ChatGPT 查询。
为了弥补性能上的不足,领先的半导体公司使用大量最好的硬件处理器构建系统。为此,他们在功耗、带宽/延迟和成本之间进行了权衡。这种方法适用于算法训练,但不适用于部署在边缘设备上的推理。
功耗挑战
虽然训练通常基于 fp32 或 fp64 浮点运算来生成大量数据,但对延迟要求并不严格。它的功耗高,成本也高。
推理过程则截然不同。推理通常是在 fp8 算法上进行的,它仍然会产生大量数据,但要求严格的延迟、低能耗和低成本。
模型训练的解决方案来自计算农场。计算农场需要运行数天,使用大量电力,产生大量热量,购置、安装、运行和维护费用高昂。更糟糕的是,推理过程会碰壁,阻碍 GenAI 在边缘设备上的普及。
推理过程则大不相同。推理通常在 fp8 算法上执行,该算法仍会产生大量数据,但需要关键延迟、低能耗和低成本。
模型训练的解决方案来自计算场(computing farm)。需要运行数天,使用大量电力,产生大量热量,购置、安装、运行和维护费用高昂。更糟糕的是,推理过程会碰壁,阻碍 GenAI 在边缘设备上的普及。
边缘生成式人工智能推理技术现状
用于 GenAI 推断的成功硬件加速器必须满足五个属性:
处理能力达到 petaflops 级,效率高(超过 50%)
低延迟,在几秒内提供查询响应
能耗控制在 50W/Petaflops 或以下
与边缘应用兼容的经济实惠的成本
现场可编程,可进行软件更新或升级,避免在工厂进行硬件改造
现有的大多数硬件加速器都能满足部分要求,但不能满足所有要求。古老的 CPU 是最差的选择,因为它的执行速度无法令人接受;GPU 的速度相当快,但功耗高,延迟不足(因此成为训练的选择);FPGA 在性能和延迟方面都有妥协。
完美的设备应该是定制/可编程的片上系统(SoC),设计用于执行基于transformers的算法以及其他类型的算法。它应支持适当的内存容量,以存储嵌入 LLM 的海量数据,并可编程,以适应现场升级。
实现这一目标有两个障碍:内存墙和 CMOS 设备的高能耗。
内存墙
在半导体发展历史的早期,人们观察到处理器性能的进步被内存访问速度进展缓慢所抵消。
随着时间的推移,两者之间的差距继续分化,迫使处理器等待越来越长的时间让内存提供数据。结果是处理器效率从完全 100% 利用率下降(图 1)。
图1.处理器性能的进步继续受到内存高效传输数据能力的阻碍。图片由VSORA提供
为了缓解效率的下降,业界设计了一种多级分层内存结构,在处理器附近采用更快、更昂贵的内存技术,用于多级缓存,从而最大限度地减少主内存较慢甚至较慢的外部内存的流量(图 2)。
图2.靠近处理器的多级分层内存结构包括多级缓存,可最大限度地减少主内存和外部内存较慢的流量。图片由VSORA提供
CMOS IC的能耗
与直觉相反,CMOS IC的功耗主要是数据移动而不是数据处理。内存访问的功耗比基于斯坦福大学Mark Horowitz教授领导的一项研究的基本数字逻辑计算消耗的能量高出几个数量级(表1)。
表 1.这些表比较了简单算术运算符与内存访问的能耗。图片由斯坦福大学提供
在使用整数运算时,加法器和乘法器的能耗不到 1 皮焦,而在处理浮点运算时,加法器和乘法器的能耗只有几皮焦。相比之下,在高速缓存中访问数据所耗费的能量则会跃升一个数量级,达到 20-100 皮焦,而在 DRAM 中访问数据所耗费的能量则会跃升三个数量级,超过 1000 皮焦。
GenAI加速器是以数据移动为主导的设计的典型例子。
内存墙和能耗对延迟和效率的影响
生成式AI处理中内存墙和能耗的影响正变得难以控制。
在短短几年内,ChatGPT 的基础模型 GPT 就从 2019 年的 GPT-2 演进到 2020 年的 GPT-3,再到 2022 年的 GPT-3.5,直至目前的 GPT-4。每一代模型的规模和参数(权重、令牌和状态)数量都有数量级的增长。
GPT-2 模型包含 15 亿个参数,GPT-3 模型包含 1 750 亿个参数,而最新的 GPT-4 模型则将参数数量增加到约 1.7 万亿个(官方数字尚未公布)。
这些参数的庞大数量不仅迫使内存容量达到 TB 级,而且在训练/推理过程中同时高速访问这些参数也将内存带宽推高到数百 GB/秒,甚至 TB/秒。更糟糕的是,移动这些参数会消耗大量能源。
昂贵的硬件闲置
内存和处理器之间令人生畏的数据传输带宽和明显的功耗使处理器效率不堪重负。最近的分析表明,在尖端硬件上运行 GPT-4 的效率下降到 3% 左右。为运行这些算法而设计的昂贵硬件 97% 的时间都处于闲置状态。
执行效率越低,执行相同任务所需的硬件就越多。例如,假设有两个供应商可以满足 1 Petaflops(1000 Teraflops)的需求。供应商(A 和 B)的处理效率不同,分别为 5%和 50%(表 2)。
那么供应商 A 只能提供 50 Teraflops 的有效处理能力,而非理论处理能力。供应商 B 将提供 500 Teraflops 的处理能力。要提供 1 petaflop 的有效计算能力,供应商 A 需要 20 个处理器,而供应商 B 只需要 2 个。
表 2.具有不同处理效率的两个处理器供应商需要不同数量的处理器才能满足1 Petaflops 的可用性能。图片由VSORA提供
例如,硅谷一家初创公司计划在其超级计算机数据中心使用 22,000 个 Nvidia H100 GPU。粗略计算,22000 个 H100 GPU 的价格为 8 亿美元,这是其最新融资的大部分。这个数字还不包括基础设施的其他成本、房地产、能源成本以及企业内部硬件总拥有成本(TCO)中的所有其他因素。
系统复杂性对延迟和效率的影响
另一个基于目前最先进的基因人工智能培训加速器的例子将有助于说明这一关切。这家硅谷初创公司对GPT-4的配置将需要在HGX H100或DGX H100系统上以8组部署22,000个Nvidia H100 GPU,总共需要2,750个系统。
考虑到 GPT-4 包括 96 个解码器,将它们映射到多个芯片上可能会减轻对延迟的影响。由于 GPT 结构允许顺序处理,因此每个芯片分配一个解码器,总共 96 个芯片,可能是一个合理的设置。
这种配置相当于 12x 个 HGX/DGX H100 系统,不仅会影响单个芯片之间的数据传输延迟,还会影响板卡之间和系统之间的数据传输延迟。使用增量transformers可以显著降低处理复杂性,但需要处理和存储状态,这反过来又增加了需要处理的数据量。
最重要的是,前面提到的3%的实施效率是不现实的。当加上系统实现的影响以及相关的更长延迟时,实际应用中的实际效率将显著下降。
从长远来看,GPT-3.5 所需的数据量远不及 GPT-4。从商业角度来看,使用类似 GPT-3 的复杂性比 GPT-4 更具吸引力。另一方面,GPT-4 更准确,如果可以解决硬件挑战,它将成为首选。
最佳成本分析
让我们把重点放在能够处理大量查询的系统的实施成本上,例如类似谷歌的每秒 10 万次查询量。
使用当前最先进的硬件,我们可以合理地假设,包括购置成本、系统运营和维护在内的总拥有成本约为 1 万亿美元。据统计,这大约相当于世界第八大经济体意大利 2021 年国内生产总值(GDP)的一半。
ChatGPT 对每次查询成本的影响使其具有商业挑战性。摩根士丹利估计,2022 年谷歌搜索查询(3.3 万亿次查询)的每次查询成本为 0.2 美分,被视为基准。同一分析指出,ChatGPT-3 的每次查询成本在 3 美分到 14 美分之间,是基准成本的 15-70 倍。
寻找芯片架构解决方案
半导体行业正在狂热地寻找解决成本/查询挑战的方法。虽然所有的尝试都是受欢迎的,但解决方案必须来自一种新颖的芯片架构,这种架构将打破内存墙并大幅降低功耗。
本文由EETOP编译自:allaboutcircuits
关键词: 生成式AI OpenAI ChatGPT transformers
EETOP 官方微信
创芯大讲堂 在线教育
创芯老字号 半导体快讯
相关文章