docs: progression 2026-05-14 + désignore progress/

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
alkatrazz 2026-05-14 22:28:10 +02:00
parent e17396a150
commit 24c0bf9e12
9 changed files with 1093 additions and 2 deletions

140
progress/2026-05-13.md Normal file
View file

@ -0,0 +1,140 @@
# 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 :
```bash
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` :
```yaml
model:
context_length: 65536 # bypass la vérification Hermes
```
---
## LiteLLM config finale
```yaml
# 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`