导语:在国产GPU突围的道路上,部分厂商已经走出了自己的路。但鉴于硬件、生态等各方面的差距,这样必定是一条充满荆棘的长路。
最近,风头正盛的英伟达在算力领域又下一城。
在最新的最新MLPerf训练基准测试中,英伟达的H100仅用11分钟就训练完了GPT-3。
并且还在所有的八项测试中都创下了新纪录。
可以说,这是一款专为AI、HPC和数据分析而设计的“性能怪兽”。
凭借着4nm制程、800亿个晶体管、18432个CUDA核心,以及专用的Transformer引擎,H100将大模型训练速度提高了6倍。
同时,H100还支持NVLink Switch系统,可以实现单节点内和节点间的全方位GPU通信,从而支持百亿亿级(Exascale)的工作负载。
这也是其能在MLPerf 8项基准测试中横扫其他竞争者的重要原因。
在算力愈发重要的AIGC时代,任何能提高模型训练、机器学习的硬件技术,都成了各大AI企业垂涎欲滴的产物。
然而,目前在GPU领域,大部分国内企业,仍然只能仰赖英伟达一家的技术。
在国内算力愈发捉襟见肘,以及国际风云变幻的敏感时刻,国内的GPU厂商,能否奋力追赶,解决这一“卡脖子”难题,以至于成为下一个“英伟达”呢?
01 种子选手的秘密
在目前国内一票GPU的“种子选手”中,一家名叫壁仞科技的企业引起了人们的注意。
原因很简单,那就是其产品BR100不仅创下了全球算力纪录,并且宣称其峰值算力达到了英伟达A100的3倍,甚至还能对标没发售的H100。
然而,稍微了解过国内芯片行业的人都知道,在芯片领域,国内的炒作太多了,徒有其表的例子也太多了。
那么,做出这个“媲美英伟达”GPU的企业,究竟是什么来头?其自主研发的BR100,是否真的像其宣传的那样出色?
要回答这个问题,我们不妨先看看壁仞科技的创始班底,技术背景究竟如何。
作为一家通用智能芯片设计研发商的壁仞科技,成立于2019年,团队由国内外芯片和云计算领域的专家和研发人员组成。
其创始人张旭博士,不仅拥有清华大学和斯坦福大学的博士学位,还曾是英伟达的高级架构师,负责Volta架构的设计和开发。
除此之外, 团队其他成员的技术身份,也颇为亮眼。
李新荣,联席CEO,曾任AMD全球副总裁、中国研发中心总经理,负责AMD大中华区的研发建设和管理工作。
洪洲,CTO,曾在NVIDIA、S3、华为等工作操刀GPU工程项目,拥有超过30年的GPU领域经验。
焦国方,软件生态环境主要负责人,曾在高通领导和产品研发了5代Adreno移动GPU系统架构。
这样的团队背景,决定了壁仞科技的技术底色。
依据之前在英伟达、AMD、高通、商汤科技等知名企业的研发经验和技术积累,壁仞科技研发了自主原创的芯片架构——壁立仞。
壁立仞架构基于SIMT(单指令多线程)模型,针对AI场景进行了专用的优化和定制。
其*的特点,就是可以将多个小芯片拼成一个大芯片,每个小芯片只做一部分功能,然后通过高速互连组合成一个大芯片。
这样可以提高芯片的良率和可靠性,同时降低成本和功耗,实现更强大的算力和扩展性。
这就是壁仞科技所谓的Chiplet的设计理念。
这种技术的难点在于如何保证芯片之间的高速通信和协作,同时避免信号干扰和功耗过高。
因此,如何设计合适的芯片分割和组合方案,使得每个芯片都能发挥*的效能,同时减少电磁干扰和热耗散,就成了Chiplet能否成功的关键。
对此,壁仞科技使用了两种关键的技术2.5DCoWoS和BLink,来攻克这一难关。
简单地说,2.5D CoWoS技术是一种把多个芯片堆叠在一起的技术,它利用了一个硅基板作为中介层,缩短了芯片之间的距离,从而提高了信号的传输速度和质量。
而BLink则在中介层上,建立了一个专用的接口,它可以让多个芯片之间直接传输数据,而不需要经过其他的电路或芯片,从而减少了延迟和功耗。
然而,尽管2.5D CoWoS、BLink这些技术,让壁仞科技打造出了算力更强的BR100,但这些技术,目前在国际上并不罕见,其他GPU厂商也有过类似的设计。
例如,Nvidia的A100和H100 GPU都采用了CoWoS技术,把GPU芯片和HBM内存堆叠在一起,提高了内存带宽和计算性能。而Nvidia还开发了自己的NVLink接口,类似于BLink接口,可以让多个GPU之间高速互联。
此外,AMD也有自己的Infinity Fabric接口,可以实现类似的功能。
那既然这是一种“大家都能用”的技术,那壁仞科技怎么就做到让BR100算力达到A100三倍的呢?而英伟达真就会坐视着自己被超越了?
其实,这样的结果,是二者在不同数据格式下的表现所致。
具体来说,BR100的巨大算力,更多是在矩阵FP32数据格式下的表现。
一般来说,数据格式占用的位数越多,它的范围和精度就越高,但是也会消耗更多的空间和电力。
而矩阵FP32其实就是一种特殊的FP32数据格式,它只用了19位来存储一个浮点数,这样做的目的是为了让矩阵FP32能够兼容Tensor Core这种专门用于加速矩阵乘法的硬件单元。
矩阵乘法是深度学习中最常见和最重要的计算操作之一,所以使用矩阵FP32可以大幅提升深度学习的性能。
但是,矩阵FP32也有一个缺点,就是它的精度比向量FP32低,也就是说它能表示的浮点数的范围和细节程度比向量FP32小。
这样就会导致一些误差和损失,在某些情况下可能会影响模型的质量和效果。
因此,矩阵FP32和英伟达A100的向量FP32并不等价,因为矩阵FP32只适用于矩阵乘法这种特定的计算操作,并不能代表GPU的整体性能。
02 生态之痛
除了技术方面的较量外,软件生态上的壁垒,也是国产GPU无法忽视的一道屏障。
从某种程度上说,这样的壁垒比某些具体技术的难点,更难以攻克。
在GPU领域,业界流传着一种说法:“CUDA是Nvidia最深的护城河”。
这是因为,早在十几年前,在业内大部分人都认为GPU只能处理图形相关的计算时,英伟达就已经意识到了GPU在AI领域的潜力和价值,并开始了相应的布局,在2006年推出了通用并行计算架构CUDA。
在CUDA问世前,人们在进行各种计算任务时,用的都是CPU,而非GPU。
然而,CPU虽然具有很强的“通用性”,可以处理各种计算,但是它的速度不够快,而且核心数量有限。
而相较之下,只能处理图形计算的GPU,不仅速度很快快,而且有很多很多的核心。
通过CUDA,在进行AI计算时,人们可以将神经元之间的计算分配到GPU的不同核心上,并行地进行运算。这样就大大提高了神经网络的训练和推理的速度、效果。
英伟达看到了CUDA的巨大潜力,于是不断地完善和优化CUDA的技术和生态。
例如让CUDA支持C、C++、Fortran、Python等多种编程语言,或是提供了针对不同领域和应用优化的库和工具,比如图像处理库、深度学习库、自动驾驶库等等。
这样的优化,为开发者提供了极大的便利,使其不用再学习新的编程语言,或是从头开始编写代码。
于是,越来越多的人用惯了,用舒服了,CUDA的生态就这么被搭建起来了。
诚然,在CUDA构建自身生态壁垒的过程中,也不是没有遇到过竞争者,但最后这些对手都一一成为了“陪跑者”。
例如,苹果公司和Khronos Group在2009年推出的OpenCL,也有过想成为行业标准的想法,让人们可以用不同厂商的CPU、GPU、来做异构计算。
然而,OpenCL没有CUDA那么高效和灵活,需要更多的编程技巧和优化工作,这就加大了开发者的负担。
而英伟达的老对手AMD,也想要提供一个通用并行计算平台,并推出了相应的产品ROCm,它跟CUDA的架构非常类似,甚至有一个工具叫hipify,可以把CUDA代码转换成ROCm代码。
但是ROCm只能用在AMD的GPU上,而且只支持几款显卡。
于是,综合对比下来,更多的开发者还是选择了“通用性”、“易用性”都更胜一筹的CUDA。
如今,在软件生态方面,壁仞科技也推出了自主研发的BIRENSUPA软件平台,试图通过“无缝运行”的方式,让开发者无需修改代码,就可以在BR100系列产品上运行原本基于CUDA的应用。
这样,习惯了使用CUDA的用户,如果转而使用BR100系列产品,可以获得更高的计算性能和更低的功耗成本。
然而,这样的思路,却面临着几大挑战,而其中之一,就是BR100系列产品在通用计算生态上的支持。
BIRENSUPA软件平台
因为,壁仞科技为了提高BR100系列产品在AI计算方面的性能和能效,也对流处理器进行了一些优化和定制,比如说使用BF16替代FP16作为主要的数据格式,以及增加了一些针对AI的硬件指令和功能。
这样,BR100就可能牺牲了部分通用计算能力,导致其在一些非AI的应用场景和领域上表现不佳或者不兼容。
而这也是为什么,BR100的主要应用场景,大多是复旦大学、清华大学这类高校的人工智能计算和高性能计算项目。
除此之外,BR100系列产品,在算力利用率上也存在着风险。
虽然,BR100的架构是通用的,如果如果壁仞科技愿意,也同样可以将其用于通用类的计算。
但因为BR100的内部算力带宽已经明显超过PCIe和HBM2e的带宽,所以绝大部分数据可能都要在GPU内流转。
这就意味着,虽然BR100的算力很强大,它的数据来源和输出通道,都不够快,不能及时地给它送来或者拿走数据。
而如果一个软件生态主要支持通用处理, 它的GPU芯片往往就需要有足够高的外部带宽,来获取各种类型的数据。
这是因为,不同类型的应用,往往对带宽的需求和敏感度都不同。一些大型的应用,可能需要更高的带宽,才能更好地计算。
最后,也是*风险的一点,就是虽然壁仞科技宣称,BR100要无缝地支持CUDA生态,但CUDA不是一个开源生态,英伟达在其中埋下了大量专利壁垒。
如果壁仞科技真的打算撬动这块壁垒,则很可能受到英伟达的在专利上的反击。
综上所述,虽然目前在国产GPU突围的道路上,部分厂商已经走出了自己的路,但鉴于硬件、生态等各方面的差距,这样的道路,必定是一条充满荆棘的长路。