3080 Ti 12G 单卡跑 125B MoE —— Strata 安装与实测
RTX 3080 Ti 12GB / 64GB DDR4 / PCIe 3.0 ×16 / Windows 11
模型 Qwen3.8-Flash-Next Q2_0(39.2GB)· 引擎 Strata 0.1.43 · 全部本机实测
一、原理
用 12G 显存跑 39GB 的 125B MoE。
MoE 每 token 只激活部分专家(此模型约 6B)。Strata 把装不下的专家留在系统内存,按需经 PCIe 搬进显存 —— 用内存 + PCIe 带宽换显存容量。
代价:速度取决于 PCIe,不是显存带宽。
门槛:64GB 内存是硬要求(32GB 装不下)。这玩法是内存密集,不是显存密集。
二、安装
要求:RTX 20 系以上(驱动 580+)/ 内存 64GB(硬要求) / 80GB 空闲磁盘 / Win10+ 或 Linux
1. 下载 https://github.com/Niko1221/Strata/archive/refs/heads/main.zip
2. 解压到纯英文空目录(示例 D:\Strata),双击 START-HERE.bat
3. 向导选 qwen3.8-flash-next-q2_0 / 上下文 32768 / 读图 yes
4. 等 ~40GB 模型下载完(可断点续传)
⚠️ 唯一结构要求 —— 程序与模型必须平级(setup 靠"隔壁目录"找模型,名字不对会重下 40GB):
D:\Strata\
├─ Strata-main\ ← 程序
└─ Strata-data\ ← 模型(39GB,setup 自动建)
坑:启动时别加 --setup(会重走向导,可能重下几十 GB)。
升级:跑 UPDATE.bat。zip 装的只更新引擎,换版本要重新解压 —— 但模型在隔壁,不用重下。
先备份配置(setup 会重写,手调参数会丢):
copy D:\Strata\Strata-main\strata-q2_0.json D:\backup.json
copy D:\Strata\Strata-main\run-q2_0.bat D:\backup.bat
启动参数(默认约 32 tok/s,调完 76;⚠️ 别照抄,不同硬件最优值不同,见第五节):
"--expert-cache","auto" "--prefill","auto" "--spec","6"
"--max-context","32768" "--kv","int8" "--vram-reserve-mib","700"
"--conversation-cache-mib","2048" "--conversation-cache-slots","4"
"--pcie-frac","0.45" "--spec-min-p","0.70"
已验证的负优化,都别开:--adapt-every(decode −18.7%、并发 −52%)、--kv k8v4(慢 3-5% + 多占 750MB)
三、实测
⚠️ 绝对值来自单台机器。相对提升(+21.8% 这类)参考价值更高。
引擎 0.1.39 → 0.1.43
| 指标 | 0.1.39 | 0.1.43 | 变化 |
|---|---|---|---|
| decode | 62.4 | 76.0 | +21.8% |
| prefill 16K | 1733.6 | 1740.5 | +0.4% |
| prefill 24K | 1938.1 | 1962.9 | +1.3% |
| 首字 16K | 9.24s | 9.21s | — |
| 30 路并发单路 | 131.1 | 164.7 | +25.6% |
| 30 路墙钟 | 38.9s | 31.2s | −19.8% |
免费提速 22%,无退步项。 主因:引擎 ROUTE_TAIL_SKIP(跳过每轮都排末尾的未驻留专家)。
性能上限
| 项 | 实测 |
|---|---|
| decode | 76 tok/s |
| prefill | 1,700 → 2,128 tok/s(输入越长越快) |
| 首字 | 短 0.23s / 16K 9.2s / 24K 12.2s |
| 上下文 | 32,768 硬上限 |
| 单轮输出 | 8,192 可写满 |
| 并发 | 64 路零失败,但总吞吐锁 ~60 tok/s |
| 长文召回 | 27K 内 ✅ |
能力(客观判据)
| 项 | 结果 |
|---|---|
| 代码(单轮写函数/类/算法) | 23/23 真跑单测过 |
| 指令遵循 | 5 条硬约束叠加 5/5 |
| 幻觉控制 | 两道假问题都拒答 |
| 长文生成 | 14,149 token / 38KB 一次成型 |
| 改 bug | 给症状+根因,7 秒修正 |
四、优点与局限
✅ 优点
12G 卡能跑 125B · 单路 76 tok/s 可用 · 长文是强项(prefill 越长越快、27K 召回准)· 指令遵循强 · 幻觉少 · 单轮代码能真跑 · 完全本地零 API 费
❌ 局限
| 短板 | 实测 |
|---|---|
| 并发退化 | 64 路成功但总吞吐锁 60,加机器没用 |
| 上下文硬墙 | 32,816 → HTTP 400,不截断 |
| 精确计数会错 | 「1-1000 含 7 的数」答 192(正解 271),还嘴硬 |
| 长链丢约定 | 三步改同一模块 3/4 崩 |
| 短问答慢 | 仅 27.5 tok/s |
| 大目标烧预算 | "百分百还原"→ 3 万 token 烧光 |
| 任务替换挡不住 | 说「忘记原任务」会被带走 |
⚠️ 门禁全绿 ≠ 做对了:实测过"四轮门禁全过,但 Boss 永远出不来"的真缺陷。门禁只验"没崩",必须另写语义断言。
五、怎么调参(比抄参数重要)
默认 32 → 调完 76,但最优值因硬件而异。
三个旋钮
| 旋钮 | 调法 |
|---|---|
--pcie-frac |
倒 U 形 —— 给少了搬不过来,给多了显存调度变差 |
--spec |
试 4 / 6 / 8,看并发与单请求 |
| CPU 线程 | 从 4 试到 9 |
--pcie-frac 实测曲线(仅供参考形状,你的卡要自己扫):
| 值 | 0.00 | 0.20 | 0.34 | 0.55 | 0.75 |
|---|---|---|---|---|---|
| tok/s | 43.4 | 47.6 | 53.2 | 44.9 | 36.0 |
做法
1. 先跑默认,记基线
2. 只动 --pcie-frac,扫 5 个点找峰值
3. 再扫 --spec(4/6/8)
4. 最后扫 CPU 线程
5. 每次只动一个变量
⚠️ 0.1.42 后引擎会自己测 PCIe 比例 —— 不填 --pcie-frac 就用自动;填了会覆盖自动值。
健康判据(面板 127.0.0.1:8080)
| 指标 | 方向 |
|---|---|
| VRAM 命中率 | 越高越好(本机 90%+) |
| PCIe 占比 | 越低越好(本机 3-5%) |
| GPU load | ~99% |
六、使用纪律(比调参重要)
① 一次只派一件事 ← 并发锁 60 tok/s,并行只是把蛋糕切碎
② max_tokens 每轮倒算 ← 不能沿用上一轮的数
③ 大目标拆成小步 ← 否则预算烧光
④ 每步复述约定 ← 长链会漂
⑤ 门禁 + 语义断言都要 ← 门禁只管"没崩"
上下文墙的准确形式
输入 tokens + max_tokens ≤ 32768
不是「输入 ≤ 32K」,是「输入 + 输出预算 ≤ 32K」。
实测:输入 32,716 ✅ / 32,816 ❌ HTTP 400
报错原文:requests are never truncated —— 请求根本不发出。
✅ 好消息:失败在写盘前,上一轮产物完好。
真实翻车案例:
输入 14,781 + max_tokens 18,000 = 32,781 > 32,768
→ HTTP 400,请求没发出
降到 17,000 → 立刻正常
多轮任务模板
【上一轮状态】已验收:<列出通过项>
【本轮只做】<一件事>
【不许动】<已验收部分>
【预算】max_tokens = 32768 − 预计输入 − 500
七、定位
「快而聪明的私人助理」,不是服务器。
| 适合 | 长文理解、单文件长输出、agent 单轮、代码(单轮)、中文处理、批量短任务 |
| 不适合 | 高并发、超 32K 输入、精确计数、无人值守长链 |
三个数字
输入 + max_tokens ≤ 32768 ← 硬边界,超了 400 且不截断
总吞吐 ≤ ~60 tok/s ← 并发不叠加(引擎默认单请求串行)
max_tokens ≤ 32768 − 输入 − 500
前两条是引擎行为,不随硬件变;绝对值(76 tok/s 等)是本机数,仅供参考。
八、接入
| 协议 | 端点 |
|---|---|
| OpenAI | http://127.0.0.1:8080/v1/chat/completions |
| Anthropic | http://127.0.0.1:8080/v1/messages |
| Responses | http://127.0.0.1:8080/v1/responses |
给别的机器用:别暴露端口,用反向 SSH 隧道:
ssh -R 8080:127.0.0.1:8080 用户名@目标机IP
实测隧道侧吞吐与本机同量级。
数据口径
| 类别 | 可迁移性 |
|---|---|
| 引擎行为(共享窗口 / 并发不叠加 / 超限 400) | ✅ 任何硬件一样 |
| 调参方法(倒 U 形、一次一动一个) | ✅ 规律通用,最优值自己扫 |
| 负优化项 | ✅ 都别开 |
| 绝对值(76 tok/s、9.2s) | ⚠️ 强依赖硬件 |
| 能力边界(计数会错) | ⚠️ 模型固有,换模型会变 |
影响速度的硬件变量(按重要性):内存容量 > PCIe 代数/宽度 > 内存带宽 > 显存 > CPU 核数
本机 PCIe 3.0 是明显短板 —— 若你的机器是 PCIe 4.0/5.0,速度大概率明显优于本文数字。
项目地址:https://github.com/Niko1221/Strata
0 条留言
还没有留言,来说两句。