3070ti跑 Qwen3.6-35B-A3B(全程Claude指导,包括帖子)
-
【实测】3070Ti 8G 显存跑 Qwen3.6-35B-A3B,并在另一台 Linux 上用 Hermes 调用(含踩坑全过程)
最近看到论坛里有人用 4060 8G 跑起了 Qwen3.6-35B-A3B 这个 MoE 模型,速度还挺能打,我手里正好有张 3070Ti(也是 8G 显存),就想着照葫芦画瓢搞一套——而且我的需求稍微复杂点:模型跑在我的 Windows 台式机上,但我想在另一台 Linux 机器上用 Hermes Agent 来调用它,两台在同一个局域网里。
折腾了一个晚上,端到端跑通了。中间踩了一个挺反直觉的坑,速度一度只有 6 t/s,差点以为这卡不行,最后定位到是个参数问题,救回到了 33~38 t/s。把全过程记一下,给同样 8G 卡入门的朋友省点时间。
先放结论:8G 显存完全能跑这个 35B 的 MoE 模型,3070Ti 短上下文生成稳定 33~38 t/s,和那位用 4060 的老哥水平一致。
我的配置
- 模型机:Windows 台式机,RTX 3070Ti(8G),32G 内存
- 客户机:另一台 Linux,同一局域网
- 模型:Qwen3.6-35B-A3B-APEX-MTP-I-Mini.gguf(约 13G)
- 推理框架:llama.cpp(Windows CUDA 预编译包)
- Agent:Hermes(装在 Linux 那台)
原理我也是现学的:这模型虽然标着 35B,但它是 MoE 架构,每个 token 只激活约 3B 参数。llama.cpp 可以把大部分用不上的"专家层"卸载到内存里,显存只留必要的部分,再开 MTP(多 token 预测)投机解码提速——这样 8G 小卡就能跑起来了。
第一步:装 llama.cpp
去官方 release 页面下载:
https://github.com/ggml-org/llama.cpp/releases我是 N 卡,所以下 CUDA 版本。这里有个点要注意——CUDA 版本要下两个文件:一个主程序包,一个 cudart 运行库包。我
nvidia-smi显示 CUDA 13.1,就下了 CUDA 13.1 那组(如果你的显示是 12 点几,就下 CUDA 12.4 那组,兼容性更广)。第一个坑(轻微):这俩 zip 必须解压到同一个文件夹,让里面的
cudart64_*.dll和llama-server.exe待在一起,不然启动报缺 DLL。我一开始差点分开放了。解压完先验证一下:
.\llama-server.exe --version .\llama-server.exe --list-devices--list-devices能看到我的 3070Ti,说明 CUDA 链路通了,放心继续。
第二步:下模型
HuggingFace 仓库:
mudler/Qwen3.6-35B-A3B-APEX-MTP-GGUF,进「Files and versions」标签。里面一堆量化档,我对着 8G 显存选了 I-Mini(约 13G)。这里我手抖了一下,第一次下成了 I-Nano(更小、更省但质量略低),发现下错赶紧重下了 I-Mini。提醒大家认准文件名里是 Mini 不是 Nano/Compact/Balanced。
放到
C:\models\,下完用dir核对一下文件名和大小,别下到半截。
第三步:写 preset.ini
在
C:\models\建个preset.ini。Windows 隐藏后缀,我直接用 PowerShell 生成,免得存成.txt:version = 1 [*] parallel = 1 n-gpu-layers = 999 ctx-size = 65536 predict = 4096 flash-attn = on cache-type-k = q8_0 cache-type-v = q8_0 threads = 8 threads-batch = 16 [qwen36-apex-mtp-mini] model = C:\models\Qwen3.6-35B-A3B-APEX-MTP-I-Mini.gguf load-on-startup = true n-cpu-moe = 30 spec-type = draft-mtp spec-draft-n-max = 3 cache-type-k-draft = q8_0 cache-type-v-draft = q8_0(注意:这是我最初抄的参数,
n-cpu-moe = 30——这个值后面就是我踩坑的元凶,往下看。)
第四步:起服务,本机自测
我先用
127.0.0.1起,确认模型本身能跑,再考虑开局域网:.\llama-server.exe --models-preset C:\models\preset.ini --host 127.0.0.1 --port 8888等了几十秒加载完,日志出现 listening,浏览器开
http://127.0.0.1:8888能聊天了。当时挺高兴,以为大功告成。
第五步:测速,傻眼了——只有 6 t/s
我顺手测了下速度,看 server 日志:
tg = 6.55 t/s tg = 6.40 t/s tg = 6.00 t/s6 t/s?! 那位 4060 老哥都能跑 35~38,我 3070Ti 带宽比他高,怎么反而只有他六分之一?当时第一反应是"GPU 没用上、全在 CPU 上跑"。
跑了个
nvidia-smi一看,结果跟我想的完全相反:Memory-Usage: 7920MiB / 8192MiB GPU-Util: 92%GPU 不但在用,还满载 92%,显存也几乎占满了——7920/8192,只剩 200 多 MB。
这下我懂了:不是 GPU 没干活,是显存爆了。太多专家层挤进了 8G 显存,把它撑到接近满,于是系统疯狂在显存和内存之间倒腾数据,速度直接崩。
那位 4060 老哥的帖子里其实早就警告过这个:
n-cpu-moe调太低,让太多专家进 GPU,显存反而拉满、速度反而掉。我用的n-cpu-moe = 30对我这台就是太低了——因为我桌面上还开着一堆 Edge、Chrome、WPS,它们本身就偷占了显存,留给模型的空间更少,所以同样的参数我比他更容易爆。
第六步:调参,救回 38 t/s
解法很简单:把
n-cpu-moe调大,把更多专家赶到内存里去(我有 32G 内存,扛得住)。把
n-cpu-moe = 30改成38,重启服务,再测:tg = 38.69 t/s tg = 35.69 t/s tg = 33.00 t/s回来了! 33~38 t/s,跟 4060 老哥一个水平。再看显存:
Memory-Usage: 5547MiB / 8192MiB从 7920 降到 5547,腾出 2.6G 余量,不再爆显存,速度自然就上来了。
这是整个过程最值得记的一条经验:
8G 卡上不是"塞进 GPU 的越多越快"。显存一旦逼近爆满,速度反而断崖式下跌。甜点是显存占到 6~7G、留 1G 以上余量。
- 显存爆/慢 → 调大
n-cpu-moe(更多专家去内存,省显存) - 显存还很空 → 调小
n-cpu-moe(多留专家在显存,更快)
另外测速前把浏览器、WPS 那些吃显存的程序关掉,能多还给模型几百 MB~1G,可以把
n-cpu-moe调得更激进。我这台桌面占用大,所以甜点比那位老哥的 30 高,落在 38 左右。每台机器不一样,大家按
nvidia-smi自己微调。
第七步:对局域网开放
模型端搞定,接下来要让 Linux 那台连过来。
先把服务从
127.0.0.1改成0.0.0.0重启(这俩的区别是:127.0.0.1只有本机能连,0.0.0.0才对局域网开放):.\llama-server.exe --models-preset C:\models\preset.ini --host 0.0.0.0 --port 8888然后
ipconfig查台式机的局域网 IP(我的是192.168.1.10)。这里插一句:ipconfig里可能有好几个 IP,那个198.18.x.x是代理软件的虚拟网卡、172.x.x.x是 WSL 的,都不是真实局域网 IP,别选错。认准「以太网/WLAN」那个192.168.x.x。最关键的一步——放行防火墙,这是跨机器连不上最常见的坑。管理员开 PowerShell:
New-NetFirewallRule -DisplayName "llama-server 8888" -Direction Inbound -Protocol TCP -LocalPort 8888 -Action Allow顺便确认台式机的网络是「专用网络」不是「公用网络」,公用网络防火墙会更严。
第八步:Linux 上验证 + 装 Hermes
我没急着装 Hermes,先在 Linux 上
curl戳一下,确认网络真通了(把网络问题和软件问题分开):curl http://192.168.1.10:8888/v1/models返回了一段 JSON,里面有模型名——通了!这一步过了,后面就是纯软件配置,不会再有网络玄学。
然后装 Hermes(Linux 上前置只要 Git,其余自动装,具体命令照官方 README 走),配模型:
hermes model选自定义模型,填:
- Base URL:
http://192.168.1.10:8888/v1—— 注意填台式机的真实 IP,千万别填 127.0.0.1,在 Linux 上那指的是 Linux 自己,连不到台式机。 - API Key:
local(占位符,不能留空)
它自动拉出模型列表,选中,终端发句话——能正常回话了,端到端打通!

