当前位置: Win10系统之家 >  微软新闻 >  国产替代狂奔,中国版英伟达何时现身?解析国内GPU市场

国产替代狂奔,中国版英伟达何时现身?解析国内GPU市场

更新时间:2023-07-11 08:34:09作者:cblsl

导语 :在国产GPU突围的道路上,部分厂商已经走出了自己的路。但鉴于硬件、生态等各方面的差距,这样必定是一条充满荆棘的长路。

最近,风头正盛的英伟达在算力领域又下一城。

在最新的最新MLPerf训练基准测试中,英伟达的H100仅用11分钟就训练完了GPT-3。

并且还在所有的八项测试中都创下了新纪录。

可以说,这是一款专为AI、HPC和数据分析而设计的“性能怪兽”

凭借着4nm制程、800亿个晶体管、18432个CUDA核心,以及专用的Transformer引擎,H100将大模型训练速度提高了6倍。

同时,H100还支持NVLink Switch系统,可以实现单节点内和节点间的全方位GPU通信,从而支持百亿亿级(Exascale)的工作负载。

这也是其能在MLPerf 8项基准测试中横扫其他竞争者的重要原因。

国产替代狂奔,中国版英伟达何时现身?解析国内GPU市场

在算力愈发重要的AIGC时代,任何能提高模型训练、机器学习的硬件技术,都成了各大AI企业垂涎欲滴的产物。

然而,目前在GPU领域,大部分国内企业,仍然只能仰赖英伟达一家的技术。

在国内算力愈发捉襟见肘,以及国际风云变幻的敏感时刻,国内的GPU厂商,能否奋力追赶,解决这一“卡脖子”难题,以至于成为下一个“英伟达”呢?

种子选手的秘密

在目前国内一票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.5D CoWoS和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的整体性能。

生态之痛

除了技术方面的较量外,软件生态上的壁垒,也是国产GPU无法忽视的一道屏障。

从某种程度上说,这样的壁垒比某些具体技术的难点,更难以攻克。

在GPU领域,业界流传着一种说法:“CUDA是Nvidia最深的护城河”。

这是因为,早在十几年前。在业内大部分人都认为GPU只能处理图形相关的计算时,英伟达就已经意识到了GPU在AI领域的潜力和价值,并开始了相应的布局,在2006年推出了通用并行计算架构CUDA。

在CUDA问世前,人们在进行各种计算任务时,用的都是CPU,而非GPU。

然而,CPU虽然具有很强的“通用性”,可以处理各种计算,但是它的速度不够快,而且核心数量有限。

而相较之下,只能处理图形计算的GPU,不仅速度很快快,而且有很多很多的核心。

通过CUDA,在进行AI计算时,人们可以将神经元之间的计算分配到GPU的不同核心上,并行地进行运算。这样就大大提高了神经网络的训练和推理的速度、效果。

英伟达看到了CUDA的巨大潜力,于是不断地完善和优化CUDA的技术和生态。

例如让CUDA支持C、C++、Fortran、Python等多种编程语言,或是提供了针对不同领域和应用优化的库和工具,比如图像处理库、深度学习库、自动驾驶库等等。

这样的优化,为开发者提供了极大的便利,使其不用再学习新的编程语言,或是从头开始编写代码。

国产替代狂奔,中国版英伟达何时现身?解析国内GPU市场

于是,越来越多的人用惯了,用舒服了,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系列产品在通用计算生态上的支持。

国产替代狂奔,中国版英伟达何时现身?解析国内GPU市场

BIRENSUPA软件平台

因为,壁仞科技为了提高BR100系列产品在AI计算方面的性能和能效。也对流处理器进行了一些优化和定制,比如说使用BF16替代FP16作为主要的数据格式,以及增加了一些针对AI的硬件指令和功能。

这样,BR100就可能牺牲了部分通用计算能力,导致其在一些非AI的应用场景和领域上表现不佳或者不兼容。

而这也是为什么,BR100的主要应用场景,大多是复旦大学、清华大学这类高校的人工智能计算和高性能计算项目。

除此之外,BR100系列产品,在算力利用率上也存在着风险。

虽然,BR100的架构是通用的,如果如果壁仞科技愿意,也同样可以将其用于通用类的计算。

但因为BR100的内部算力带宽已经明显超过PCIe和HBM2e的带宽,所以绝大部分数据可能都要在GPU内流转。

这就意味着,虽然BR100的算力很强大,它的数据来源和输出通道,都不够快,不能及时地给它送来或者拿走数据。

而如果一个软件生态主要支持通用处理, 它的GPU芯片往往就需要有足够高的外部带宽,来获取各种类型的数据。

这是因为,不同类型的应用,往往对带宽的需求和敏感度都不同。一些大型的应用,可能需要更高的带宽,才能更好地计算。

最后,也是最具风险的一点,就是虽然壁仞科技宣称,BR100要无缝地支持CUDA生态,但CUDA不是一个开源生态,英伟达在其中埋下了大量专利壁垒。

如果壁仞科技真的打算撬动这块壁垒,则很可能受到英伟达的在专利上的反击。

综上所述,虽然目前在国产GPU突围的道路上,部分厂商已经走出了自己的路,但鉴于硬件、生态等各方面的差距,这样的道路,必定是一条充满荆棘的长路。

本文源自阿尔法工场研究院

相关教程