TinkerLab
ARTIFACT // LAUNCH-LLAMA-CPP-N-CPU-MOE.SH (SH)

llama.cpp 原生 --n-cpu-moe 消费级独显 + 双通道 DDR5 异构 MoE 启动脚本(12GB–24GB 显存) (launch-llama-cpp-n-cpu-moe.sh)

通过 nvidia-smi 检测可用显存,将 100% 注意力层与 Q8_0 KV Cache 锁定在独显内(-ngl 99 -fa),并通过原生 --n-cpu-moe 将指定层数的稀疏专家权重卸载至双通道 DDR5 内存。

[核心实测结论 / TL;DR]本配置包「llama.cpp 原生 --n-cpu-moe 消费级独显 + 双通道 DDR5 异构 MoE 启动脚本(12GB–24GB 显存)」(文件名:launch-llama-cpp-n-cpu-moe.sh,格式:SH)是 Tinker AI 实测工坊配套指南《llama-cpp-n-cpu-moe-hybrid-offload-16gb-24gb-vram-ddr5-vs-rtx-5080-super-24gb-5070-super-18gb》的参数化生产模板。支持在本地浏览器实时定制 MoE 模型 GGUF 路径(30B-A3B 或 80B-A3B) (MOE_GGUF_PATH=./models/Qwen3-30B-A3B-Q4_K_M.gguf)、卸载至 DDR5 内存的专家层数 (--n-cpu-moe N) (N_CPU_MOE_LAYERS=16)、物理 CPU 线程数 (-t,勿开超线程) (CPU_THREADS=12)、上下文窗口大小 (-c) (CTX_TOKENS=32768) 等 4 项核心变量,默认遵循 127.0.0.1 回环绑定与最小权限规范。
01 // HOMELAB本地 AI / HomeLab· 验证日期:2026-11-06
查看全部 42 套配置附件 →
launch-llama-cpp-n-cpu-moe.sh

llama.cpp 原生 --n-cpu-moe 消费级独显 + 双通道 DDR5 异构 MoE 启动脚本(12GB–24GB 显存)

通过 nvidia-smi 检测可用显存,将 100% 注意力层与 Q8_0 KV Cache 锁定在独显内(-ngl 99 -fa),并通过原生 --n-cpu-moe 将指定层数的稀疏专家权重卸载至双通道 DDR5 内存。

查看配套实测指南 →
参数化定制变量 (Variables — 自动保存在本地浏览器)
UTF-8 编码 · 零延迟实时编译
#!/usr/bin/env bash
# Tinker AI — Mainstream 12GB–24GB GPU + Dual-Channel DDR5 MoE Offload Launcher (Guide #40)
set -euo pipefail

MODEL="./models/Qwen3-30B-A3B-Q4_K_M.gguf"
NCMOE="16"
THREADS="12"
CTX="32768"

echo "=== [1/3] Checking GPU Free VRAM & PCIe Link State ==="
if command -v nvidia-smi >/dev/null 2>&1; then
  nvidia-smi --query-gpu=name,memory.total,memory.free,pcie.link.gen.current,pcie.link.width.current --format=csv
fi

echo "=== [2/3] Verifying llama-server Supports Native --n-cpu-moe ==="
./build/bin/llama-server --help 2>&1 | grep -E -- "--n-cpu-moe|-ncmoe" | head -n 2

echo "=== [3/3] Starting Hybrid MoE Server (-ngl 99 --n-cpu-moe $NCMOE, Attention+KV on GPU, $NCMOE Expert Layers in DDR5) ==="
./build/bin/llama-server \
  -m "$MODEL" \
  -ngl 99 \
  --n-cpu-moe "$NCMOE" \
  -fa -ctk q8_0 -ctv q8_0 \
  -c "$CTX" -t "$THREADS" \
  --host 0.0.0.0 --port 8080
PARAMETER SPECIFICATION // 参数化变量规范说明表

「launch-llama-cpp-n-cpu-moe.sh」可定制环境变量与默认值说明

