976 B
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 -9launchd services — uselaunchctl unload/load - Batch:
512/128not2048/512for 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