一份 llama.cpp fork(仓库名 Qwen-tin,MIT)把 Qwen3.8-Flash-Next 跑上了一台 8GB 显存的笔记本。模型是 125B MoE,每 token 激活 6B,外加 51B 的 n-gram 表;量化用 ISTA-DASLab 的 GSQ-RCO IQ3_S,平均 3.50 bit/权重,文件共 83.6GB。实测机器是 RTX 5060 Laptop、i9-13900H、32GB DDR4 和一块 PCIe 4.0 NVMe。
装法是把专家留在盘上。46.8 GiB 的路由专家不进显存:内存里放 24 GiB 缓存,显存里放 2–3.3 GiB 最热的专家。每 token 每层只用 512 个专家中的 10 个,约 0.9 GiB,缓存命中率约 96%;未命中的用 O_DIRECT 直读,约 20MB 一个 token。引擎还会提前跑下一层的路由器预取专家,第一猜测约 95% 命中。非专家权重 3.6 GiB 常驻显存,总占用约 7.25 GiB。
速度是作者实测,关思考:生成 18.2–23.9 tok/s,短对话 23.9;读入 8k–100k 文档 461–489 tok/s。上下文砍到 150k(原生 262,144),因为 KV 缓存和专家库要共用这 8GB 显存。
质量上,作者拿阿里云 API 上的 BF16 对了 44 个 prompt、14,828 个 token:KL 散度 0.0760,原版 IQ3_S 文件是 0.0756,差异在噪声内。他改的三处——Gated Residual 降到 Q8_0、视觉编码器降精度、KV 缓存降到 q5_0/q4_0——测不出代价,512 个专家一个没剪。ISTA 模型卡上 IQ3_S 的任务均分 93.26,BF16 是 93.12,ISTA 自己把高出的部分读作方差。
限制也写在仓库里:每 token 从 SSD 读约 20MB,SSD 超过 65–70°C 就降速,长会话生成会掉到 14 tok/s 上下,一次 30 分钟的 agent 会话读了 2.4TB;内存只有 16GB 时缓存命中率掉到 71%,生成先约 12 tok/s,SSD 热了之后约 5 tok/s。全部数字为单台笔记本自测。
