ARTIFACT // BENCH-QWEN35-GEMMA4-GPTOSS.SH (SH)
Mac mini M5 Pro (64GB) 与 2026 新架构模型(Qwen3.5 线性注意力 / Gemma 4 / gpt-oss MXFP4)长上下文实测脚本 (bench-qwen35-gemma4-gptoss.sh)
自动核验 macOS Metal 锁定内存上限(或独显显存),对比测试 Qwen3.5(3:1 Gated DeltaNet 固定状态)、Gemma 4 与 gpt-oss(MXFP4)在 8K 与 128K 超长上下文下的真实内存增量,并以 --jinja 与 --cache-reuse 启动推理服务。
[核心实测结论 / TL;DR]本配置包「Mac mini M5 Pro (64GB) 与 2026 新架构模型(Qwen3.5 线性注意力 / Gemma 4 / gpt-oss MXFP4)长上下文实测脚本」(文件名:bench-qwen35-gemma4-gptoss.sh,格式:SH)是 Tinker AI 实测工坊配套指南《mac-mini-m5-pro-64gb-and-2026-hybrid-attention-mxfp4-models-qwen35-gemma4-gptoss-local-llm-benchmark》的参数化生产模板。支持在本地浏览器实时定制 2026 新一代 GGUF / MXFP4 模型路径 (GGUF_PATH=./models/Qwen3.5-35B-A3B-Q4_K_M.gguf)、长上下文窗口 (-c,Qwen3.5 原生支持最高 262144) (CTX_TOKENS=131072)、macOS Metal 锁定内存上限 MB(64GB M5 Pro 推荐 55296) (WIRED_MB=55296)、推理服务监听端口 (LISTEN_PORT=8080) 等 4 项核心变量,默认遵循 127.0.0.1 回环绑定与最小权限规范。
01 // HOMELAB本地 AI / HomeLab· 验证日期:2026-11-11
查看全部 48 套配置附件 →bench-qwen35-gemma4-gptoss.sh
查看配套实测指南 →Mac mini M5 Pro (64GB) 与 2026 新架构模型(Qwen3.5 线性注意力 / Gemma 4 / gpt-oss MXFP4)长上下文实测脚本
自动核验 macOS Metal 锁定内存上限(或独显显存),对比测试 Qwen3.5(3:1 Gated DeltaNet 固定状态)、Gemma 4 与 gpt-oss(MXFP4)在 8K 与 128K 超长上下文下的真实内存增量,并以 --jinja 与 --cache-reuse 启动推理服务。
参数化定制变量 (Variables — 自动保存在本地浏览器)
UTF-8 编码 · 零延迟实时编译
#!/usr/bin/env bash # Tinker AI — Mac mini M5 Pro (64GB) & 2026 Qwen3.5 / Gemma 4 / gpt-oss Long-Context Runner (Guide #46) set -euo pipefail MODEL="./models/Qwen3.5-35B-A3B-Q4_K_M.gguf" CTX="131072" WIRED="55296" PORT="8080" echo "=== [1/3] Auditing Host Memory Ceiling (Apple Silicon Metal vs Linux CUDA) ===" if [ "$(uname -s)" = "Darwin" ]; then system_profiler SPHardwareDataType | grep -E "Chip:|Memory:" || true echo "Raising iogpu.wired_limit_mb to $WIRED MB (prevents premature swap on 64GB Mac mini M5 Pro)..." sudo sysctl -w iogpu.wired_limit_mb="$WIRED" || true vm_stat | grep -E "Pages free|Swapins|Swapouts" else nvidia-smi --query-gpu=index,name,memory.total,memory.free --format=csv || true fi echo "=== [2/3] Deterministic PP2048 / TG128 Benchmark (Flash Attention + Q8_0 KV) ===" ./build/bin/llama-bench \ -m "$MODEL" \ -ngl 99 -fa 1 -ctk q8_0 -ctv q8_0 \ -p 2048 -n 128 -r 3 -o md echo "=== [3/3] Starting llama-server (Context=$CTX, --jinja & --cache-reuse preserve DeltaNet state) ===" ./build/bin/llama-server \ -m "$MODEL" \ -ngl 99 --jinja --cache-reuse 256 \ -fa -ctk q8_0 -ctv q8_0 \ -c "$CTX" -ub 2048 -b 2048 \ --host 0.0.0.0 --port "$PORT"
PARAMETER SPECIFICATION // 参数化变量规范说明表
「bench-qwen35-gemma4-gptoss.sh」可定制环境变量与默认值说明
本配置模板(SH 格式)支持 4 项运行时参数注入,所有替换均在本地浏览器内完成。
| 模板占位符 | 参数用途说明 | 安全默认值 | 填写示例 |
|---|---|---|---|
{{GGUF_PATH}} | 2026 新一代 GGUF / MXFP4 模型路径 | ./models/Qwen3.5-35B-A3B-Q4_K_M.gguf | ./models/Qwen3.5-35B-A3B-Q4_K_M.gguf |
{{CTX_TOKENS}} | 长上下文窗口 (-c,Qwen3.5 原生支持最高 262144) | 131072 | 131072 |
{{WIRED_MB}} | macOS Metal 锁定内存上限 MB(64GB M5 Pro 推荐 55296) | 55296 | 55296 |
{{LISTEN_PORT}} | 推理服务监听端口 | 8080 | 8080 |
PAIRED HARDWARE MANIFEST // 配套实测环境与边界记录
配套指南《Apple Mac mini M5 Pro(64GB · 307 GB/s)与 2026 开源大模型架构剧变实测:Qwen3.5(3:1 Gated DeltaNet 线性注意力)、Gemma 4(Apache 2.0)与 OpenAI gpt-oss(原生 MXFP4)128K 长上下文全解》验证基线
实测硬件与操作系统 (Hardware & OS)
Apple Mac mini M5 Pro(18 核 CPU / 20 核内置 Metal 4 神经网络加速器的 GPU · 64GB 统一内存 · 307 GB/s 带宽)、NVIDIA RTX 5070 Ti(16GB GDDR7 · 896 GB/s)、RTX 5090(32GB GDDR7)与 RTX PRO 6000 Blackwell(96GB GDDR7)
锁定软件栈与模型版本 (Pinned Versions)
llama.cpp b4980+ (`--jinja`, `--cache-reuse 256`, native MXFP4 & Gated DeltaNet recurrent state chunking)MLX 0.26+ & `mlx-lm` 0.25+ (pure `mlx-lm` path preserving Qwen3.5 DeltaNet recurrent cache across chat turns)Ollama 0.9+ (`ollama run gpt-oss:20b`, `qwen3.5:35b-a3b`, `gemma4:26b-a4b` with `OLLAMA_KV_CACHE_TYPE=q8_0`)Models: OpenAI `gpt-oss-20b` / `gpt-oss-120b` (MXFP4), `Qwen3.5-27B` / `Qwen3.5-35B-A3B` / `Qwen3.5-122B-A10B` (Q4_K_M & Q8_0), Google `Gemma-4-26B-A4B` / `Gemma-4-31B` (Q4_K_M)
离线与安全边界 (100% 本地完全离线且全系 Apache 2.0 可商用开源栈)
本文实测的 Qwen3.5、Gemma 4 与 OpenAI gpt-oss 三大家族均采用宽松的 Apache 2.0 协议,商业内网可 100% 断网私有化部署。
已知限制与失败边界 (Known Limits)
- **`Qwen3.5` 在旧版 `mlx-vlm` 下的多轮对话递归状态丢失陷阱:** 由于 `Qwen3.5` 全系均为原生多模态架构,部分桌面客户端默认将其路由至旧版 `mlx-vlm` 而非 `mlx-lm`。旧版 `mlx-vlm` 在每轮回复结束后会**静默丢弃 Gated DeltaNet 的递归隐藏状态矩阵**,导致第 2 轮起每次发消息都要把几万字历史记录从头重新预填充一遍!纯文本与代码场景请直接使用新版 `mlx-lm >= 0.25` 或 `llama-server --cache-reuse 256`。
- **64GB 版 Mac mini M5 Pro 无法免交换硬塞 `gpt-oss-120b`(约 65.8GB MXFP4):** 即便通过 `sysctl` 将 Metal 锁定上限拉到极限的 56GB,64GB 物理内存也装不下 ~65.8GB 的 `gpt-oss-120b` 权重,强行加载会触发约 10GB SSD Swap 导致吞吐暴跌。64GB Mac mini M5 Pro 的真正黄金组合是 **近似无损的 `Qwen3.5-35B-A3B Q8_0`(约 37GB)或 `Gemma-4-26B-A4B Q8_0` 配满 128K 超长上下文**;跑 `120B+` 模型请上 96GB 独显或 128GB Mac Studio / Strix Halo。
- **运行 `gpt-oss` 与 `Gemma 4` 必须开启 `--jinja` 模板引擎:** 在 `llama-server` 中漏加 `--jinja` 会导致 `gpt-oss` 的 `reasoning_effort`(`low / medium / high` 三档思考强度)以及 `Gemma 4` 的 `<|think|>` 推理标签和系统提示词失效。
DEPLOYMENT CHECKLIST // 配置落地核验步骤
部署 bench-qwen35-gemma4-gptoss.sh 后的 3 步验收清单
- 已升级至 `llama.cpp b4980+`(带 `--jinja --cache-reuse 256`)或 `mlx-lm >= 0.25`,并实测 32K+ 长会话第 2 轮首字延迟低于 `500 ms`(递归状态未丢失)。
- 在 64GB Mac mini M5 Pro 上已设置 `iogpu.wired_limit_mb=55296`,并确认 128K 长上下文压测期间 `Swapouts` 零增长。
- 已按显存档位精准匹配 2026 新模型:16GB 卡选 `gpt-oss-20b` MXFP4;24GB–64GB 选 `Qwen3.5-27B / 35B-A3B` 或 `Gemma-4-26B-A4B`;96GB+ 选 `gpt-oss-120b` 或 `122B-A10B`。