Kimi 和 GLM 是当前最强的大模型系列之一,但它们有一个共同的问题:太吃显存了。月之暗面的 Kimi K 系列和智谱的 GLM 都是长上下文、MoE 架构的大模型,好用到让人上瘾,但 GPU 显存永远不够用。
Cloudflare 的 Workers AI 团队一直在跑这些模型的推理。他们在官方博客上发了一篇技术文章,详细拆解了三种让大模型在 GPU 上跑得更省、更快的技术手段——KV cache 量化、模型权重压缩、以及共享 KV cache 的完整性保护。效果是:吞吐量提升 41%,每 token 成本降低 30%,精度不变。

FP8 省的不仅是显存
KV cache 是推理时最吃显存的东西。模型每生成一个 token,都要把之前所有 token 的 attention keys 和 values 存下来。对于长上下文模型,KV cache 通常是先打满显存的元凶,而不是模型权重。
默认情况下 KV cache 用 16 位精度(BF16)存储。Cloudflare 改成 8 位浮点(FP8, e4m3),缓存体积直接减半。
在 Kimi K2.6 上,这意味着单次推理能容纳的上下文从约 68.6 万 token 翻倍到约 137 万 token。但真正的收益不是单次推理变快——FP8 的 attention kernel 需要多做一次数值转换,单次推理反而比 BF16 慢几个百分点。关键在并发。
BF16 在 32 个并发请求时显存就撑不住了,第 33 个请求进不来。FP8 一路跑到 64 并发,峰值吞吐量达到 2,192 tok/s,比 BF16 的峰值高了约 41%,每 token 成本降低了约 30%。
Cloudflare 把这套优化用在了最合适的地方。Prefill 阶段是计算密集型的,不是显存密集型的,所以不需要量化 KV cache——保持 BF16 拿更高的吞吐。Decode 阶段才是显存瓶颈,用 FP8。分离式部署让这个选择不是折中,而是各取所长。
精度方面,BF16 和 FP8 KV cache 在 GSM8K、ARC、MMLU、MMLU-Pro 等 benchmark 上差异不超过 0.3 个百分点,工具调用有效率分别是 92.2% 和 92.6%,几乎完全一致。
INT4 权重:40% 更小的 checkpoint,一样的精度
GLM 5.2 的 checkpoint 在 FP8 下是 705 GB,8 路张量并行部署时每 GPU 占用约 88 GB。Cloudflare 把权重从 FP8 压缩到 INT4(4 位整数),checkpoint 缩小到 421 GB,每 GPU 只需约 52 GB。省出来的空间够放约 118 万 token 的 KV cache。
Decode 阶段的收益最直接。生成每个 token 都要把模型权重从显存里读出来,所以 decode 速度受限于显存带宽。搬的数据少了,token 来得就快。在低并发(1 个请求)时,INT4 比 FP8 快 55%。高并发(64 请求)时仍快 16%。
Prefill 阶段相反——它是计算密集型的,INT4 需要先展开回高精度才能做矩阵乘法,反而比 FP8 慢约 15%。分离式部署再次发挥作用:decode 用 INT4,prefill 用 FP8。所有 benchmark 精度差异不超过 0.8 个百分点,完全无法区分。
一个不能出错的共享缓存
KV cache 量化和权重压缩都让更多请求共享同一块 GPU 显存,这意味着数百个请求同时读写同一个物理 KV cache。paged attention、continuous batching、cache reuse 这些机制都依赖 bookkeeping 的绝对正确——在 Cloudflare 的请求量级下,即使十亿分之一的错误概率也会频繁出现。
所以他们加了一层 KV cache 完整性检查:每个物理缓存页带一个 tag,页面重新分配时 tag 变更,服务器记录每个请求期望使用的页面和 tag。decode 操作读缓存前先校验,任何不匹配就中止请求,而不是让它读到错误页面的数据。
问题是,这种安全检查到底要花多少性能?在中型生产模型上(2-prefill / 2-decode,8,192 token 输入,1,000 token 输出),吞吐量和尾部延迟的开销都在 1% 以下,95% 置信区间上限也接近 1%。实现方式是把校验作为独立 batch check 而非融合到 attention kernel 中,避免了 GPU 线程组之间的竞态。不需要这个功能的部署可以直接用 no-op tracker,零开销。
结语
Cloudflare 的推理优化思路很清晰:不是堆更多 GPU,而是让每一块 GPU 能同时服务更多请求。KV cache 量化省显存,权重压缩省带宽,完整性检查让共享变得安全。三个技术栈叠在一起,精度不变,成本降了 30%。
所有实验和生产流量都跑在 SGLang 上,一个开源推理框架。Cloudflare 说他们跟 SGLang 团队紧密合作,把补丁和新特性 upstream 回馈社区。
参考来源: