双 3090 跑 Qwen3 MoE:预填加速 2.5 倍的专家缓存换位法

Extension-Bid-639 · reddit · 2026-09-10

Reddit 用户分享在 2x3090 + DDR4 双路 Xeon 上跑 Qwen3.8-Flash-Next(经 llama.cpp + UD-Q4KXL 量化)系列优化的第 4 篇,聚焦一直是弱项的 prefill:此前 8k 提示首 token 要 80 多秒,119k 上下文要 24 分钟。

核心思路:专家缓存只在解码期(≤8 token 的小批次)生效,prefill 期间白白占着显存。他改成提示进来时释放缓存槽、解码计算缓冲和 CUDA 池,临时换成 ub 2048 的计算缓冲跑完整个提示,再在生成第一个 token 前全部恢复。原因在于专家权重每个 micro-batch 都要从主机内存经 PCIe 搬一次,ub 512 下 8k 提示要搬 16 遍,ub 2048 只搬 4 遍。

实测(6 条 32GB DDR4,每轮起全新服务):8k 提示 prefill 从 99.9 提到 223.7 t/s(2.24 倍),首 token 82 秒降到 37 秒;37k 上下文 2.41 倍、119k 达 2.54 倍(首 token 1461 秒降到 575 秒)。代价是每次提示约 2.8 秒固定的释放/恢复开销,解码速度基本无损(±2% 以内),MTP 接受率不变(0.79-0.83),质量筛查各种子各深度均在 ±3.6% 内。实现仅需两个环境变量,且换缓冲采用全有或全无的事务模式,恢复失败会直接报错而非静默降级。

原文链接 →

「Infra」频道最新

更多「Infra」频道 AI 资讯 →