人工智能芯片专家交流20230322

会议纪要 2023-03-24 12:09

Q:GPT4给产业带来的变化?

A:GPT是Transformer模型的延续。第一个火起来的Transformer模型应该是BERT,GPT3和BERT在结构上大概是一样的。Transformer模型核心计算还是矩阵乘,对于里面一些专有的计算pattern,比如multi head attention,经过比较多的优化各个厂商其实做的都还可以,只是在成熟度和灵活性上别的厂商和英伟达还有差距。

GPT3.5和GPT3整体比较类似,参数量和模型结构是一样的。GPT3英伟达做了很多优化,跟之前流行的Transformer模型最大的差别是参数量变大很多,比较好用的是至少得到175B和530B量的参数。因为参数量很大,硬件上对显存要求很高,英伟达A100单卡最大能支持80GB,175B需要8张卡,530B就需要16张或者更多的卡。GPT3之前在推理上对显存的要求是比较低的,现在卡之间互连变得很重要。单机多卡就是卡间互连,英伟达这一块有一个技术NVLink,NVLink做了很多年,比较成熟,NVLink在A100上卡间互连的性能是600GB/s。英伟达在卡间互连的内存插槽有2种,一种是PCIe口,一种是SXM口,PCIe口是一个相对通用的协议,PCIe口相对慢一些,SXM是专门用来做卡间互连的,SXM协议是铺在电路板上,SXM协议做卡间互连会更快,对NVLink原生支持更好,显存带宽比PCIe高一些。PCIe和SXM都可以用NVLink,但是SXM是更好使用NVLink的方法。多机之间的网络就是InfiniBand,InfiniBand是一个RDMA协议的网络,是英伟达几年前收购以色列一家公司做的。在推理上,GPT3主要的开销还是来自卡间互连相对多一些,所以在通信上,卡间互连性能的重要程度大于机器之间的连接。

GPT4的挑战来自参数量大和支持上下文本数量特别长,上下文数量大对推理挑战很大,对软件上的改动比较大,硬件上为了更高效利用硬件,把很多用户请求合并成一个batch,一个batch同时做推理,但是图本数量比较多,做batch还是比较麻烦,因为每个人用GPT4得到的回答长度是不一样的。解决这个问题,现在还没有成熟的方案,但是大致路径一定是通过多机多卡来做复杂的调度策略,来使硬件得到提升。从GPT3到GPT4的趋势还是不会变,一是对显存要求很大,另外多卡之间的通信变得重要。

英伟达今天发布会上针对GPT需求主要还是DGX产品,DGX是把多张卡装在一个机器里面,相当于一个服务器,但提供的服务比服务器更多一些,硬件上可以简单理解是服务器或数据中心的机柜。

Q:一个模型大概的资本开支是多少?GPT4有说法用到2万张GPU,一个GPU 1万美金?

A:推理的角度,8张A100每小时收费20美元左右。530B的模型,如果batch是128,生成回答长度是20,推理一次需要将近5秒。即在5秒的时间里用8张卡可以给128个客户提供服务。

训练的开销比较难估算,网上的说法是更多定制内容添加微start20160903百万美元训练一个GPT3模型。这个成本在hopper卡出来后还会进一步降低,尤其是在功耗方面的成本。

Q:服务器之间的互连,随着数据传输量的增大,对光通信的光模块、光芯片需求的变化?

A:GPT3 175B其实对于多机之间的通信基本没有需求,因为可以在单机8卡完成。530B才需要机器之间的互连,需要关注后续应用的参数量。网络上,如果需要用到多机,这部分肯定会有增加,但是不是很了解会不会用到光芯片。

Q:1机8卡显存需求很大,服务器中的内存需求?

A:服务器里的内存需求有,但是相对较小,目前是足够的。主机端的内存可以理解为一个缓冲区,多次从缓冲区读,把数据放到各个显存。现在的服务器主机至少有100G,也不是同时hold 8张卡全部数据。

主要是显存的增加,主机端CPU的内存似乎没有增加的必要。

Q:SXM协议放在电路板上在物理上怎么实现?

A:物理上就是把几张卡放到电路板弄到服务器里,跟PCIe看起来长的不一样,更像是一个大电路板上嵌好几张芯片。

Q:就是把几张卡插得很近,在物理上信号干扰降低?

A:可以这样理解,在硬件上的存在形式就更有利于通信。PCIe是之前业界主流的方式,SXM更合适显卡和多机互连的协议。

Q:为啥需要一个特殊的电路板?

A:看起来是需要的,一般在服务器端用。

