Files
Effi/docs/gpu/optimization.md
Folzo b93148c511 docs: add audio TTS/STT research and GPU optimization documentation
- Add docs/audio/tts-research.md with Voxtral TTS, Kokoro-FastAPI, openedai-speech comparison
- Add docs/audio/stt-research.md with Voxtral STT, faster-whisper options
- Add docs/gpu/optimization.md with OLLAMA_KEEP_ALIVE and VRAM management
- Add docs/README.md with architecture overview
- Add index files for docs navigation

Research conducted April 2026 for future audio improvements
2026-04-08 12:50:57 +02:00

4.1 KiB

GPU Optimization - Avril 2026

Contexte

Optimisation GPU pour éviter le blocage de la RX 7800 XT 16GB par Ollama et les services TTS/STT.


Problème Initial

Symptôme: GPU bloqué à 100% utilisation malgré l'inactivité Cause: OLLAMA_KEEP_ALIVE=-1 (défaut) - modèles chargés indéfiniment en VRAM


Solutions Appliquées

1. OLLAMA_KEEP_ALIVE=0 ✅ APPLIQUÉ

Configuration

# Fichier: /etc/systemd/system/ollama.service.d/override.conf
[Service]
Environment=OLLAMA_KEEP_ALIVE=0

Application

# Redémarrer le service Ollama
sudo systemctl restart ollama

# Vérifier
systemctl show ollama | grep Environment
# Doit afficher: OLLAMA_KEEP_ALIVE=0

Vérification

# Test: faire une requête puis vérifier VRAM
curl -s http://localhost:11434/api/ps
# Doit montrer "models": [] après requête

rocm-smi --showmeminfo vram
# Doit montrer ~3-9% VRAM après requête (idle)

2. WoL Proxy Timeout ⚠️ MODIFIÉ

Configuration Actuelle

# wol-proxy/app.py
WAKE_TIMEOUT = 60  # Secondes
timeout = 600      # Ancien: 10 minutes (problème)

Problème

  • Timeout de 600s (10 minutes) maintenait les connexions longues
  • Empêchait Ollama de décharger les modèles

Solution

  • Réduire timeout à une valeur plus basse
  • Ou utiliser keep_alive=0 dans les requêtes

Surveillance GPU

Commandes Utiles

# VRAM et utilisation GPU
rocm-smi --showmeminfo vram --showuse

# Watching en temps réel
watch -n 1 rocm-smi --showmeminfo vram --showuse

# Vérifier processus Ollama
ps aux | grep ollama

# Forcer déchargement si nécessaire
~/scripts/kill-ollama.sh

Scripts Disponibles

Script Fonction
~/scripts/kill-ollama.sh Tuer processus Ollama bloquants
~/scripts/configure-ollama-antiblock.sh Configure OLLAMA_KEEP_ALIVE=0
~/Documents/OpenCode/Projets/Effi/scripts/diagnose-gpu.sh Diagnostic GPU
~/Documents/OpenCode/Projets/Effi/scripts/debug-gpu.sh Debug avancé

VRAM par Service

Configuration Actuelle

Service VRAM Emplacement
Ollama (qwen3.5:latest, Q4_K_M) ~2.5GB Fedora (192.168.1.11)
openedai-speech (XTTS) ~4GB Ubuntu (192.168.1.27)
faster-whisper CPU Ubuntu (192.168.1.27)

Options TTS avec VRAM

Solution VRAM Notes
Voxtral TTS (BF16) 16GB+ Trop lourd
Voxtral TTS (Q4 GGUF) ~3GB Incompatible vLLM-Omni
Kokoro-FastAPI ~2-4GB ✅ Compatible
openedai-speech ~4GB Actuel

Problèmes Connus

1. expires_at: 4 heures

Symptôme: Modèle charge avec expires_at 4h dans le futur même avec KEEP_ALIVE=0

Causes possibles:

  • OpenWebUI envoie keep_alive custom dans les requêtes
  • WoL proxy timeout
  • Configuration OpenWebUI

Investigation:

# Vérifier si OpenWebUI envoie keep_alive custom
ssh ubuntu-server "docker exec open-webui env | grep -i keep"

# Vérifier logs OpenWebUI
docker logs open-webui -f

2. Stuck Runner Processes

Symptôme: Processus ollama runner restent en mémoire

Solution:

# Identifier les processus
ps aux | grep "ollama runner"

# Tuer manuellement
kill -9 <PID>

# Ou utiliser le script
~/scripts/kill-ollama.sh

Monitoring Recommandé

Beszel + Dozzle (Planifié)

Installation prévue sur Synology (192.168.1.25):

  • Beszel Hub: 8090 (surveillance CPU/RAM/GPU)
  • Dozzle: 8888 (logs Docker)

Agents sur:

  • Folzo Corp (Fedora): Agent Beszel
  • Effi-Serveur (Ubuntu): Agent Beszel

Checklist GPU

  • OLLAMA_KEEP_ALIVE=0 configuré
  • Service Ollama redémarré
  • WoL proxy timeout réduit
  • VRAM vérifiée après usage
  • Monitoring Beszel+Dozzle installé
  • SSH Synology réparé

Références


Document créé: Avril 2026 Dernière mise à jour: Avril 2026