为什么 GPU 利用率只有30%?揭秘大模型推理系统的真实瓶颈

📅 2026/6/26 7:55:34
为什么 GPU 利用率只有30%?揭秘大模型推理系统的真实瓶颈
网罗开发小红书、快手、视频号同名大家好我是展菲目前在上市企业从事人工智能项目研发管理工作平时热衷于分享各种编程领域的软硬技能知识以及前沿技术包括iOS、前端、Harmony OS、Java、Python等方向。在移动端开发、鸿蒙开发、物联网、嵌入式、云原生、开源等领域有深厚造诣。图书作者《ESP32-C3 物联网工程开发实战》图书作者《SwiftUI 入门进阶与实战》超级个体COC上海社区主理人特约讲师大学讲师谷歌亚马逊分享嘉宾科技博主华为HDE/HDG我的博客内容涵盖广泛主要分享技术教程、Bug解决方案、开发工具使用、前沿科技资讯、产品评测与使用体验。我特别关注云服务产品评测、AI 产品对比、开发板性能测试以及技术报告同时也会提供产品优缺点分析、横向对比并分享技术沙龙与行业大会的参会体验。我的目标是为读者提供有深度、有实用价值的技术洞察与分析。展菲您的前沿技术领航员 大家好我是展菲 全网搜索“展菲”即可纵览我在各大平台的知识足迹。每周定时推送干货满满的技术长文从新兴框架的剖析到运维实战的复盘助您技术进阶之路畅通无阻。文章目录引言一、首先要搞清楚GPU 利用率到底是什么二、训练和推理根本不是同一个世界三、Decode 才是真正的问题PrefillDecode四、真正拖慢 GPU 的其实是 Memory五、KV Cache 正在吞噬 GPU六、Continuous Batching 为什么那么重要七、网络正在成为新的瓶颈八、MoE 又制造了新的麻烦九、为什么 PD 分离突然火了十、真正的答案GPU 利用率低只是表象十一、未来的 GPU 利用率会越来越低总结引言过去两年大模型行业最反常识的一件事情是GPU越来越贵 GPU越来越多 GPU利用率却越来越低很多企业第一次部署大模型时都会发现一个奇怪现象。服务器配置8 × H100理论算力数千 TFLOPS结果监控平台显示GPU Utilization 20% 30% 40%甚至更低很多人第一反应是GPU太强了模型太小了。但实际情况往往恰恰相反很多时候运行的是70B 671B MoE这种超大模型 GPU 明明已经快被塞满了利用率却依然上不去。于是一个问题开始困扰整个 AI Infra 圈为什么价值几十万美金的 GPU绝大部分时间都在摸鱼今天我们就从系统架构角度拆解为什么 GPU 利用率只有30%大模型推理系统真正卡在哪里一、首先要搞清楚GPU 利用率到底是什么很多人看到GPU Utilization 30%会理解成GPU只工作了30%的时间其实不完全正确GPU Utilization 更准确的含义是SMStreaming Multiprocessor 忙碌程度例如H100132个SM如果132个SM全部运行利用率接近100%如果只有40个SM在运行利用率约30%也就是说GPU在线 ≠ GPU满负载很多推理系统的问题恰恰在于GPU一直在线 却没有事情可做二、训练和推理根本不是同一个世界很多开发者从训练转向推理后会非常困惑。训练阶段十分常见是GPU利用率 90%而推理阶段已经算优秀是30% 40% 50%原因在于两者本质不同训练大Batch 连续计算 矩阵运算密集例如Batch 4096GPU一次执行巨型 MatMul 几乎没有空闲时间而推理用户A 用户B 用户C请求随机到达形成小Batch 动态Batch 不连续计算GPU 很难保持满载因此训练优化目标 FLOPS最大化而推理优化目标 吞吐最大化两者完全不同。三、Decode 才是真正的问题很多人以为Attention是推理最慢的部分其实很多场景下不是推理分为两个阶段。Prefill例如用户输入一篇5000字文档系统需要建立KV Cache此时矩阵计算巨大GPU利用率接近100%Decode开始生成Token1 ↓ Token2 ↓ Token3此时每次只生成1个Token问题来了GPU最喜欢超大矩阵而 Decode 阶段变成超小矩阵例如训练矩阵是4096 × 4096Decode矩阵是1 × 4096GPU瞬间吃不饱。于是出现的现象是GPU在线 但没有满载四、真正拖慢 GPU 的其实是 Memory很多人觉得GPU慢 算力不足实际上推理系统经常相反。例如H100 ≈ 1000 TFLOPS计算能力极强但 GPU 需要不断读取Model Weight KV Cache此时问题变成Memory Bandwidth而不是Compute例如生成一个 Token读取权重 ↓ 读取KV ↓ 计算很多时候读取时间 计算时间于是形成的场景是Memory BoundGPU并不是算不动而是在等数据。五、KV Cache 正在吞噬 GPU现代推理系统最大的资源消耗不是参数而是KV Cache例如Llama 70B 32K Context单用户 KV数GB如果1000用户并发显存中同时存在1000份KV于是 GPU需要频繁读取KV 定位KV 管理KV形成Memory IO 地狱此时 GPU 算力利用率持续下降这也是为什么AI推理优化 KV优化几乎成为行业共识。六、Continuous Batching 为什么那么重要假设有三个用户A B C传统推理A执行 ↓ B执行 ↓ C执行GPU 经常等待而 Continuous BatchingA B C 一起执行形成大矩阵GPU终于吃饱于是GPU利用率 30% ↓ 70%甚至更高这也是vLLM SGLang TensorRT-LLM核心优化方向之一因为 GPU 不怕忙最怕闲。七、网络正在成为新的瓶颈单机时代瓶颈是GPU多机时代瓶颈逐渐变成Network例如Tensor ParallelGPU1 GPU2 GPU3 GPU4共同计算每层结束 AllReduce 同步。于是GPU计算5ms 通信3ms甚至开始出现通信5ms 计算3msGPU已经准备好继续计算却必须等待网络同步完成。形成状态GPU Idle因此很多万卡集群真正卡住的不是 GPU。而是InfiniBand八、MoE 又制造了新的麻烦MoE 降低了 FLOPS却增加了通信AllToAll例如Token AExpert 1Token BExpert 82Token CExpert 147Router 需要把 Token 发往不同 GPU形成过程Dispatch ↓ Network ↓ Expert ↓ Network ↓ Gather此时 GPU 大量时间在等待Token Routing于是参数利用率提高 GPU利用率反而下降这也是 MoE 时代新的挑战。九、为什么 PD 分离突然火了推理系统最大的矛盾Prefill ↓ 计算密集而Decode ↓ 访存密集两者特征完全不同传统方式同一GPU同时负责结果互相抢资源PD 分离之后Prefill Cluster ↓ Decode Cluster各自优化。形成高算力GPU 负责Prefill大显存GPU 负责DecodeGPU利用率明显提升这也是最近两年DeepSeek Moonshot 字节 阿里重点投入的方向。十、真正的答案GPU 利用率低只是表象很多企业看到GPU利用率 30%第一反应资源浪费其实未必因为推理系统追求的从来不是GPU Utilization而是TPS TTFT Latency Cost例如两个系统系统AGPU利用率95% 延迟10秒系统BGPU利用率40% 延迟1秒用户一定选择系统B因此 GPU 利用率只是一个指标而不是目标。真正重要的是单位成本产生多少Token十一、未来的 GPU 利用率会越来越低这是一个反直觉结论未来Agent Memory Tool Calling Multi-Agent越来越普及推理流程变成思考 ↓ 搜索 ↓ 工具调用 ↓ 等待结果 ↓ 继续推理此时 GPU 大量时间都在等待外部世界因此未来优化方向可能变成异步执行 任务调度 Runtime优化 推测执行而不只是提高GPU利用率因为未来 AI 系统越来越像操作系统而不是单纯神经网络总结如果用一句话解释为什么 GPU 利用率只有30%答案其实很简单因为大模型推理最大的瓶颈很多时候根本不是计算而是数据、缓存、通信和调度。从工程角度来看GPU 利用率低的核心原因包括Decode阶段矩阵太小 Memory Bandwidth限制 KV Cache访问 Continuous Batch不足 网络通信开销 MoE路由开销 Prefill/Decode资源冲突过去 AI 行业竞争的是谁拥有更多GPU现在竞争的是谁能让GPU少摸鱼而未来竞争的核心可能进一步变成谁能让每一美元GPU成本 产生更多 Intelligence因为在 Agent 时代真正昂贵的已经不再是模型本身。而是GPU、网络、KV Cache 与 Runtime 之间那套复杂的协同系统。