Q:还需要什么中间芯片吗?

A:中间有一个NV switch之类的东西来负责。

Q:这个路由芯片是英伟达自己做的吗?

A:是自己做的。

Q:模型在推理端算力的需求跟什么挂钩?参数数量还是输入字数挂钩?

A:这两个都挂钩。参数的数量指的是需要同时把参数放在显存里,所以显存的数量是直接跟参数挂钩的,一方面需要在显存里hold住这些参数,另一方面在运算过程中也要缓存来存储中间计算的结果(这部分显存需求跟生成的句子长度有关系,生产句子长度越长,中间过程显存消耗越大)。现在80GB,参数里用60+GB,剩下10+GB作为存放中间过程。

Q:算力跟输出字数有关,还是跟输入字数有关?

A:都有关。第一阶段是把输入字数输进去,然后会是把字一个一个吐出来,这两个阶段前后进行。

Q:可以简单理解跟字数线性相关吗?

A:可以这么理解。

Q:国内超算中心的供需情况?

A:供需不了解。

Q:A100的算力是9.7TFLOPS,最后输出效率是不是只有20%-30%?

A:最后的计算占用比很大程度上取决于软件优化程度,按照现在软件优化程度,峰值可以达到40%-70%。如果直接用英伟达推理框架,就跟英伟达的挂钩。

现在性能更大瓶颈还是在缓存这一步。

Q:如果是图片,算力需求是不是会放大很多倍?

A:不太会。图片会序列化成一个东西。如果是做stable diffusion那类模型,算力要求也还挺高,不过那就是另类的模型。

Q:一机多卡,对高速互连PCB板带来的价值量有多大变化?

A:不太了解。

Q:文生图是用图片映射的方式去做,映射本身不太需要太多算力?

A:个人理解是这样,映射说的是图生文。

Q:图生文对算力消耗是不是大很多?

A:映射说的是图生文。如果是文生图,那就是stable diffusion那类模型,stable diffusion对算力还挺大的。文生图第一步是把文字处理成图痕,这部分占比还比较小,变成图痕后会进行很多轮反向降噪变成图片,这部分消耗比较大。

Q:图生文会比较小,文生图会比较大?

A:对。图生文本质上和用类似NLP结构的网络做图像识别的逻辑和原理差不多,第一步需求是不高的。

Q:文生视频的算力消耗?

A:可能比文生图算力要求更高,应该要一帧一帧生成。如果是视频转文,可能要看视频的帧数和大小。

Q:算力消耗跟帧数正比关系?

A:应该是这样。

Q:文生图降噪比较消耗算力?

A:是。

Q:这一块算力消耗是不是也是跟像素数直接相关?

A:对。

Q:微软copilot里面的一些功能,算力跟之前的问答相比有特别明显增加吗?

A:算力应该是一样的,都是根据GPT3.5做的。桌面端可能比较难做,桌面的显卡比较难做出来,如果效果比较好可能还是走的云端推理。

Q:前面提到AI算力提升对显存提升,是对集成在显卡的显存,还是对服务器本身内存有要求?

A:集成在显卡的显存。

Q:对服务器本身内存有没有增加?

A:基本没有增加,对host端内存没有太大需求。

Q:国内做AI算力芯片的现状?

A:国内的AI厂商最开始大部分想打的是英伟达推理的卡(A100训练,A10推理),推理的卡在ChatGPT火之前,对显存的需求是比较低的。看一家公司只需要看显卡的显存,如果是16GB,基本是打推理的卡,如果更大的40GB以上的是做训练的卡。大部分厂商基本主打推理的卡,打英伟达的A10,同样的性能实现更低功耗。GPT火了之后,对显存需求变大,国内之前专门打推理的卡可能连GPT3的推理都跑不了,这对国内厂商有比较大的挑战。国内在计算上很容易达到英伟达,但在显存上一直还有些差距。

通信方面,有几家厂商还是有卡间互连的协议,但是带宽比英伟达小不少。燧原的协议带宽是200GB/s,英伟达A100是600GB/s,600GB/s不会成为通信的瓶颈,但200GB/s会不会成为通信瓶颈很难说。英伟达阉割版A800(400GB/s)对国内厂商还是有优势。

和英伟达的差距其实是在软件层面。软件的成熟度和优化程度、可靠性、应用差距比较大。GPT3了之后对软件生态的挑战很大,即使英伟达也需要继续完善。

Q:国内燧原、寒武纪、海光跟英伟达的差距?用什么指标对比?

