常见问题 / 用法与提速
为什么刚开始聊得挺快,聊久了就变慢?
因为每生成一个 token 都要把历史 KV 重读一遍,KV 随上下文线性增长。同一台 4090 实测:1K 上下文 145.2 tok/s,64K 掉到 111.3 tok/s。
结论先行:变慢不是「机器老了」,是 KV 越存越多——每生成一个新 token,模型要把全部历史 KV 重读一遍,注意力的工作量随上下文线性增长。
站内有一组同配置实测(第三方单源,C 级)把这条曲线量了出来:NVIDIA RTX 4090 24G + ExLlamaV3 跑 Mimo-9B,单流 decode,1K 上下文 145.2 tok/s,4K 144.1,8K 140.5,16K 137.3,32K 127.2,64K 111.3 tok/s(KV FP16、无投机解码、无 CPU offload,每档都跑了 needle 正确性校验)。
本站自测的 NVIDIA Tesla V100 32G(数据卡) 上下文扫描同向:Qwen3.8-27B Q4_K_M 从 512 token 的 16.47 tok/s 一路掉到 256K 的 4.8 tok/s;Ornith-1.5-35B-A3B Q4_K_M 从 93.4 掉到 22.99。上下文越长,每 token 越贵——这是结构决定的,不是调参能解决的。
三个能立刻做的动作:① 长对话开新会话,别让历史无限累积;② KV 量化(llama.cpp 的 -ctk q8_0 -ctv q8_0 减半、q4_0 减到四分之一);③ 换 KV 便宜的架构(层数少、KV 头少、带滑窗的模型)。注意 KV 量化会略微增加注意力开销,收益主要在「装得下」而不是「跑更快」。
区分两种慢:一种是「越聊越慢」(KV 越来越重,本条讲的),另一种是「越用越慢」(显存碎片、温度墙、后台任务,属于故障排查里的另一条)。别把两者混为一谈。
条目性质:本站依据自身数据模型与公开架构常数撰写。 有错请直接告诉我们,见关于页。