ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

12GB 显存装下 100B 级 MoE:Strata 用专家分层缓存给出 94 tok/s 的本地解码

12GB 显存装下 100B 级 MoE:Strata 用专家分层缓存给出 94 tok/s 的本地解码

12GB 显存装下 100B 级 MoE:Strata 用专家分层缓存给出 94 tok/s 的本地解码

【免费下载链接】StrataQwen3.8-Flash-Next on any consumer hardware: one-click install for Windows / Linux. Strata inference engine, OpenAI/Anthropic API on localhost, optional image input.项目地址: https://gitcode.com/gh_mirrors/strata11/Strata

显卡只有 12GB,却想本地跑一个 48 层、24,576 个专家的 MoE。Strata 把冷门专家换到内存和 SSD,让 GPU 只算热专家,在 12GB 上给出官方 94 tok/s 的解码。本文验证:这个数字在你的硬件上,边界在哪。

右侧的实时速度、显存与请求状态,是本文反复引用的数据来源类型。

第一眼:Strata 是什么,和 llama.cpp 差在哪

MIT 协议,C++/CUDA/HIP 实现,在localhost:8080暴露 OpenAI/Anthropic 兼容接口,附带桌面 Chat 与终端监控。与最接近的 llama.cpp 相比,它不靠「换权重进显存」的套路,而是把全部 24,576 个专家按热度分到显存、内存、SSD 三层,并用 CPU 在 GPU 运行时并行算未缓存的专家。

一个 token 的旅程

以生成一个 token 为例。路由器先为这一层挑出 10 个专家;命中显存槽位的交给 GPU 的 grouped kernel,没命中的落到内存专家池,由 CPU 的 AVX-512/AVX2 kernel 并行算,两边互不等。类比厨房:热专家摆在台面(显存),冷专家放储藏室(内存),整箱的堆在仓库(SSD)。源码把动机写得很直白——include/strata/core/expert_cache.hpp注释:每 token 要从内存读 663.6 MB 专家字节,约 40 GB/s 即 16.2 ms,且 96% 暴露在关键路径,唯一解法就是「别读这些字节」。

再类比速记员抢答、主考官批:MTP 草稿层一次最多猜 3 个 token,src/spec/controller.cpp的 CostModel 以 0.86 的先验接受率加实时命中率决定猜几个,一次遍历全部 48 层校验,平均一次产 2.4-3.2 个 token,整体快 1.6-1.8 倍。长文侧,prefill 按最大 8,192 token 分块,下一层专家经 PCIe 预取,长文档读取超 1,000 token/s;SSD 上还有 28.8 GB 的 n-gram 查表(PLE),每 token 只读几行。工程结论见 docs/HOW_IT_WORKS.md。

数据回执

测试环境量化档位解码速度预填充(32K)上下文
官方:RTX 5070 12GB / R5 7600 / 64GB,引擎 0.1.26Q2_094 / 76(128K)2,650 tok/s32K
同上IQ2_XS79 / 63(128K)2,090 tok/s32K
社区:RTX 5090 32GB / Ultra 9 285K / 64GB,引擎 0.1.29IQ2_XS179.4(4K) / 175.7(32K) / 165.0(128K)4,269.8 / 5,543.2 / 5,778.7 tok/s131K
社区:RTX 5090 32GB / R9 5950X / 96GB,引擎 0.1.39IQ3_S177.95,605 tok/s14.7K

社区 5090 的解码约为官方 5070 的 1.9 倍,方向与更大显存(专家缓存 17,463 槽)、更快 PCIe(探针 50.0 对 28.3 GB/s)一致,不是数量级偏差。5090 报告含固定 commit、GGUF SHA-256、逐请求 timing 与命中率 97.8-99.7%、needle 检索 6/6。数据来源:docs/MODELS.md、bench/results/2026-09-30-community-rtx-5090/README.md、bench/results/2026-10-01-community-rtx-5090-5950x/README.md。

这张社区截图显示 2x RTX 3080 20GB 配置下 decode 约 109 tok/s,说明双卡分层下数字并非只有旗舰卡才拿得到。

细看代价

  • 内存是主门槛,不是显存:Q2_0 需 37.6 GB、IQ3_S 需 54.8 GB(docs/MODELS.md),48GB 内存只够 Q2_0/IQ2_XS;显存大的卡更快但不降内存需求,64GB 才全档位可用。
  • 下载与冷启动:三个较小档下载 66-76 GB,另加约 6 GB 的 MTP 草稿层;首次启动要把 34-55 GB 读入 RAM 并锁页,docs/DETAILS.md故障表明确「PC 会卡几分钟,第二次启动(文件还在 OS 缓存)更快」。
  • 不适合高并发服务:serve/server.py开头注明请求「背后是一个 FIFO,一次一个序列」,--batch是可选实验路径,KV 流式每上下文 token 还占约 13.7 KB;当多租户 API 网关用,方向就错了。

这张槽位状态栏对应服务端真实调度:默认同时只有一个序列在执行,多请求要排队。

岔路口

如果你有 12GB+ 显存、64GB 内存、且要本地跑 Qwen3.8-Flash-Next 这类百亿级 MoE——选 Strata。只想要「一条命令跑起小模型」,llama.cpp 生态更省事;要服务器级多租户吞吐,vLLM 是另一条路。适用区间:单台消费级 PC、百亿级 MoE、可读速度。

最小验证

先打印安装计划,不下载、不改机器(秒级,输出模型大小、RAM 档位与专家槽位估算):

strata launch --plan

启动后跑一次标准化测速(约 10 分钟,不改机器,输出可分享的 speed 报告,含 decode/prefill tok/s 与区间,模板见 docs/COMMUNITY_BENCHMARKS.md):

./bench.sh

把验证权交还给你。

【免费下载链接】StrataQwen3.8-Flash-Next on any consumer hardware: one-click install for Windows / Linux. Strata inference engine, OpenAI/Anthropic API on localhost, optional image input.项目地址: https://gitcode.com/gh_mirrors/strata11/Strata

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进