开发者生态
morning
标准 GPU 上的实时 LLM 推理:每个请求 3k 令牌/秒
2026-05-29
1 阅读
NicoConstant
TL;DR:我们证明,在通过架构/引擎/内核协同设计优化整个软件堆栈时,GPU 上的人工智能推理可以超快,达到专用推理硬件卡的速度范围。在我们的实时编码游乐场中测试速度:playground.kog.ai。这篇文章解释了为什么优化单请求 LLM 解码速度对于 AI 代理很重要;为什么它主要是一个内存带宽最大化问题,而不是 FLOPS 问题;为什么标准数据中心 GPU 硬件由于软件瓶颈而具有比当前推理堆栈高得多的解码速度上限;以及如何通过将模型架构、运行时和低级 GPU 代码共同设计为单个延迟优化管道来达到这一上限(即使在大型 MoE 模型上)。我们的公开技术预览是为了证明极快的单请求解码在企业已经拥有的标准数据中心 GPU 上是可能的——包括人工智能实验室和主权人工智能买家。限制因素是现有的推理软件堆栈并未针对此类工作负载进行优化。开放 GPU 路径可以在不锁定专有芯片的情况下提供这种速度。今天您可以测试我们的 2B 编码模型的速度。它很小而且不是前沿模型(我们一直关注速度而不是规模),但在针对特定软件工程任务进行微调时仍然非常有能力。自主代理的变化:单请求解码速度现在是重要的指标推理基准通常会合并三个量。总吞吐量(所有用户每秒生成的总代币)衡量服务器利用率并奖励大批量。第一个令牌的时间衡量预填充延迟。每个请求的解码速度衡量令牌生成速度,并定义用户在收到完整响应之前等待的时间。最后一个控制着每一次长时间的串行交互,这也是人工智能代理的瓶颈所在。代理软件工程是一个顺序循环:检查、计划、编辑、测试、修订。每一步都取决于前一步。工具时间有时占主导地位,因为必须运行测试并加载网页,但生成密集的步骤(规划、代码编写、跟踪分析、调试、重构)决定了循环速率。推理标记在上面复合。这些数字直接转化为产品和用户体验。如果代理需要在工作流程中生成 50,000 个令牌,则 100 个令牌/秒大约需要 8 分钟; 3,000 个令牌/秒不到 20 秒。这种差异改变了可以制造的产品。随着智能体变得更加自主,生产力前沿从单纯的智能转向智能×迭代速度。最好的代理将在相同的预算内生成更多有用的令牌、进行更多推理并执行更多工具调用、测试和修订。这就是为什么 Kog 首先优化单请求延迟,以及为什么此预览以批量大小 1 运行。大批量确实很重要,我们将在生产中支持它们,但它们回答了不同的问题。但是什么限制了 GPU 的解码速度呢?内存带宽是快速令牌生成的主要瓶颈(GPU 节点有足够的内存带宽)在批量大小为 1 时,自回归解码主要由矩阵向量工作主导。对于每个生成的令牌,模型的所有活动权重必须通过 GPU 内部的内存层次结构从 HBM 移动到计算处理器。因此,一阶界限为: tokens/s ≤ effective_memory_bandwidth / (β × active_weight_bytes + KV cache),其中当重新加载图块或缓存重用不完善时,β 可能大于 1。关键事实是低批量解码的算术强度非常低。在 FP16 中,模型权重占用两个字节,并贡献大约一次乘加(两次 FLOP),约为 1 FLOP/字节。 FP8 将其提升至约 2 FLOPs/字节; FP4 至 ~4。然而,现代 AI GPU 的 HBM 带宽每字节会出现数百次峰值 FLOP。例如,NVIDIA 的 H200 声称峰值平衡约为 400 FLOPs/字节。因此,令牌生成速度在受到 FLOPS 限制之前先受到内存带宽的限制。这就是为什么内存带宽利用率 (MBU) 是单请求速度的中心指标,而不是模型触发器利用率 (MFU)。仍然可以通过将多个请求一起批处理来改进 MFU,但这可能会增加每个用户体验到的延迟,因为更多的 KV 缓存数据需要在 GPU 内传输。对于批量大小为 1 的解码,更多的内存带宽等于每秒生成的令牌更多。好消息是 GPU 的内存带宽已经非常高了。 8× NVIDIA H200 节点可提供大约 30.7 TB/s 的有效聚合内存带宽(以每个 GPU 4.8 TB/s 理论带宽的 80% 作为实际上限)。 8× AMD MI300X 节点实际上可达到约 33.6 TB/s(假设每个 GPU 可实现 4.2 TB/s)。我们以 FP16 中的 2B 参数密集模型为例。它有大约 4 GB 的活动权重,因此如果单独的权重可以完美地流式传输(忽略 KV 缓存流量和 Pot