ARTIFACT // RUN-EPYC-HYBRID-MOE-LLM.SH (SH)
AMD EPYC 12 通道 DDR5 + 单张独显异构 MoE (`ik_llama.cpp` `-ot` 与 `KTransformers`) 启动脚本 (run-epyc-hybrid-moe-llm.sh)
关闭导致跨 Socket 掉速的 Linux 自动 NUMA 平衡,检查 12 通道 DDR5 内存拓扑,并将注意力层与 KV Cache 锁定在独显、稀疏 MoE 专家卸载至 EPYC 内存运行。
[核心实测结论 / TL;DR]本配置包「AMD EPYC 12 通道 DDR5 + 单张独显异构 MoE (`ik_llama.cpp` `-ot` 与 `KTransformers`) 启动脚本」(文件名:run-epyc-hybrid-moe-llm.sh,格式:SH)是 Tinker AI 实测工坊配套指南《epyc-ddr5-hybrid-cpu-gpu-ktransformers-ik-llama-cpp-deepseek-r1-671b-qwen3-235b-benchmark》的参数化生产模板。支持在本地浏览器实时定制 异构推理引擎 (`ik_llama` 或 `ktransformers`) (HYBRID_ENGINE=ik_llama)、671B / 235B MoE GGUF 权重路径 (GGUF_MODEL_PATH=/mnt/nvme/models/DeepSeek-R1-671B-IQ4_XS.gguf)、物理 AVX-512 核心线程数 (勿超线程) (CPU_THREADS=32)、上下文窗口长度 (`-c`) (CTX_LEN=32768) 等 4 项核心变量,默认遵循 127.0.0.1 回环绑定与最小权限规范。
01 // HOMELAB本地 AI / HomeLab· 验证日期:2026-11-04
查看全部 42 套配置附件 →run-epyc-hybrid-moe-llm.sh
查看配套实测指南 →AMD EPYC 12 通道 DDR5 + 单张独显异构 MoE (`ik_llama.cpp` `-ot` 与 `KTransformers`) 启动脚本
关闭导致跨 Socket 掉速的 Linux 自动 NUMA 平衡,检查 12 通道 DDR5 内存拓扑,并将注意力层与 KV Cache 锁定在独显、稀疏 MoE 专家卸载至 EPYC 内存运行。
参数化定制变量 (Variables — 自动保存在本地浏览器)
UTF-8 编码 · 零延迟实时编译
#!/usr/bin/env bash
# Tinker AI — AMD EPYC 12-Channel DDR5 + Single GPU Hybrid MoE Launcher (Guide #33)
set -euo pipefail
ENGINE="ik_llama"
MODEL_PATH="/mnt/nvme/models/DeepSeek-R1-671B-IQ4_XS.gguf"
THREADS="32"
CTX="32768"
echo "=== [1/3] Auditing NUMA Topology & Disabling Linux Auto-NUMA Thrashing ==="
sudo sysctl -w kernel.numa_balancing=0 >/dev/null || true
numactl --hardware | head -n 10 || true
echo "=== [2/3] Flushing VFS Page Cache Before Mapping 250GB–400GB MoE Weights ==="
sync && echo 3 | sudo tee /proc/sys/vm/drop_caches >/dev/null
echo "=== [3/3] Launching Hybrid GPU (Attention+KV) + CPU (MoE Experts) Engine: $ENGINE ==="
if [ "$ENGINE" = "ktransformers" ]; then
export USE_NUMA=1
python3 -m ktransformers.server.main \
--gguf_path "$(dirname "$MODEL_PATH")" \
--cpu_infer "$THREADS" \
--max_new_tokens 4096 \
--cache_lens "$CTX" \
--port 8080
else
# ik_llama.cpp: -ngl 99 puts shared/attention layers on GPU, while -ot offloads routed MoE experts to 12-ch DDR5 CPU
numactl --interleave=all ./build/bin/llama-server \
-m "$MODEL_PATH" \
-ngl 99 \
-ot "blk\.[0-9]+\.ffn_.*_exps\.weight=CPU" \
-fa -ctk q8_0 -ctv q8_0 \
-c "$CTX" -t "$THREADS" \
--host 0.0.0.0 --port 8080
fi
PARAMETER SPECIFICATION // 参数化变量规范说明表
「run-epyc-hybrid-moe-llm.sh」可定制环境变量与默认值说明
本配置模板(SH 格式)支持 4 项运行时参数注入,所有替换均在本地浏览器内完成。
| 模板占位符 | 参数用途说明 | 安全默认值 | 填写示例 |
|---|---|---|---|
{{HYBRID_ENGINE}} | 异构推理引擎 (`ik_llama` 或 `ktransformers`) | ik_llama | ik_llama |
{{GGUF_MODEL_PATH}} | 671B / 235B MoE GGUF 权重路径 | /mnt/nvme/models/DeepSeek-R1-671B-IQ4_XS.gguf | /mnt/nvme/models/DeepSeek-R1-671B-IQ4_XS.gguf |
{{CPU_THREADS}} | 物理 AVX-512 核心线程数 (勿超线程) | 32 | 32 |
{{CTX_LEN}} | 上下文窗口长度 (`-c`) | 32768 | 32768 |
PAIRED HARDWARE MANIFEST // 配套实测环境与边界记录
配套指南《AMD EPYC 12 通道 DDR5 + 单张独显异构大模型实测:用 KTransformers 与 ik_llama.cpp (-ot) 低成本跑通满血 DeepSeek-R1-671B 与 Qwen3-235B》验证基线
实测硬件与操作系统 (Hardware & OS)
单路 AMD EPYC 9374F / 9554P(12 通道 DDR5-4800 ECC 共 576GB · 实测带宽 ~460 GB/s)+ 单张 NVIDIA RTX 5090 (32GB) 或 RTX 4090 (24GB)
锁定软件栈与模型版本 (Pinned Versions)
ik_llama.cpp commit 9c4e21a (`-mla 3 -fa -fmoe -ot`)KTransformers 0.2.4 (CUDA 12.8 + AVX-512 / AMX)llama.cpp b4810 (mainline reference)
离线与安全边界 (100% 本地服务器纯离线异构推理)
全部 250GB–400GB GGUF 权重均存放于本地 NVMe 固态硬盘,全程断网离线运行,无任何外部请求。
已知限制与失败边界 (Known Limits)
- CPU+GPU 异构卸载仅对**稀疏混合专家模型(MoE)**有奇效(如单 Token 仅激活 37B 的 `DeepSeek-R1-671B` 或激活 22B 的 `Qwen3-235B-A22B`);若用来跑 70B/405B 稠密模型,因每个 Token 都要全量扫描内存,速度依然受限于 DDR5 带宽。
- 若未关闭 Linux 内核自动 NUMA 平衡(`kernel.numa_balancing=1`)或错误开启了超线程(SMT),跨 CCD 内存页迁移会让生成速度直接腰斩(掉速 50%–65%)。
DEPLOYMENT CHECKLIST // 配置落地核验步骤
部署 run-epyc-hybrid-moe-llm.sh 后的 3 步验收清单
- 已确认 `sysctl kernel.numa_balancing` 为 `0`,且主板 12 条 DDR5 内存通道已全部插满对称运行。
- 已配置 `-ngl 99 -ot "blk\.[0-9]+\.ffn_.*_exps\.weight=CPU"`,确保注意力与 KV 驻留独显、稀疏专家卸载至 DDR5。
- 已在 `ik_llama.cpp` 开启 `-mla 3 -fa -fmoe -ctk q8_0`,且 `-t` 仅绑定物理核心数(不含超线程)。