- 参考 llama.cpp docker本地算力方案
- 部署调优测试:由llama项目负责设计,部署,冒烟,性能测试,调优
2台硬件情况
项目 | 4060 机器(max2, NixOS) | V100 机器(x99, Ubuntu) |
GPU | 1× RTX 4060(笔记本级 + oculink 坞),8188 MiB;当前已用 7483 MiB(驻 35B 档);sm_89;驱动 595.71.05 | 2× Tesla V100-SXM2-16GB,16384 MiB ×2 = 32 GiB;已用 15724 / 15992 MiB;NVLink NV6 直连;NUMA 单节点;驱动 580.126.20 |
CPU | AMD Ryzen 7 7840U(Zen4,8 核 / 16 线程,含 Radeon 780M 核显) | Intel Xeon E5-2680 v4 @ 2.40GHz,14 核 / 28 线程 |
内存 | 58 GiB LPDDR5X(已用 44 / 可用 13 GiB) | 39 GiB DDR4 ECC(2026-10-29:已用 28 / 可用 10 GiB;容器常用 25~26G,cap 36G 未吃满) |
系统盘 | NVMe PCIe4.0 1.9T(CWESR02TBTLCZ)→ / 1.6T,已用 1.2T,可用 439G | SATA SSD 218G(SSD240G)→ / 93%(2026-10-29,可用 17G;builder 缓存清过一轮又涨回;packs/cache/state 走 docker 命名卷) |
大模型盘 | 与系统盘同分区(/s500data 不在独立盘);另 119G NVMe 未挂载 | 机械盘 465.8G(ST500DM002,7200rpm,ROTA=1)→ /mnt/hdd ext4 noatime,已用 100G,可用 336G |
可用驻留上限(VRAM+RAM) | 8 + 58 ≈ 66 GiB(核显与内存共享,实际更紧) | 32 + 39 ≈ 71 GiB |
当前在跑 | llama.cpp docker(llama 容器 healthy),35B ncmoe 档 | strata.yml(Strata-125B 256K 双卡,engine 0.1.52,user 1000:1000 rootless),healthy;MIX 已停;27B 已退役 |
出网能力 | 代理 127.0.0.1:7890,上行实测 ~1 MB/s | 直连 hf-mirror 5 MB/s;本机 clash 仅 0.5 MB/s |
4060 8G oculink显卡坞
实测(2026-10-25 资源列全部重新实测;PP=prefill t/s,TG=decode t/s,TTFT=prefill 完成时间)。单位:显存 MiB,内存/页缓存 MB。资源列口径:显存取 nvidia-smi 全程采样,内存取容器 cgroup anon(真实分配给进程的匿名内存),页缓存取 cgroup file。表中「/峰值」前后为 idle 与单次请求峰值,「→请求后」为 idle 与请求后的页缓存。
| 档/放置 | 请求长度 | PP | TG | TTFT | 显存/峰值 | 内存/峰值 | 页缓存→请求后 | 硬盘 |
| 4B-256K 全GPU | 200K | 1310 | 26.4 | 152.7s | 7407/7409 | 419/537 | 1116→1116 | 2.7G |
| 9B-208K 全GPU | 100K | 1108 | 29.3 | 90s | 7789/7791 | 365/455 | 42→42 | 5.8G |
| 202K | 808 | 21.4 | 250s | |||||
| 9B-256K 混合28/33层 | 20K | 911.0 | 18.59 | 22.0s | 7731/7731 | 4244/4346 | 159→159 | 5.8G |
| 100K | 753.9 | 9.38 | 132.7s | |||||
| 249K | 573.7 | 5.00 | 434.1s | |||||
| 35B-50K 混合ncmoe29 | 48.6K | 686.4 | 24.19 | 70.9s | 7561/7605 | 519/805 | 687→721 | 15.8G |
| 35B-256K 混合ncmoe44 | 100K | 313.3 | 21.22 | 319.3s | 7211/7255 | 509/747 | 556→574 | 15.8G |
| 249K | 283.7 | 11.24 | 877.9s | |||||
| Strata-125BA6B 100K | 98.2K | 264.7 | 19.2 | 371.0s | 7443/7501 | 34085/35086 | 4437→2026 | 98.9G |
| Strata-763BA16B 100K | 88.0K | 77.1 | 3.67 | 1119.8s | 7305/7319 | 26656/29526 | 2974→3875 | 265.8G |
怎么从资源列读出「有没有走内存」(2026-10-25 实测归纳):
- 9B-256K 是唯一 anon 破 4G 的档(4244M),而同模型 144K/176K/208K 全 GPU 档只有 359~365M,差 11.7 倍。这 3.9G 差额就是 5 层 CPU 权重的常驻分配——显存列看不出来(7731 只说明卡上装了另外 28 层)
- 35B 三个混合档的 anon 反而低(509~533M),混层证据在「页缓存」列:687→721、868→902、556→574,每次请求都增长,是 ncmoe 冷专家按需从磁盘 mmap 读入的痕迹
- 两种混合机制的差别就在这两列:9B 是整层权重加载即常驻(anon 高、页缓存不动);35B 是专家权重按需读盘(anon 低、页缓存增长)
- 全 GPU 档(4B/9B 的 144K/176K/208K)两列都不随请求明显变化,anon 增量 89~151 M 属正常 KV/激活开销
- Strata 两档(125B/763B)的口径:PP/TG 取引擎日志里同一次资源采样的 prefill/decode 行(非客户端总时长),短文行 TG 是冷启首请求;125B 页缓存 4437→2026 的下降不是异常——anon 34.1 G→35.1 G(29.88 GiB 专家锁页 + KV),内核回收了 2.4 G 页缓存;763B 页缓存 2974→3875 的增长是 dsv41 按需读盘留下的痕迹;硬盘列 = 该档实际用到的权重与附属文件(125B = 92.0 G 权重 + 6.9 G strata 自建 MTP;763B = 155.2 G 分片 + 110.6 G Engram),不含未加载的 DSpark 8 G。
档位设计、参数、拐点、否决项一律写在各 ini 的文件头注释里(命名规范见 data/config/README.md);本笔记只留档位清单与实测数据。
GPU-4B
- 模型:mradermacher/Qwen3.8-4B-Agentic-distill-GGUF
- 文件:Qwen3.8-4B-Agentic-distill.Q4_K_M.gguf,chat_template
- yml:docker-compose.yml
- ini:
4060-qwen3.8-4b.ini(动态);归档:4060-qwen3.8-4b-gpu-144K.ini/4060-qwen3.8-4b-gpu-256K.ini - 体验
- hermes简单对话没问题
- hermes执行已封装好的llamatest测试集没问题
- hermes修改迭代测试集未尝试
GPU-9B
- 模型:mradermacher/qwen3.8-9b-hermes-fc-tooluse-GGUF(基座 JamieBradfield/qwen3.8-9b-hermes-fc-tooluse,model_type=qwen3_5:32 层中每 4 层 1 个全注意力层,即 8 全注意力 + 24 线性注意力;GGUF arch=qwen35,llama.cpp b11804 已支持)
- 文件:qwen3.8-9b-hermes-fc-tooluse.Q4_K_M.gguf(5,778,720,640 B,sha256=e60173bf…9444,已校验一致),chat_template 内嵌 GGUF
- yml:docker-compose.yml(与 4B 同 yml,.env 里 LLAMA_PRESET 切 ini 即换模型)
- ini:
4060-qwen3.8-9b.ini(动态);归档:4060-qwen3.8-9b-gpu-144K.ini(时延/并发)/4060-qwen3.8-9b-gpu-176K.ini(单次超长)/4060-qwen3.8-9b-gpu-208K.ini(拐点)/4060-qwen3.8-9b-mix-256K.ini(长上下文,唯一混合档) - 体验
- hermes简单对话没问题
- hermes执行已封装好的llamatest测试集没问题
- hermes修改迭代测试集失败(封装测试目标的endpoint配置文件,脚本适配),切换muse spark 1.3处理成功
GPU/MIX-35BA3B
- 模型:IsValorum/Qwen3.8-35B-A3B-Distill-MTP-APEX-I-MiniPlus-V2.1-Abliterated-GGUF(35B MoE,IQ3_XXS,n_params=34660610688)
- 文件:Qwen3.8-35B-A3B-Distill.APEX-I-MiniPlus-V2.1-Abliterated.gguf(14,658,690,144 B)+ chat_template.jinja(仓内独立文件)+ mtp-Qwen3.8-35B-A3B-Distill-Q4_0.gguf(MTP draft,1.1G)
- yml:docker-compose.yml(与 4B/9B 同 yml,.env 里 LLAMA_PRESET 切 ini 即换模型)
- ini:
4060-qwen3.8-35b.ini(动态,当前 200K/ncmoe 40);归档:4060-qwen3.8-35b-mix-50K.ini(ncmoe 29)/4060-qwen3.8-35b-mix-200K.ini(ncmoe 40,拐点)/4060-qwen3.8-35b-mix-256K.ini(ncmoe 44,极限 ctx) - 4060跑35B方案
- 体验:待 hermes 接入后补
Strata-125BA6B
- 模型:agentionai/Qwen3.8-Flash-Next-Gyro-GGUF
- 文件:Qwen3.8-Flash-Next-Gyro-M-TQ2_0.gguf(91,965,774,272 B),mtp-Qwen3.8-Flash-Next-draft.gguf(Strata 不使用,其 MTP 由
models/strata_share/mtp/自带) - yml:strata.yml
- ini:
4060-qwen3.8-125b.ini(动态,100K);归档:4060-qwen3.8-125b-strata-100K.ini ctx
125B prefill
763B prefill
125B KV 锁页内存
763B caches
32K
2.1 min
6.9 min
0.00 GiB
0.03 GB
64K
4.1 min
13.9 min
0.06 GB
0.31 GiB
96K
6.2 min
20.8 min
0.10 GB
0.62 GiB
128K
8.3 min
27.8 min
0.13 GB
0.93 GiB
160K
10.3 min
34.7 min
0.16 GB
1.24 GiB
192K
12.4 min
41.6 min
0.19 GB
1.49 GiB
256K
16.5 min
55.6 min
0.26 GB
2.17 GiB
- 体验:待 hermes 接入后补
Strata-763BA16B
- 模型:ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF
- 文件:DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00001-of-00004.gguf(39,535,776,992 B)/00002(39,494,617,536 B)/00003(39,423,838,496 B)/00004(36,771,591,232 B)+ DeepSeek-V4.1-Flash-Engram-IQ4_NL.gguf(110,595,290,816 B)
- yml:strata.yml
- ini:
4060-qwen3.8-763b.ini(动态,100K);归档:4060-qwen3.8-763b-strata-100K.ini - 体验:待 hermes 接入后补(性能与参数见
data/config/4060-qwen3.8-763b.ini的「性能调优成果 / 参数决策记录」两节)
V100 16G*2 nvlink显卡坞
实测(2026-10-27;PP=prefill t/s,TG=decode t/s,TTFT 本轮未采样)。单位:显存 MiB,内存 MB。资源列口径同 4060 表。内存列对 27B 是 load-mode none 的常驻权重(16.4G),对 125B 是容器 cgroup 匿名内存(常用 25~26G,cap 36G),两者含义不同不能直接比。125B 的 CPU 侧专家由 override-tensor 走内存,页缓存本轮未单独采样,标注为「—」。2026-10-28 双卡(strata):needle 一律换新 key/位(防 serve 侧 prompt 缓存秒回假数);max_tokens≥512(思考模型需留答案预算);背靠背压测 pp 逐轮掉为 heat soak(负载 81~84°C)。
| 档/放置 | 请求长度 | PP | TG | TTFT | 显存/峰值 | 内存/峰值 | 页缓存→请求后 | 硬盘 |
| GPU-27B 256K | 8K | 1000 | 59.3 | — | 15724/15992 | 16384 | — | 16.8G |
| MIX-125B 150K ncmoe10+ot37-47 | 8K | 81.9 | 11.38 | — | 14078/12338 | — | — | 92.0G |
| MIX-125B 192K ncmoe10+ot37-47 | 1K | 67.3 | 11.50 | — | 14558/12796 | — | — | 92.0G |
| MIX-125B 256K ncmoe11+ot36-47+th24 | 8K | 70.9 | 10.1 | 59.7s | 14868/12944 | — | — | 92.0G |
| Strata-125B 100K | 96K | 1687.0 | 48.0 | 59.8s | 15626/15720 | — | — | 92.0G |
| Strata-125B 200K | 185K | 1579.9 | 40.3 | 121.6s | 15572/15670 | — | — | 92.0G |
| Strata-125B 256K | 246K | 1138.9 | 48.4 | 145.8s | 15384/15482 | — | — | 92.0G |
| 246K(连续5次) | 1180.6→695.8 | 40.1~56.3 | 215~340s | |||||
| Strata-125B 256K tune 44°C | 246K | 1530.8 | 43.8 | 176.6s | ||||
| Strata-125B 256K control 62°C | 246K | 1404.2 | 40.9 | 190.6s | ||||
| Strata-125B 256K drafting off | 246K | 1214.8 | 38.7 | 221.0s |
GPU-27B
- 模型:cygnal/Qwen3.8-27B-heretic-ara-Q4_K_M-MTP-GGUF(dense 27.3B,Q4_K_M,n_ctx_train=262144)
- 文件:Qwen3.8-27B-heretic-ara-Q4_K_M-MTP.gguf(16,799,719,424 B)+ chat_template.jinja;备用投机解码 draft:z-lab/Qwen3.8-27B-DFlash2-GGUF(当前未启用,双卡无 1.5G 空位)
- yml:docker-compose.yml(镜像
ghcr.io/ggml-org/llama.cpp:server-cuda,实测 build b11804) - ini:
v100-qwen3.5-27b.ini(动态);归档v100-qwen3.5-27b-gpu-256K.ini(B2 定参)/v100-qwen3.5-27b-gpu-256K-old.ini(old 等效基线) - 体验:hermes 全量接入稳定运行(对话、任务、压缩、标题生成全部走该端点);对 Cline 经
https://v1008080.atibm.com/v1调用等效,调用方三件套不用动
MIX-125BA6B Gyro
- 模型:agentionai/Qwen3.8-Flash-Next-Gyro-GGUF(176B MoE,TQ2_0,有效权重 37.5G;
per_layer_token_embd.weight54.4G 由 ngram-on-disk 判 unused 跳过) - 文件:Qwen3.8-Flash-Next-Gyro-M-TQ2_0.gguf(91,965,774,272 B)+ mtp-Qwen3.8-Flash-Next-draft.gguf(2.6G,实测负收益已停用)。放
/models_sata(SATA SSD) - yml:docker-compose.yml(镜像
llama-cpp-qwen4exp-v100:2.0.1,由 agentionai/llama.cpp 自编译产物 COPY 进ghcr.io/ggml-org/llama.cpp:server-cuda而成;官方 llama.cpp 不认 TQ2_T 自定义类型和 qwen4exp 架构) - ini:
v100-qwen3.8-125b.ini(动态);归档v100-qwen3.8-125b-mix-256K.ini(10-28结版:ncmoe11+ot36-47+th24,SHORT tg 11.6)/-mix-192K.ini/-mix-150K.ini/-mix-100K.ini - 体验:hermes 接入中;10-28 优化 SHORT tg 9.7→11.6(+19.6%),8K 已验正确;100K+满载压力测试尚未做
Strata-125BA6B Gyro
- 模型:agentionai/Qwen3.8-Flash-Next-Gyro-GGUF(M-TQ2_0 92.0G 版)
- 文件:Qwen3.8-Flash-Next-Gyro-M-TQ2_0.gguf(91,965,774,272 B)+视图子目录
_strata-view(models_sata 与 /mnt/hdd/models 各一处) - yml:
strata.yml(V100 专用:无环境后缀;user: "1000:1000"rootless;packs/cache/state 进 docker 命名卷,可重建;与 llama.cpp 栈互斥) - ini:归档
v100-qwen3.8-125b-strata-50K.ini/-100K.ini(双卡最优)/-256K.ini(双卡最优,定稿;-duo 变体已并入删除);v100-qwen3.8-125b-strata.ini已删(动态标准只剩 MIX 的v100-qwen3.8-125b.ini);动态探索用-probe.ini - 引擎:strata-engine 0.1.52 cuda12,镜像
llama-strata:0.1.52-v100;launcher 新增gpu-rolesini 透参;STRATA_SM70_TABLE=1+STRATA_ADAPT_OVERLAP=1 - 结论:双卡(0=main,1=helper)为当前最优——100K needle pp 1687.0(单卡 1004.9,+68%);256K 重标定(10-28,cap 36G):control 1404.2/tune 后 1530.8(44°C 冷卡,全场最优,参数与 control 相同);否决:kv-resident 20480(1138.9,-19%)、prefill 512(~430t/s 灾难级,旧“-10%”作废)、drafting off(1214.8,-13.5%);tune quick+retune 维持 auto 全默认;单发 800~1530 看卡温,背靠背压到 ~700(81~84°C 被动散热);生产调用 max_tokens≥512;专家缓存命中 98~99%。实测参数见各归档头注
- 体验:在跑(8080),冒烟问答正确;MIX 已停