GPT4 给产业带来的变化 ?
GPT 是 Transformer 模型的延续。第一个火起来的 Transformer 模型应该是 BERT,GPT3 和 BERT 在结构上大概是一样的。
Transformer 模型核心计算还是矩阵乘,对于里面一些专有的计算 pattern, 比如 multiheadattention,经过比较多的优化各个厂商其实做的都还可以,只是在成熟度和灵活性上别的厂商和英伟达还有差距 GPT3.5 和 GPT3 整体比较类似,参数量和模型结构是一样的。
GPT3 英伟达做了很多优化,跟之前流行的 Transformer 模型最大的差别是参数量变大很多,比较好用的是至少得到 175B 和 530B 量的参数因为参数量很大,硬件上对显存要求很高,英伟达 A100 单卡最大能支持 80GB175B 需要 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 的方法多机之间的网络就是 InfiniBandInfiniBand 是一个 RDMA 协议的网络,是英伟达几年前收购以色列一家公司做的。
在推理上,GPT3 主要的开销还是来自卡间互连相对多一些所以在通信上,卡间互连性能的重要程度大于机器之间的连接 GPT4 的挑战来自参数量大和支持上下文本数量特别长,上下文数量大对推理挑战很大,对软件上的改动比较大,硬件上为了更高效利用硬件,把很多用户请求合并成一个 batch,一个 batch 同时做推理,但是图本数量比较多,做 batch 还是比较麻烦,因为每个人用 GPT4 得到的回答长度是不一样的。
解决这个问题,现在还没有成熟的方案,但是大致路径一定是通过多机多卡来做复杂的调度策略,来使硬件得到提升。从 GPT3 到 GPT4 的趋势还是不会变,一是对显存要求很大,另外多卡之间的通信变得重要。
英伟达发布会上针对 GPT 需求主要还是 DGX 产品,DGX 是把多张卡装在一个机器里面,相当于一个服务器但提供的服务比服务器更多一些 硬件上可以简单理解是服务器或数据中心的机柜。
一个模型大概的资本开支是多少?GPT4 有说法用到 2 万张 GPU 一个 GPU1 万美金?
推理的角度,8 张 A100 每小时收费 20 美元左右。530B 的模型,如果 batch 是 128,生成回答长度是 20,推理一次需要将近 5 秒。即在 5 秒的时间里用 8 张卡可以给 128 个客户提供服务训练的开销比较难估算,网上的说法是更多定制内容添加微 start20160903 百万美元训练一个 GPT3 模型。这个成本在 hopper 卡出来后还会进一步降低,尤其是在功耗方面的成本
服务器之间的互连,随着数据传输量的增大,对光通信的光模块、光芯片需求的变化 ?
GPT3175B 其实对于多机之间的通信基本没有需求,因为可以在单机 8 卡完成。530B 才需要机器之间的互连需要关注后续应用的参数量网络上,如果需要用到多机,这部分肯定会有增加,但是不是很了解会不会用到光芯片。
1 机 8 卡显存需求很大,服务器中的内存需求?
服务器里的内存需求有,但是相对较小,目前是足够的。主机端的内存可以理解为一个缓冲区,多次从缓冲区读,把数据放到各个显存。现在的服务器主机至少有 100G,也不是同时 hold 8 张卡全部数据主要是显存的增加,主机端 CPU 的内存似乎没有增加的必要
SXM 协议放在电路板上在物理上怎么实现?
物理上就是把几张卡放到电路板弄到服务器里,跟 PCIe 看起来长的不一样,更像是一个大电路板上嵌好几张芯片
就是把几张卡插得很近,在物理上信号干扰降低?
可以这样理解,在硬件上的存在形式就更有利于通信。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%。如果直接用英伟达推理框架,就跟英伟达的挂钩。
现在性能更大瓶颈还是在缓存这一步。
如果是图片,算力需求是不是会放大很多倍?A: 不太会。图片会序列化成一个东西。如果是做 stable diffusion 那类模型,算力要求也还挺高,不过那就是另类的模型
Q: 一机多卡,对高速互连 PCB 板带来的价值量有多大变化 ?
A: 不太了解。
Q: 文生图是用图片映射的方式去做,映射本身不太需要太多算力?A: 个人理解是这样,映射说的是图生文。
Q: 图生文对算力消耗是不是大很多?
A: 映射说的是图生文。如果是文生图,那就是 stable diffusion 那类模型,stable diffusion 对算力还挺大的。文生图第一步是把文字处理成图痕,这部分占比还比较小,变成图痕后会进行很多轮反向降噪变成图片,这部分消耗比较大。
购买专栏解锁剩余 50%
举报 / 反馈
原文链接:https://baijiahao.baidu.com/s?id=1761154493961815836&wfr=spider&for=pc