我们可以看到,Pascal架构第一次引入了FP16。以前我们做HPC的时代,FP64的数值精度都是必备的,对于算法结果是很重要的一个保障。到了深度学习、机器学习时代,大家发现FP32就能搞定这个问题,省下很多算力。
再进一步,是不是有更低的数值精度把这个问题解决好?FP16的引入,在P100的架构构成机器上,开创了混合精度时代,再往后到加深了混合精度,到Ampere、Hopper架构引入更多新的数值格式,到Hopper上引入FP8,即将会迎来围绕着FP8的混合精度训练时代。
从ResNet到RNN,从卷积神经网络到Transformer,核心结构都是计算重心在矩阵乘法上,非常直接的一个加速方法或者把算力提上去的方法,就是加速这个矩阵乘法,专门做矩阵计算加速的Tensor Core。过去十年的算力演进,每年相比上一年翻一番,过去十年累计起来可以看到,已经提升了1000倍算力提升。
整个硬件的演进不仅仅把算力通过工艺堆叠起来,也通过不断的创新去找到AI算力需求点,去进行额外的探索工作。
二、引入NVLink、NVSwitch等技术,让多卡并肩作战一张卡可以认为是单打独斗的人,非常有力量。大模型时代不可能由一张显卡来解决问题,它的问题规模是原来的一万倍、一百万倍,甚至未来更大数量级的提升,我们必须用更多的显卡、更多有力量的个体组成协作节点和集群。
怎么互相协作?
NVLink和NVSwitch是点对点的连接器件,把GPU之间连接起来,高速互联,不再需要走PCIe受限于带宽做信息共享。
NVLink系统已经演进到第四代,本质差异是带宽增加。在Volta架构引入第一代NVSwitch,由16卡构成的单节点机器,到Ampere和Hopper,现在市场上主流的是这样一些通过NVSwitch构建出来的节点。
NVSwitch就是一个Switch,进行点对点的全速互联,使得这么多非常强的个体能够高效地合到一起,一起做一件事情,机器内节点的演进和思考。
如果说这个问题的规模变得越来越大,比如现在OpenAI做ChatGPT,可能需要上万张显卡一起来做,意味着有几千个节点,这些节点同样需要硬件的连接设备,使得我们有足够的信息交流渠道,让它们以高效一致的步伐来做协作。
引入机器间的网络互联,以交换机和网卡构建出来以IB网络构建的数据中心集群,对于这个问题的解决是至关重要的。
你的节点内问题解决得很好,节点间大家又存在一些带宽的限制,使得它不能高效合作起来,算力就会被浪费。NVIDIA在硬件、底层系统架构设计上过去几年不断演进思考和设计,这才使大家现在能看到基于A800系统赋能快速把大语言模型做出来。
除了底层硬件,NVIDIA在软件生态上花了很多的功夫,自2006年引入CUDA,在生态中构建了很多软件。
底层的硬件作为一个底座,如果要支持上层做得更好,还需要用各种各样的软件。过去这么多年,围绕CUDA的生态解决了各种各样的问题。比如我们帮台积电解决在芯片设计生产领域的计算加速问题。
类似这样的工作非常多,构成了软件层的核心部分。
三、基于NeMo Framework,GPT-3训练算力有效性能超50%再到上层,今天大家可能聚焦的NeMo,专门针对解决大模型以及其它训练的问题。
前面大家都提到了做一个GPT-3的训练大概要多少资源。我们拿一千张A800的卡做一个评估,有一个简单的公式,需要消耗的时间等于你做这个大模型,比如GPT-3标准结构,要的FLOPS是多少,通过理论方式可以算出来。
同时除以硬件的FLOPS乘以它的有效性,硬件真正发挥出来的FLOPS,等于你做完这个问题到底要花多少时间。前面都是定的,比如我有一个参考,GPT-3这样的结构去过300 billon tokens的数据,假设给你128台A800机器组建的集群,用FP16做训练的话,单卡的FLOPS是312TFLOPS,总共有128个节点,算出来这些是定的FLOPS。
大家做各种各样的软件设计去实现更快的训练收敛效率,非常核心的因素在于这个“50%”。NVIDIA在NeMo Framework上175B的规模在128台机器上超过50%。各路业内大拿都在用各样各样的方法,都是围绕这50%做得更高,这也成为一个持续的话题。
基于这个值,128台机器需要24天左右的时间完成300 billon tokens的数据训练175B的模型,这个可以跟大家看到的1000张卡一个月左右的时间对上。
考虑到前面的硬件结构设计,机器内通过NVSwitch互联,互联带宽非常强,可以把需要更多的带宽通信的并行模式放到节点内。通过这样的技术再结合ZeRO1等技术可以实现前面提到的50% 的效率,这是非常好的效果。
NVIDIA推理方面在过去几年跟国内各行各业都有非常紧密的合作,在这个过程当中不断地积累,有一套Fast Transformer,对于部署场景提供更高的吞吐以及Latency的平衡,有时候在GPU的硬件设备上为了拿到更大的吞吐可能要组Batch,这是常见的部署方法。
此外,为了加速企业的大模型规模化部署,NeMo Framework还提供了基于FasterTransformer和Triton整合的一体化大模型方案。
四、总结:NVIDIA全栈赋能LLM的前沿研究和规模化部署总结一下前面讲的,从2016年Pascal架构到现在Hopper架构马上要开始部署了,每代显卡针对当时甚至未来AI的模型可能出现什么结构做前沿的创新,这些创新落实到现在能看到的训练脚本里面,甚至是一些框架里面。
由这些非常强的个体本身的算力演进来提升1000倍算力,由超强的个体再组成节点集群,这里面都有NVIDIA非常多的思考,有着每一代技术的演进,才能构成超强的计算集群,来为大模型时代提供非常好的基础架构设施参考。
下一步,围绕硬件以外的软件生态,NVIDIA构建出全栈的、能够直接最终给到大家开箱即用的一系列加速软件方案,帮助大家在接下来的大模型时代能有更快的速度,推出用时间、空间来赢得在市场上地位的软硬件一体化方案。
这就是我的分享,也是过去跟行业内各个客户,真实把这些技术结合硬件、软件、生态落地之后的一些思考。
谢谢大家,我的分享就到这里。
以上是徐添豪演讲内容的完整整理。
相关文章
猜你喜欢