本配置模板(SH 格式)支持 4 项运行时参数注入,所有替换均在本地浏览器内完成。

模板占位符参数用途说明安全默认值填写示例
{{MOE_GGUF_PATH}}MoE 模型 GGUF 路径(30B-A3B 或 80B-A3B)./models/Qwen3-30B-A3B-Q4_K_M.gguf./models/Qwen3-30B-A3B-Q4_K_M.gguf
{{N_CPU_MOE_LAYERS}}卸载至 DDR5 内存的专家层数 (--n-cpu-moe N)1616
{{CPU_THREADS}}物理 CPU 线程数 (-t,勿开超线程)1212
{{CTX_TOKENS}}上下文窗口大小 (-c)3276832768
PAIRED HARDWARE MANIFEST // 配套实测环境与边界记录

配套指南《单张 12GB–24GB 消费级显卡 + 双通道 DDR5 跑通 30B 与 80B MoE 大模型:llama.cpp 原生 --n-cpu-moe 专家卸载实测与 RTX 5070 SUPER (18GB) / 5080 SUPER (24GB) 显存选型》验证基线

实测硬件与操作系统 (Hardware & OS)

实测平台:AMD Ryzen 9 9900X + 64GB 双通道 DDR5-6400 CL30(实测读取 ~84 GB/s)+ RTX 4070 (12GB) / RTX 5060 Ti (16GB) / RTX 5070 Ti (16GB) / RTX 4090 (24GB) | 规格推算对照:NVIDIA RTX 5070 SUPER (18GB GDDR7 192-bit · ~672 GB/s) 与 RTX 5080 SUPER (24GB GDDR7 256-bit 32 Gbps · ~1,024 GB/s)

锁定软件栈与模型版本 (Pinned Versions)
llama.cpp b4920+ (upstream native `--n-cpu-moe` / `-ncmoe` & `--cpu-moe` / `-cmoe` support)CUDA 12.8 (`GGML_CUDA=1` + Flash Attention `-fa`)Models: Qwen3-30B-A3B-Q4_K_M.gguf (18.6 GB, 48 layers) & Qwen3-Next-80B-A3B-Q4_K_M.gguf (48.2 GB, 48 layers)
离线与安全边界 (100% 本地台式机独显 + DDR5 内存离线运行)

所有 GGUF 权重与 `--n-cpu-moe` 异构张量切分均在本地 PCIe 与系统内存间完成,无任何外部网络依赖。

已知限制与失败边界 (Known Limits)
  • 表 1 中 RTX 4070 (12GB)、RTX 5060 Ti (16GB)、RTX 5070 Ti (16GB) 与 RTX 4090 (24GB) 为本站 Ryzen 9 9900X + DDR5-6400 平台实测数据;而 **RTX 5070 SUPER (18GB)** 与 **RTX 5080 SUPER (24GB)** 两行为基于单颗 3GB (24Gb) GDDR7 显存规格的**理论推算值**,在表中已明确标注 `[规格推算]`。
  • `--n-cpu-moe N` 仅对**稀疏混合专家模型(MoE)**有奇效(因为单 Token 仅激活约 3B 专家权重)。对于稠密模型(如 `Qwen3-32B`、`Llama-3.3-70B`),一旦溢出到双通道 DDR5(~84 GB/s),生成速度依然会跌至个位数。
DEPLOYMENT CHECKLIST // 配置落地核验步骤

部署 launch-llama-cpp-n-cpu-moe.sh 后的 3 步验收清单

  1. 已通过 `llama-server --help | grep n-cpu-moe` 确认当前 `llama.cpp` 版本支持原生 `--n-cpu-moe` (`-ncmoe`) 参数。
  2. 已在 BIOS 或任务管理器中确认台式机 DDR5 内存处于双通道模式且已开启 XMP/EXPO 高频(如 DDR5-6000/6400,而非默认 4800)。
  3. 已将 `-t` 设为 CPU 物理核心数(如 `-t 8` 或 `-t 12`,不计超线程),避免超线程争抢双通道内存控制器带宽。