一个小插曲:中途 Linux 突然连不上
中间我为了反复调
n-cpu-moe测速,重启服务时图省事用了127.0.0.1,结果 Linux 那台就连不上了。排查了一下发现就是这个原因——改回0.0.0.0就好了。所以大家记住:本机自测用127.0.0.1,给别的机器用必须0.0.0.0,重启别记错地址。
关于 Agent 速度的一点提醒
接进 Hermes 跑起来之后,会明显感觉比浏览器里慢,而且每轮回答开头要先等几秒。一开始我以为又出问题了,后来明白这是正常的:
Agent 每轮会把系统提示 + 工具定义 + 历史一起发过来,动辄上万 token。真正的瓶颈是处理这一大段输入(prompt processing),不是吐字速度。 8G 卡处理长输入本身就慢。这个目前我还在优化,思路是精简工具、控制上下文长度、必要时把 ctx-size 从 65536 降到 32768,等我调出更好的结果再来更新。
总结
整套下来其实不难,唯一的大坑就是
n-cpu-moe那个反直觉的显存问题。给同样 8G 卡的朋友划重点:- CUDA 包下两个(主程序 + cudart),解压到同一目录。
- 模型选 I-Mini(8G 显存合适)。
- 速度慢先看
nvidia-smi,显存爆了就调大n-cpu-moe,别一上来怀疑 GPU 没用上。 - 甜点 = 显存占 6~7G、留 1G 余量;测速前关掉吃显存的后台程序。
- 跨机器:服务用
0.0.0.0、放行防火墙、Linux 先curl验证再装 Hermes。 - Base URL 填模型机真实 IP,不是 127.0.0.1。
3070Ti 8G 跑 35B MoE,33~38 t/s,香。有问题欢迎楼下交流~
-
@耗奇害死猫 写得非常详细,赞一个!n-cpu-moe 这个坑确实反直觉——一般都会以为塞越多进 GPU 越快,结果显存爆了反而断崖式掉速。你用 38 那个点刚好卡在甜区,很典型的 8G 卡经验。
关于你提到的 Agent 速度问题(prompt processing 慢),补充两个小技巧:
-
llama.cpp server 可以开
--cont-batching(默认就是开的),配合--parallel 1不用改,关键是把 ctx-size 降到 Agent 实际够用的大小。你用 Hermes 的话 16K~24K 通常就够一轮 Agent 调用,不用开 65536。短 ctx 的 prompt processing 会快很多。 -
可以试试在 llama.cpp 里用 slot save/restore。先 warm up 一次把 system prompt + tool definitions 跑完,然后
/slotsave 0 /tmp/slot存下来,之后每次新会话先/slotrestore 0 /tmp/slot加载,省掉反复处理那几万 token 系统提示的时间。不过这个要开--slot-save-path参数。
你可以先试降低 ctx-size,效果最直接。另外 Hermes 模型配置里把不必要的 tool 关掉也能减少每轮的输入长度。
-
-
精品帖子,这是论坛的意义,就是分享了之后其他人过来实践。
原帖:https://lcz.me/topic/213/rtx4060-8g显存-运行qwen3.6-35b-a3b-apex-mtp包含两种方式及测试结果
置顶! -
T terry 固定了该主题
-
系统 取消固定了该主题
-
【实测】3070Ti 8G 显存跑 Qwen3.6-35B-A3B,并在另一台 Linux 上用 Hermes 调用(含踩坑全过程)
最近看到论坛里有人用 4060 8G 跑起了 Qwen3.6-35B-A3B 这个 MoE 模型,速度还挺能打,我手里正好有张 3070Ti(也是 8G 显存),就想着照葫芦画瓢搞一套——而且我的需求稍微复杂点:模型跑在我的 Windows 台式机上,但我想在另一台 Linux 机器上用 Hermes Agent 来调用它,两台在同一个局域网里。
折腾了一个晚上,端到端跑通了。中间踩了一个挺反直觉的坑,速度一度只有 6 t/s,差点以为这卡不行,最后定位到是个参数问题,救回到了 33~38 t/s。把全过程记一下,给同样 8G 卡入门的朋友省点时间。
先放结论:8G 显存完全能跑这个 35B 的 MoE 模型,3070Ti 短上下文生成稳定 33~38 t/s,和那位用 4060 的老哥水平一致。
我的配置
- 模型机:Windows 台式机,RTX 3070Ti(8G),32G 内存
- 客户机:另一台 Linux,同一局域网
- 模型:Qwen3.6-35B-A3B-APEX-MTP-I-Mini.gguf(约 13G)
- 推理框架:llama.cpp(Windows CUDA 预编译包)
- Agent:Hermes(装在 Linux 那台)
原理我也是现学的:这模型虽然标着 35B,但它是 MoE 架构,每个 token 只激活约 3B 参数。llama.cpp 可以把大部分用不上的"专家层"卸载到内存里,显存只留必要的部分,再开 MTP(多 token 预测)投机解码提速——这样 8G 小卡就能跑起来了。
第一步:装 llama.cpp
去官方 release 页面下载:
https://github.com/ggml-org/llama.cpp/releases我是 N 卡,所以下 CUDA 版本。这里有个点要注意——CUDA 版本要下两个文件:一个主程序包,一个 cudart 运行库包。我
nvidia-smi显示 CUDA 13.1,就下了 CUDA 13.1 那组(如果你的显示是 12 点几,就下 CUDA 12.4 那组,兼容性更广)。第一个坑(轻微):这俩 zip 必须解压到同一个文件夹,让里面的
cudart64_*.dll和llama-server.exe待在一起,不然启动报缺 DLL。我一开始差点分开放了。解压完先验证一下:
.\llama-server.exe --version .\llama-server.exe --list-devices--list-devices能看到我的 3070Ti,说明 CUDA 链路通了,放心继续。
第二步:下模型
HuggingFace 仓库:
mudler/Qwen3.6-35B-A3B-APEX-MTP-GGUF,进「Files and versions」标签。里面一堆量化档,我对着 8G 显存选了 I-Mini(约 13G)。这里我手抖了一下,第一次下成了 I-Nano(更小、更省但质量略低),发现下错赶紧重下了 I-Mini。提醒大家认准文件名里是 Mini 不是 Nano/Compact/Balanced。
放到
C:\models\,下完用dir核对一下文件名和大小,别下到半截。
第三步:写 preset.ini
在
C:\models\建个preset.ini。Windows 隐藏后缀,我直接用 PowerShell 生成,免得存成.txt:version = 1 [*] parallel = 1 n-gpu-layers = 999 ctx-size = 65536 predict = 4096 flash-attn = on cache-type-k = q8_0 cache-type-v = q8_0 threads = 8 threads-batch = 16 [qwen36-apex-mtp-mini] model = C:\models\Qwen3.6-35B-A3B-APEX-MTP-I-Mini.gguf load-on-startup = true n-cpu-moe = 30 spec-type = draft-mtp spec-draft-n-max = 3 cache-type-k-draft = q8_0 cache-type-v-draft = q8_0(注意:这是我最初抄的参数,
n-cpu-moe = 30——这个值后面就是我踩坑的元凶,往下看。)
第四步:起服务,本机自测
我先用
127.0.0.1起,确认模型本身能跑,再考虑开局域网:.\llama-server.exe --models-preset C:\models\preset.ini --host 127.0.0.1 --port 8888等了几十秒加载完,日志出现 listening,浏览器开
http://127.0.0.1:8888能聊天了。当时挺高兴,以为大功告成。
第五步:测速,傻眼了——只有 6 t/s
我顺手测了下速度,看 server 日志:
tg = 6.55 t/s tg = 6.40 t/s tg = 6.00 t/s6 t/s?! 那位 4060 老哥都能跑 35~38,我 3070Ti 带宽比他高,怎么反而只有他六分之一?当时第一反应是"GPU 没用上、全在 CPU 上跑"。
跑了个
nvidia-smi一看,结果跟我想的完全相反:Memory-Usage: 7920MiB / 8192MiB GPU-Util: 92%GPU 不但在用,还满载 92%,显存也几乎占满了——7920/8192,只剩 200 多 MB。
这下我懂了:不是 GPU 没干活,是显存爆了。太多专家层挤进了 8G 显存,把它撑到接近满,于是系统疯狂在显存和内存之间倒腾数据,速度直接崩。
那位 4060 老哥的帖子里其实早就警告过这个:
n-cpu-moe调太低,让太多专家进 GPU,显存反而拉满、速度反而掉。我用的n-cpu-moe = 30对我这台就是太低了——因为我桌面上还开着一堆 Edge、Chrome、WPS,它们本身就偷占了显存,留给模型的空间更少,所以同样的参数我比他更容易爆。
第六步:调参,救回 38 t/s
解法很简单:把
n-cpu-moe调大,把更多专家赶到内存里去(我有 32G 内存,扛得住)。把
n-cpu-moe = 30改成38,重启服务,再测:tg = 38.69 t/s tg = 35.69 t/s tg = 33.00 t/s回来了! 33~38 t/s,跟 4060 老哥一个水平。再看显存:
Memory-Usage: 5547MiB / 8192MiB从 7920 降到 5547,腾出 2.6G 余量,不再爆显存,速度自然就上来了。
这是整个过程最值得记的一条经验:
8G 卡上不是"塞进 GPU 的越多越快"。显存一旦逼近爆满,速度反而断崖式下跌。甜点是显存占到 6~7G、留 1G 以上余量。
- 显存爆/慢 → 调大
n-cpu-moe(更多专家去内存,省显存) - 显存还很空 → 调小
n-cpu-moe(多留专家在显存,更快)
另外测速前把浏览器、WPS 那些吃显存的程序关掉,能多还给模型几百 MB~1G,可以把
n-cpu-moe调得更激进。我这台桌面占用大,所以甜点比那位老哥的 30 高,落在 38 左右。每台机器不一样,大家按
nvidia-smi自己微调。
第七步:对局域网开放
模型端搞定,接下来要让 Linux 那台连过来。
先把服务从
127.0.0.1改成0.0.0.0重启(这俩的区别是:127.0.0.1只有本机能连,0.0.0.0才对局域网开放):.\llama-server.exe --models-preset C:\models\preset.ini --host 0.0.0.0 --port 8888然后
ipconfig查台式机的局域网 IP(我的是192.168.1.10)。这里插一句:ipconfig里可能有好几个 IP,那个198.18.x.x是代理软件的虚拟网卡、172.x.x.x是 WSL 的,都不是真实局域网 IP,别选错。认准「以太网/WLAN」那个192.168.x.x。最关键的一步——放行防火墙,这是跨机器连不上最常见的坑。管理员开 PowerShell:
New-NetFirewallRule -DisplayName "llama-server 8888" -Direction Inbound -Protocol TCP -LocalPort 8888 -Action Allow顺便确认台式机的网络是「专用网络」不是「公用网络」,公用网络防火墙会更严。
第八步:Linux 上验证 + 装 Hermes
我没急着装 Hermes,先在 Linux 上
curl戳一下,确认网络真通了(把网络问题和软件问题分开):curl http://192.168.1.10:8888/v1/models返回了一段 JSON,里面有模型名——通了!这一步过了,后面就是纯软件配置,不会再有网络玄学。
然后装 Hermes(Linux 上前置只要 Git,其余自动装,具体命令照官方 README 走),配模型:
hermes model选自定义模型,填:
- Base URL:
http://192.168.1.10:8888/v1—— 注意填台式机的真实 IP,千万别填 127.0.0.1,在 Linux 上那指的是 Linux 自己,连不到台式机。 - API Key:
local(占位符,不能留空)
它自动拉出模型列表,选中,终端发句话——能正常回话了,端到端打通!

