ai产业链
AI 推理的成本战:一张 GPU 到底能完成多少工作?
信源:Harshul Jain(Audible)、Tanmay Sah(Zions Bancorporation)《Deep dive on LLM Inference at Scale》 2026 年 6 月 29 日
一款 70 亿参数模型可以装进 GPU,却未必能经济地服务几十个用户。这场工作坊用 Mistral 7B 展示了原因:模型权重之外,每段正在进行的对话,还需要保存随上下文增长的中间状态。按其 32 层、8 个 KV 头、每头 128 维、16 位缓存计算,每个 token 占用 128 KiB;若完整保留 4096 个 token,每个请求约需 0.5 GiB,80 个不共享缓存的并发请求就是 40 GiB。这里还没计入模型权重和运行开销。这是按模型配置推导的容量示例,不能继续忽略滑动窗口等条件向外线性推算。
这个例子点出了规模化推理的核心:装得下模型,只是服务能力的起点。能否在质量和响应时间达标的前提下,把硬件转化为更多完成的任务,才决定成本。 推理开销会随用户、调用轮次和生成长度持续发生,微小的单次浪费也可能被放大。两位讲者讨论的量化、注意力机制、缓存和推理引擎,都在回答同一个问题:哪些计算必须做,哪些结果可以保留,哪些数据搬运可以省掉?
先看推理过程。Prefill 是读取提示词、建立上下文状态的阶段,大量输入可以并行处理,通常更容易受计算能力限制。Decode 则逐个生成新 token,在低批量场景下,往往要为相对少量的计算读取大量权重和历史状态,更容易受显存带宽限制。所以,增加峰值算力,并不保证生成速度同比例提高。批量大小、上下文长度和模型结构变化后,瓶颈也会变化,不能把“推理受带宽限制”当成覆盖所有场景的定律。
KV cache 就是保存历史 token 在注意力层中的键和值,供后续生成复用。它省掉重复计算,却引入持续的显存占用,而且生成新 token 时仍需要访问相关历史状态。生产系统通常已经使用这种机制,实际挑战是高效保存、读取和调度这些状态。用户感受到的首 token 等待时间,还包含排队等开销,计算之外的系统组织同样影响体验。
显存容量和带宽由此形成联动:容量越充裕,通常越能容纳更多并发请求;批处理又可以让多个请求分摊权重读取,提高硬件利用率。但并发继续增加,也可能推高逐 token 延迟。显存装得下的最大并发量,与用户能够接受的并发量,是两个不同的上限。 这解释了为什么昂贵 GPU 可能拥有更低的单位推理成本:只要业务能用满它在时延约束内的有效吞吐,较高的硬件费用就能被更多产出分摊;流量不足时,这个优势未必成立。
模型优化首先改变每个请求需要占用的资源。权重量化减少模型本身的存储和读取量,KV 量化减少随上下文增长的状态。两者释放的空间,都可能被重新用于更长上下文或更多并发。然而,省下一半字节不等于快一倍:收益取决于原来的瓶颈、计算内核支持,以及量化对任务质量的影响。工作坊自己的演示也出现了 KV 占用下降、吞吐变化不大的情况。vLLM 的 KV 量化文档同样强调校准与精度处理。
GQA 和 MLA 则把节省资源的选择推进到模型架构。GQA 让多个查询头共享较少的 KV 头,MLA 用更紧凑的潜在表示保存信息,减少缓存负担。这些通常涉及架构和训练,不能把现成模型的若干头直接删掉,就期待无损提速。FlashAttention 走的是另一条路:通过分块计算和片上存储,减少注意力计算中 HBM 与 SRAM 之间的读写,在不近似注意力算法的前提下提高效率。它优化执行方式,并不会凭空消除长期保存的 KV 状态。
这意味着,模型设计阶段就已经写下了部分服务成本。两个任务效果接近的模型,如果一个需要更少的缓存和数据搬运,就可能在同一硬件上支撑更多用户。评估模型时,质量榜单之外还需要一张生产成绩单:达到相同任务成功率,需要多少显存、多久等待、多少费用?长上下文只有在帮助完成任务时才值得付费,长度本身并不等于质量。
推理引擎接着处理资源浪费。PagedAttention 将 KV cache 分块管理,按需要分配,减少预留大块连续空间造成的浪费;连续批处理让已经完成的请求及时退出,让新请求加入后续迭代,减少固定批次被长回答拖住的低效。前者更充分地使用显存,后者更充分地使用时间。它们因此可以在模型不变的情况下改善吞吐,但不能把相对朴素基线的性能倍数,直接当成成熟生产系统的升级收益。
Agent 又让另一个问题变得突出:不同调用之间,有多少工作在重复?一个编码 Agent 可能反复携带相同的系统提示词、工具说明和代码背景,经历生成、检查、修改,再分出多个候选方案。单次请求内的 KV cache 还不够,系统需要跨请求复用共同前缀,避免每轮重新处理相同背景。SGLang 的 RadixAttention 就围绕这类 KV 复用展开;vLLM 也支持自动前缀缓存。
这种复用依赖精确匹配的 token 前缀及相关执行条件。Radix tree 组织共享前缀,vLLM 则通过分块哈希识别,两者都可以利用部分共同前缀;语义相似并不足以保证 KV 可复用,前面改了一个词,后面的状态通常也随之变化。因此,把稳定背景放前面、动态内容放后面,会直接影响复用率。上下文组织开始同时影响模型效果和计算账单。
讲者报告,他们的普通请求测试中,vLLM 与 SGLang 表现接近;换成具有重复背景的 Agent 分支流程后,SGLang 明显领先。这个结果对应那组工作负载和配置,无法推出某个引擎天然更适合所有 Agent。更有用的观察是:调用之间的关系,会改变优化空间。而且前缀缓存主要节省 prefill;如果大部分时间都花在生成长答案上,收益自然受限。
生成阶段还有投机解码:让便宜的草稿机制先提出多个候选 token,再由目标模型并行验证,争取一次验证推进多个位置。收益取决于接受率,以及起草和验证的额外成本。讲者个人测试没有获得明显收益,不能据此否定整条路线;同样,也不能承诺它在高并发下始终加速。它再次提醒我们,优化必须针对具体瓶颈衡量。
沿着这条逻辑往前推,推理基础设施会越来越重视上下文所在的位置。同样一个请求,发往已有匹配缓存的 GPU,可以省掉部分计算;发往空闲但没有缓存的 GPU,需要重新处理。只追求缓存命中又可能造成排队,因此调度必须同时权衡复用收益和机器负载。NVIDIA Dynamo 的 KV 感知路由已经把这两项放进同一个决策过程。这也说明,Dynamo 更适合理解为组织分布式推理的框架,不能简单与单机推理引擎并列排名。
当 prefill 和 decode 进一步分到不同 GPU 池,双方可以分别配置资源、减少相互干扰,却必须传递 KV 状态。省下的计算可能变成新增的数据传输,跨卡、跨机带宽和传输延迟随之进入成本账本。网络与分层存储的机会就在这里,但前提是搬运或取回缓存比重新计算更划算。存下所有历史、把所有阶段拆开,都不自动等于最低成本。
这场工作坊提供了一个看好 AI 普及的具体理由:通过模型架构与服务系统改进,既有硬件仍有机会服务过去成本过高的任务。收益会先体现为更低的交付成本,再由服务商和用户通过价格、利润和使用量分配;它不会自动归属于某一家硬件或软件公司。后续最值得追踪的是,在质量和响应时间达标的条件下,成功完成一项任务究竟需要多少硬件时间、花费多少钱。单位成功任务成本持续下降,才会让推理优化从漂亮的 benchmark,变成扩大 AI 应用边界的力量。