更小、更快、更安全:大规模运行Kimi和GLM

为Kimi和GLM等前沿型号提供服务意味着为GPU内存而战。以下是我们如何量化KV缓存、压缩模型权重并添加完整性检查,以更快、更便宜、更安全地为它们提供服务。

为Kimi和GLM等前沿型号提供服务意味着为GPU内存而战。以下是我们如何量化KV缓存、压缩模型权重并添加完整性检查,以更快、更便宜、更安全地为它们提供服务。Workers AI在靠近用户的Cloudflare数据中心的GPU上对世界上一些最好的开放模型进行推理。其中两个最强大、最苛刻的是Moonshot的Kimi K系列和Z.ai的GLM。

它们是大型、长上下文、专家混合的模型,使用起来很棒。由于内存限制,它们也很难有效提供服务。我们之前已经写过如何在Workers AI上为大型模型提供服务,以及如何分离推理的预填充和解码阶段,以从每个GPU中获得更多。

这篇文章着眼于我们在此基础上分层的三种技术,以将这些模型融入内存并保持它们的速度:量化KV缓存,压缩模型权重,以及,因为这两者都将更多的请求打包到共享硬件上,从而保护这些请求共享的缓存。这些优化使我们能够以更低的成本支持更多的客户,而不会改变模型的准确性。

我们所有的实验和生产流量都使用开源推理服务框架SGLang进行运行和基准测试。我们发现SGLang提供了市场上最好的性能,我们与SGLang团队密切合作,提供上游补丁和新功能,使我们的工作可供开源社区使用。

量化KV缓存当模型生成文本时,它会将已处理的每个令牌的注意力键( K )和值( V )存储在称为KV缓存的结构中。缓存允许模型扩展长对话,而无需重新读取每个新令牌上的整个上下文。对于长上下文模型,它增长很快,通常是KV缓存,而不是模型的权重,首先填满GPU内存。