当前位置: > 热评

IBM或将推出AI加速器,期待其在实践场景下有所作为

时间:2022-10-24 06:53:51 热评 我要投稿

作为早期发现加速器价值的系统设计商之一,蓝色巨人认为从长远来看,各类高性能计算都将涉及某种加速机制。换句话说,CPU应该可以把数学负载交由专用ASIC处理,由此大大缩短计算周期。

也许IBM已经从15年前的早期HPC时代汲取营养。当时的IBM曾开发出PowerXCell矢量数学加速器,并应用于洛斯阿拉莫斯国家实验室的petaflops级“Roadrunner”超级计算机。如今,这些经验教训没准也能为现代AI带来一点启发。

作为一股不一样的力量,人们当然希望IBM的加入能给AI带来新鲜的空气,至少重拾往日HPC(AI也属于HPC高性能计算中的一类)的荣光。因为有消息称,IBM研究部门似乎正在鼓捣一款新型AI加速单元。

IBM研究院的这款AIU背后还有很多细节没有披露,到目前为止,唯一能够确定的就是IBM在开发矢量和矩阵数学单元方面经验丰富,还专门发布了一篇讨论AIU的博文。

IBM研究院透露的这款AIU设备将基于5纳米工艺,而且很可能由合作伙伴三星负责制造。三星算是蓝色巨人的老朋友了,先后曾为其企业服务器制造7纳米“Cirrus”Power10服务器和面向大型机的“Telum”System z16处理器。Power10芯片就拥有非常强大的矢量和矩阵数学单元,也是IBM数十年来设计成果的演变产物。不过Telum芯片搭载的仍然是第三代AI Core混合精度矩阵数学单元,作为其片上AI推理与低精度AI训练加速器。

初代AI Core芯片发布于2018年,能够执行FP16半精度数学计算和FP32单精度累加计算,标志着IBM专门针对神经网络用例设计了低精度数据运算系统。而在为Telum z16处理器建立AI加速器之后,IBM研究院决定将这款AI加速器作为基础构建块,通过纵向扩展探索进一步发展的可能性。

在讨论新的AIU之前,我们不妨先回顾一下Telum芯片上的AI加速器。

在z16芯片上,AI加速器由128个处理器块构成,可能是4 x 4 x 8形式的2D环面配置排列,也可能是两个4 x 4 x 4物理阵列或一个4 x 4 x 8逻辑阵列,IBM并没有给出具体答案。这种脉动阵列支持FP32乘积累加浮点单元上的FP16矩阵数学(及其混合精度变体)。这样的设计能够很好地支持矩阵数学和机器学习的卷积计算,从而同时适应推理以及企业平台上常见的低精度训练需求。我们猜测,它可能还支持用于AI训练和推理的FP8四分之一精度格式,以及用于AI推理的INT2和INT4计算。我们在IBM研究院2021年1月发布的而入嵌入式/移动设备的实验性四核AI Core芯片中,就看到了这种设计。Telum CPU中的AI加速器还具有32个复变函数(CF)tile,支持FP16与FP32 SIMD指令,并针对激活函数和复变运算进行了优化。其支持的特殊函数包括:

LSTM激活

GRU激活

融合矩阵乘法,偏置运算

融合矩阵简洁(w/broadcast)

批量归一化

Fused Convolution, Bias Add, Relu

融合卷积、偏置添加、Relu函数

最大池2D

平均池2D

Softmax

Relu

Tanh

Sigmoid

Add

Subtract

Multiply

Divide

Min

Max

Log

一个预取器和回写单元接入z16核心和L2调整缓存环状互连,同时还接入一个暂存器,该暂存器又通过数据移动器和格式化单元接入AI核心。顾名思义,格式化单元可以格式化数据,经由矩阵数学单元运行以执行推理、产生结果。预取器则能以超过120 GB/s的速度从暂存器内读取数据,再以超80 GB/s的速度将数据存储至暂存器中;数据移动器能以600 GB/s的速度将数据取出/送入AI单元中的PT与CF核心。

在System z16大型机上,IBM能够在生产环境中支持自家Snap ML框架和微软Azure的ONNX框架,而对谷歌TensorFlow框架的支持也于两个月前进入beta公测阶段。

现在,假定我们将Telum芯片上的AI加速器复制出来并连续粘贴34次,就得到了下图所示的设计图:

这34个核心、用于暂存器的非核心区域,以及负责实现核心之间/核心与外部系统连通的区域,总共包含230亿个晶体管。IBM称AIU上共有32个核心,但我们可以清楚地看到34个,因此其中2个应该是为了保证设备32个可用核心所做出的冗余设计。

Telum z16处理器主频为5 GHz,但AIU不太可能以这么高的速率运行。

再来看AIU晶片,其中有16个某种类型的I/O控制器,可能是用于内存或I/O的通用串行/解串(IBM在Power10芯片I/O和内存的OpenCAPI接口中就做了这样的设计)。封装中似乎还有8组来自三星的LPDDR5内存,总内存容量为48 GB,总传输带宽约为43 GB/s。如果这些都是内存控制器,那么内存容量还有翻倍的空间,容量上限可达96 GB、传输速率上限为86 GB/s。

AIU晶片上方的控制器复合体可能是PCI-Express 4.0控制器,但我们更希望IBM能使用内置CXL协议的PCI-Express 5.0控制器。

IBM也没有透露AIU的性能表现如何,但我们不妨做一点猜测。早在2021年1月,四核AI Core芯片就已经在ISSCC芯片大会上首度亮相,其采用三星7纳米制程工艺,能够在1.6 GHz主频下提供25.6 teraflops的FP8训练性能与102.4 teraops的INT4推理性能。这款测试芯片的运行功率为48.6瓦,搭载8 MB片上缓存。

这款AIU包含34个核心,其中32个处于活动状态。因此假设时钟速率保持不变,那么其性能应该可以达到测试版本的8倍,片上缓存也同样提升至8倍。所以在片上缓存为64 MB、沿用7纳米制程、功率不超过400瓦的假设之下,其FP8精度的AI训练性能可达到204.8 teraflops,AI推理性能则可达到819.2 teraops。但IBM正考虑与三星合作引入5纳米制程,所以AIU的功率可能只在275瓦左右。

相比之下,英伟达“Hopper”GH100 GPU的PCI-Express 5.0版本功率为350瓦,可提供80 GB HBM3内存、2 TB/s内存传输带宽、支持稀疏性,能够在AI训练方面带来3.03 petaflops的性能表现。

所以IBM研究院还需要引入更多AI核心,要比现在多得多。

还有另一个问题:价格。如果英伟达给H100设定的价格在20000到30000美元之间,但IBM却能把AIU的售价控制在1000美元左右,那情况又会大不一样。虽然可能需要10个AIU才能达到H100的峰值性能(如果不使用稀疏数据,则对应5个AIU),但对于不少客户来说,AIU的成本、功率、空间和电耗毕竟只相当于H100的1/20甚至1/30,吸引力仍然非常突出。也正因为如此,英伟达才会专门推出强调AI推理场景的P4、T4和L40 GPU加速器。