一个小插曲:中途 Linux 突然连不上
中间我为了反复调
n-cpu-moe测速,重启服务时图省事用了127.0.0.1,结果 Linux 那台就连不上了。排查了一下发现就是这个原因——改回0.0.0.0就好了。所以大家记住:本机自测用127.0.0.1,给别的机器用必须0.0.0.0,重启别记错地址。
关于 Agent 速度的一点提醒
接进 Hermes 跑起来之后,会明显感觉比浏览器里慢,而且每轮回答开头要先等几秒。一开始我以为又出问题了,后来明白这是正常的:
Agent 每轮会把系统提示 + 工具定义 + 历史一起发过来,动辄上万 token。真正的瓶颈是处理这一大段输入(prompt processing),不是吐字速度。 8G 卡处理长输入本身就慢。这个目前我还在优化,思路是精简工具、控制上下文长度、必要时把 ctx-size 从 65536 降到 32768,等我调出更好的结果再来更新。
总结
整套下来其实不难,唯一的大坑就是
n-cpu-moe那个反直觉的显存问题。给同样 8G 卡的朋友划重点:- CUDA 包下两个(主程序 + cudart),解压到同一目录。
- 模型选 I-Mini(8G 显存合适)。
- 速度慢先看
nvidia-smi,显存爆了就调大n-cpu-moe,别一上来怀疑 GPU 没用上。 - 甜点 = 显存占 6~7G、留 1G 余量;测速前关掉吃显存的后台程序。
- 跨机器:服务用
0.0.0.0、放行防火墙、Linux 先curl验证再装 Hermes。 - Base URL 填模型机真实 IP,不是 127.0.0.1。
3070Ti 8G 跑 35B MoE,33~38 t/s,香。有问题欢迎楼下交流~
@耗奇害死猫
问题的关键是,你弄这么一套,他是跑啥业务的?
他能做什么呢?