前几天,博通宣布将与OpenAI 合作开发ASIC芯片,英伟达股价应声下跌。然后,英伟达放出正在研发的专用推理GPU芯片Rubin CPX,股价有所回升。
好久没码技术长文了,今天码一篇聊一下大模型推理的优化,以及为什么需要Rubin CPX。
大模型推理通常分为两个阶段:预填充(prefill)阶段和解码(decode)阶段。预填充阶段负责对输入上下文进行处理,生成第一个token,这一阶段对计算要求极高。解码阶段用于逐步生成后续的token,瓶颈在于内存带宽,需要高效的内存与互联来提升生成与输出性能。
传统的LLM推理往往将预填充和解码都放在同一个GPU或节点上执行。由于两个阶段对资源的需求差异明显,阻碍了性能与效率的优化,无法充分发挥GPU的潜力(图1)。
具体讲,预填充阶段是计算密集型,而解码阶段是内存带宽受限型,把它们放在同一GPU上,尤其在输入序列较长时,会导致资源利用率低下。同时,每个阶段不同的硬件需求也限制了模型并行的灵活性,不能进一步优化性能。
为了解决上述问题,业界提出了所谓“解耦式推理”(disaggregated serving):将预填充和解码阶段分配到不同的GPU或节点上,分别进行优化,并采用灵活的并行策略,为各阶段分配更合适的GPU资源(图2)。
比如,英伟达的Dynamo会根据两个阶段的动态资源需求,自动调整分配给它们的GPU数量,从而提升整体资源利用率与性能。但这种优化方式在两个阶段依旧是使用同一类型的GPU。
此次英伟达推出的Rubin CPX专用GPU,特别针对推理时的海量数据输入场景(如视频数据),专门优化预填充阶段的上下文处理计算性能和效率。
由于预填充阶段瓶颈在计算,内存只要用DDR7,而无需昂贵的HBM内存,在优化计算的同时还可以节省成本。
传统的Rubin GPU则继续负责解码与token生成。在这个阶段,并行性、内存带宽和数据交换性能至关重要。
这样,通过预填充和解码分别使用不同类型的GPU,可以让大模型推理的性能、效率和成本得到进一步优化和提升(图3)。
参考
1. http://t.cn/AXPsEGFv
2. http://t.cn/AXPrEQQ3
#大模型##人工智能推理优化##英伟达推理芯片#