A:GPT3火起来之前,跟英伟达硬件参数没有明显差距,差距主要在软件生态。如果一定要从硬件指标去看,这个领域最权威的性能测试是MLPerf,英伟达在绝大部分项目还是处于比较统治的地位,国内厂商好像只有壁仞在去年交了1版MLPerf,有几个方面超过英伟达,但总体上还是英伟达领先。

GPT3之后,可以更多关注显存大小和卡间通信的带宽。他们在算力上一直都很优秀。

Q:国内厂商未来的卡间通信会怎么做?自研协议还是用通用协议?

A:燧原CCIX协议,是开源协议,燧原体量小,在行业内话语权小,应该会拥抱开源协议。华为、百度体量相对大,不排除会做自己的协议。

Q:国内显存怎么做?怎么解决显存供应问题、封装问题?

A:不太了解,英伟达显存是买的。

Q:推理模型,比如针对ChatGPT这种大参数模型,GPU和ASIC各自的优势怎么看?推理的市场,后续是给到GPU,还是ASIC?

A:英伟达很长一段时间一直坚持希望用统一硬件来同时支持Deep Learning和图像需求。英伟达在H100开始分叉,计算卡和图像卡是分叉的,技术路径上也在往ASIC上走。国内最开始也希望通过ASIC来达到能耗更低的好处,后来元宇宙火了后,对一张卡既有图像的需求,也有深度学习的需求。GPU和ASIC之间的界限,现在已经越来越不明显了。GPT在服务端会越来越往ASIC发展,但还有一些别的需求,比如L40,也要支持图形的需求。不一定要明显分开GPU、ASIC,要做背后逻辑看演变。

Q:如果参数数量定下来了,针对参数做优化,ASIC显然是比GPU更好的,这个事情从哪儿定下来会更多?

A:如果Transformer一统天下的大形势不变,那会有一些专门的卡。另外一条线路是面向更通用的计算,满足图像的需求。

Q:现在好像有一种说法Pytorch是开源的,也可以不基于CUDA做驱动,会对CUDA的生态有冲击吗?

A:冲击肯定会有,但是难度比较大,Pytorch是一个比较开放的生态,开源只是在功能层面,如果想要在性能层面优化,就必须要从CUDA接管。另一方面,英伟达和Pytorch生态融合已经很多年了,训练好的模型导到推理的模型,这个路径英伟达的生态就打磨了很久。

Q:评价一下AMD未来MI300也做了一套类似CUDA,AMD在算力底层上的水平怎么样?

A:1)AMD在硬件层面已经做的很好了,硬件上跟英伟达不会有很大的差距。2)AMD在CPU生态上还是有优势,AMD类似CUDA的软件生态也有,只是用户使用量没有英伟达那么多,成熟度有差距。3)在更高的应用层和英伟达也有差距,英伟达在应用层也发力很多。

Q:AMD支持的软件和英伟达的差距是越来越大,还是将来会有一定市场份额?

A:很难说,取决于AMD怎么找到越来越多用户用、形成正循环的突破口。

Q:Transformer现在一统天下,未来还有什么维度会有更高级的模型?

A:一统天下最开始是在NLP提出来,现在在视觉效果也很好。效果很好的原因大概是里面的连接做的非常充分,一些做算法的认为现在很难设计出一种表达力更强的模型。未来的发展除了表达力更强外,可能还可以在保证能力的前提下,变得更高效。

Q:百度的文心一言和ChatGPT的差距是因为底层算法还是数据量的问题?

A:一个是训练语料的问题,中文训练语料质量比如英文语料库。另一个是强化学习上,OpenAI积累了更长的时间。模型的基本结构应该是一样的。

这部分差距,只要国内公司加大投入,在算法上达到GPT3的水平还是很乐观,但是能不能达到GPT4的能力还是有疑问,从3.5到4还是很惊人。

Q:A800会影响国内厂商向OpenAI靠近的速度吗?

A:英伟达阉割程度不大,从ChatGPT这一代模型来看是够用的,GPT4可能勉强还可以,后面更新一代模型的算力能不能保证还不好说。大型语言模型之前是每一代参数翻一倍。

Q:国内厂商流片制程保证上还有追上英伟达的希望吗?

A:据我所知,他们现在还能流片,但是流片渠道能否持续还不确定。

Q:国内做推理硬件的ASIC有水平吗?

A:从成熟度来看,百度的优势是软件生态做了很久,硬件目前是燧原做的比较好,汽车端可能比服务器机会大一点,地平线做的都还可以。

Q:文心一言的硬件除了英伟达的还有用谁的?

A:百度自己有昆仑芯,别的不了解。