窥见未来:英伟达AI推理的前进之路

在英伟达,负责引导研究朝着应用、而非纯学术项目前进的,是斯坦福大学计算机科学与电气工程兼职教授,公司首席科学家、高级研究副总裁以及GPU、网络与CPU芯片设计师Bill Dally。

窥见未来:英伟达AI推理的前进之路

最好的研究方式,在于测试新想法并依托于实际产品达成应用创新。与之对应,我们需要以敏锐的眼光区分出科学项目——这些项目虽然有趣,但却可能毫无现实价值可言。

在英伟达,负责引导研究朝着应用、而非纯学术项目前进的,是斯坦福大学计算机科学与电气工程兼职教授,公司首席科学家、高级研究副总裁以及GPU、网络与CPU芯片设计师Bill Dally。

在每一次GPU技术会议上,Dally都会介绍英伟达正在进行的一系列精巧研究。2023年的春季GTC上,他再次登台,在演讲中讲解了自动驾驶汽车、3D图像生成乃至视觉transformer模型等终端案例。但对于关注数据中心议题的朋友来说,这些似乎意义有限,直到Dally谈到英伟达研究院正在推进的机器学习推理硬件。

Dally披露了英伟达研究院的组织形式,这里拥有300多名思考宏大议题的博士。Dally解释道,该团队分为“供应方”与“需求方”,前者创造了能够改善GPU的技术,而后者负责提出越来越广泛的应用场景,引导企业购买更多GPU加速器。供应方承担着电路与芯片设计、芯片工艺和制造、芯片架构、GPU及其他元件间的互连网络、GPU编程环境以及支撑起这一切的存储系统等。而需求方则在多伦多、特拉维夫和台北设有AI实验室,并在英伟达总部内部署着图形与自动驾驶研究团队。

每隔一段时间,英伟达会成立一支“登月”小组。成员是从供需研究方中抽调出来的,需要跟日常工程师们合作建立新的项目,比如把全部现有技术整合起来。2017年5月推出的“Volta”GPU就是由此而来,2018年在游戏领域首度亮相于“Turing”GPU的光线追踪RT核心是这样,同年9月推出的T4加速器也是。

时不时,英伟达研究院就能从实验室中推出一些精巧的成果,贴上产品名称和编号并快速投放市场。比方说,cuDNN分布式神经网络就是英伟达研究院在阅读了谷歌于2011年12月发表的关于无监督学习的开创性论文之后开发出来的。这篇论文使用包含16000个核心的1000台机器构成的集群,成功识别出了互联网图片中的猫。利用这项基础技术,英伟达当时成功在区区48个GPU上重现并加速了这项工作。这项研究随后在NVSwitch上实现了快速产品化,这是一种类似于NUMA的内存互连,最终在Volta GPU问世的一年之后将16个这样的GPU互连成了一个巨大的虚拟GPU。

我们强烈怀疑同样的情况会出现在两项新技术身上,分别是VS-Quant和Octav。英伟达研究院已经将其引入用于AI推理的测试芯片当中,Dally也对此做出了详细解释。

在深入探讨这些问题之前,Dally先以十年为期就“Kepler”和“Hopper”GPU世代之间的推理性能改进、混合精度、越来越复杂的指令和芯片制程在此期间达成的千倍推理性能提升做了概括:

窥见未来:英伟达AI推理的前进之路

在这1000倍的性能提升中,只有约2.5倍来自制程工艺本身和时钟速率提升,其余400倍来自复杂的指令、架构和不断下降的精度。其中精度从FP32降至FP8贡献了4倍性能,所以说有整整100倍的性能改进来自架构研究。

在完成这一系列壮举之后,英伟达已经让Hopper芯片的效率达到每瓦10 teraops。但在使用VS-Quant和Octav技术之后,测试芯片的性能又提升了10倍,每瓦接近100 teraops。

