Files
2026-07-10 02:36:43 +08:00

976 B

local-agent

Optimization guide for running multiple LLMs on a single Apple Silicon GPU using llama.cpp router mode.

Key Configs

  • Router: ~/.hermes/models-router/ with symlinks, managed via launchd
  • Plist: ~/Library/LaunchAgents/com.jimmyg.llama-server-router.plist
  • INI: ~/.hermes/llama-models.ini (per-model threads: 35B t=14, 27B t=10)
  • Old plists disabled at *.plist.disabled
  • Hermes providers both point to http://localhost:8085/v1

Speeds

Model Router Mode
35B MoE 132 t/s
27B dense 48 t/s

Model switch delay: ~3-4s. Slot-saving doesn't work with router mode.

Key Learnings

  • Don't kill -9 launchd services — use launchctl unload/load
  • Batch: 512/128 not 2048/512 for single-user speed
  • Threads: MoE → 14, dense → 10
  • KV cache: Q4_0 > Q8_0 for bandwidth
  • MTP speculation: --spec-draft-n-max 3 (~2.5x speedup)
  • Full lessons in docs/04-lessons-learned.md