4.3 KiB
2026-05-13 — Stabilisation multi-modèles + profils Hermes finalisés
Résumé
Stabilisation de l'architecture multi-modèles sur gpu-01. Résolution des OOM kills, ajustement des ressources CPU/RAM pour les instances system et monitor. Profils Hermes testés et fonctionnels. Architecture finale : 2 instances Qwen3-1.7B sur 14 CPUs chacune pour des réponses rapides (<3s).
Blocages résolus
OOM kill instances CPU à 6 GB
Symptôme : llama-server-system tué par l'OOM killer en boucle (restart counter >45).
llama-server-system.service: A process of this unit has been killed by the OOM killer.
Cause : Qwen3-1.7B avec --ctx-size 65536 consomme ~6.2 GB (modèle + KV cache).
Le MemoryMax=6G était trop juste.
Fix : MemoryMax=8G puis passage à 14 CPUs (voir section suivante).
--cache-type-k q8_0 crash llama-server GPU
Symptôme : segfault en boucle dès le démarrage du service GPU.
Process 24687 (llama-server) dumped core.
Stack: _ZNK13llama_context5n_ctxEv → load_model
Cause : La version compilée de llama-server ne supporte pas le flag --cache-type-k q8_0.
Crash immédiat dans la phase d'allocation du KV cache.
Fix : Retrait du flag. GPU reste à --ctx-size 32768 sans quantification KV.
À retenir : Ne pas utiliser --cache-type-k sur ce build llama.cpp.
Qwen2.5-14B OOM avec MemoryMax 14 GB
Tentative : Utiliser Qwen2.5-14B sur CPU avec 14 GB RAM pour avoir un meilleur modèle.
Cause du fail : Qwen2.5-14B a head_dim=256 (vs 128 pour les autres). Le KV cache
à 65536 tokens = 24 GB seul. Même à 32768 tokens : 12 GB KV + 8.8 GB modèle = 21 GB.
Incompatible avec 14 GB MemoryMax quelle que soit la configuration.
Fix : Retour sur Qwen3-1.7B — modèle ultra-léger (1.1 GB), KV cache à 32768 = ~3.5 GB. Total ~4.8 GB, largement dans 14 GB.
Architecture finale gpu-01
Ressources CPU (5950X 16c/32t)
| Zone | CPUs logiques | Cœurs physiques | Usage |
|---|---|---|---|
| system | 0-6, 16-22 | 0-6 (× 2 threads) | llama-server-system |
| monitor | 7-13, 23-29 | 7-13 (× 2 threads) | llama-server-monitor |
| libre | 14-15, 30-31 | 14-15 | OS + GPU coordination |
Services
| Service | Port | Modèle | CPUs | RAM | Vitesse |
|---|---|---|---|---|---|
llama-server |
1234 | Qwen3-8B GPU | — | VRAM 12G | ~35 tok/s |
llama-server-system |
1236 | Qwen3-1.7B | 14 (0-6,16-22) | 6G | ~21 tok/s |
llama-server-monitor |
1237 | Qwen3-1.7B | 14 (7-13,23-29) | 6G | ~21 tok/s |
Profil dev supprimé
llama-server-dev (port 1235, Qwen2.5-7B) supprimé. Ses ressources redistribuées.
qwen2.5-7b-dev retiré de LiteLLM. Profil Hermes dev gardé mais inutilisé.
Profils Hermes
Tableau final
| Profil | Alias | Modèle | Usage |
|---|---|---|---|
funk-ai ◆ |
funk-ai |
qwen3-8b (GPU) | Principal, par défaut |
brain |
brain |
claude-sonnet-4-6 | Analyse complexe / coûteux |
system |
system |
qwen3-1.7b-system | Appels rapides depuis funk-ai/brain |
monitor |
monitor |
qwen3-1.7b-monitor | Appels rapides depuis funk-ai/brain |
Changer de profil
Pas de changement à chaud dans le TUI — ouvrir une nouvelle session :
funk-ai # TUI avec Qwen3-8B GPU (défaut)
brain # TUI avec Claude Sonnet
system # TUI avec Qwen3-1.7B (appels rapides)
monitor # TUI avec Qwen3-1.7B (appels rapides)
context_length override
Hermes exige 64k context minimum. Les modèles CPU reportent 32768 via /v1/models.
Override dans chaque profiles/<nom>/config.yaml :
model:
context_length: 65536 # bypass la vérification Hermes
LiteLLM config finale
# GPU
hermes-default / qwen3-8b → http://192.168.10.20:1234/v1
# CPU
qwen3-1.7b-system → http://192.168.10.20:1236/v1
qwen3-1.7b-monitor → http://192.168.10.20:1237/v1
# Cloud
claude-sonnet-4-6 / claude-opus-4-7 → api.anthropic.com
État final
funk-ai: opérationnel, profil par défaut ✅brain: opérationnel (Claude API) ✅system: Qwen3-1.7B 14 CPUs, ~21 tok/s ✅monitor: Qwen3-1.7B 14 CPUs, ~21 tok/s ✅
Prochaines étapes
- Tester les appels inter-profils (funk-ai → system/monitor via tool calls)
- Commit git initial du repo
- Route statique Freebox
192.168.10.0/24→192.168.1.200