Dally解释道,“我们长期以来的奋斗目标,就是研究如何才能做得更好。其中一种办法是尝试继续从数字表示中挖掘潜力。但如果我们单纯从INT8转向INT4,甚至从FP8到FP4,就需要同时牺牲掉一些东西——我们的准确率会急剧下降。因此,我们必须更聪明地探索如何做量化取舍,如何稳定可靠地从高精度数字表示转向低精度数字表示。”

下面来看VS-Quant——全称为“每向量缩放量化”技术的具体原理:

窥见未来:英伟达AI推理的前进之路

VS-Quant的核心是实现更严格的量化,将原始FP32数据通过量化转化为INT4或者FP4格式,类似于图像处理领域的像素化过程。在以上图表中,FP32数据被向下转换为INT4格式,而不再采用完整的FP32数据分布。其中颁的高点和低点被切断,只保留中心部分。从两条钟形曲线中可以看到,使用VS-Quant的那条信噪比明显更低,就是说在实际使用时,其结果的准确性类似于使用INT8和原生FP32格式。(当然,具体过程要困难得多。)每个64元素输入向量都有一个比例因数,而每个输入矩阵又有第二个比例因数。VS-Quant电路将其相乘,并通过神奇的技术将其量化为INT4。如上图右下的条形图所示,Dally称真实的INT4数据会令精度“断崖式下跌”,但VS-Quant量化处理后的INT4却能在BERT-Base模型上提供与FP32和INT8相当的精度。

这代表着2倍的性能提升,即每瓦20 teraops。而接下来的5倍提升,是通过Octav(即最优裁剪的张量与向量)实现的:

窥见未来:英伟达AI推理的前进之路

通过Octav,我们无需收紧向量范围、再通过电路中的时髦数学运算对其做量化;相反,我们可以直接裁剪掉向量的高端与低端,之后再做量化。如上图所示,在利用Octav处理INT4数据时,各类图像处理神经网络在BERT模型上表现出的精度与原始INT4基本相同。

Dally对此做出了解释。

“我们对噪声做了裁剪,因为这里没有准确表示这些异常权重,但这些权重并不多。我们将其与量化噪声做了权衡,成功将量化噪声大大降低。事实证明,我们可以将其视为一个优化问题,如果目标是权重均方误差的最小化表示,那我们要做的就是为裁剪缩放器找到应该使用的值。假定我们将权重分配为3.5——以3.5作为裁剪比例,代表着不对噪声对裁剪和大规模量化。之后,在向下移动裁剪缩放器时——注意,不是丢弃某些大权重,而是将其四舍五入——裁剪缩放器的权衡过程基本上就是在减少量化、更多裁剪噪声,确保二者大致相等,这时候就达到了表示错误最小化。之后,如果我们尝试继续向下裁剪,那么裁剪噪声和量化噪声会随着大量权重被裁剪而迅速上升。”

向量剪裁的具体位置需要大量计算,但可以使用迭代Newton Raphson方法来估计均方误差,这样可以显著节约计算开销。Octav电路可以执行这种迭代计算以得出最佳裁剪标量。上表所示的性能数字(实现8倍的整体性能提升,且精度基本相同)为Octav剪裁标量处理后的结果。

为了测试这些思路,Dally和他的团队将VS-Quant和Octav放在名为Magnetic BERT的测试芯片上,其基本概念如下:

窥见未来:英伟达AI推理的前进之路

Magnetic BERT芯片采用台积电公司的5纳米制程工艺,芯片面积仅为0.153平方毫米,每个周期能够执行1024次4位乘法累加(MAC),频率范围从152 MHz至1.76 GHz。对于50%密度的4-bit输入矩阵,Magnetic BERT芯片可实现每瓦95.6 teraops。

很多朋友可能好奇,在同时运行VS-Quant和Octav的情况下,性能本该达到Hopper每瓦10 teraops的16倍,为什么这里只达到不足10倍?我们也不确定具体原因,恐怕是因为VS-Quant和Octav在剪裁和量化方面的相互影响干扰到了性能优化效果。

来源:至顶网计算频道

0赞

好文章,需要你的鼓励

2023

04/03

11:12

分享

点赞

邮件订阅