Architecture de déploiement local pour LLMs
Déployer des LLMs en local offre confidentialité totale, latence minimale et absence de coûts récurrents. Ce guide couvre le choix du hardware, du software et du monitoring.
Architecture de référence
Clients → Load Balancer (nginx) → vLLM/Ollama → GPU(s) → Monitoring (Prometheus/Grafana)Hardware
GPU - le composant critique
- NVIDIA A100 80 Go : Standard pour la production (Llama 70B en FP16)
- NVIDIA A40 48 Go : Bon rapport qualité/prix
- NVIDIA RTX 4090 24 Go : Meilleur choix consumer (Llama 70B en Q4)
- Apple M-series : Mac Studio M2 Ultra (192 Go) pour du local confortable
Configurations recommandées
- Modèle 7B : 1x RTX 4060 (8 Go VRAM) ou Mac M1 8 Go
- Modèle 13-34B : 1x RTX 4090 (24 Go) ou Mac M2 Pro 32 Go
- Modèle 70B (Q4) : 1x RTX 4090 ou 2x RTX 4080 ou Mac M2 Ultra
- Modèle 70B (FP16) : 2x A100 80 Go
Stockage
- SSD NVMe rapide pour le chargement des modèles
- 500 Go minimum (les modèles font 4-140 Go chacun)
Stack software
Moteur d'inférence
- Ollama : Simplicité maximale, idéal pour le développement
- vLLM : Performance maximale, idéal pour la production
- llama.cpp : Ultra-flexible, fonctionne sur CPU
- TGI (Hugging Face) : Bonne alternative à vLLM
Reverse proxy
# nginx.conf
upstream llm_backend {
server 127.0.0.1:8000;
server 127.0.0.1:8001;
}
server {
listen 443 ssl;
location /v1/ {
proxy_pass http://llm_backend;
proxy_read_timeout 300s;
}
}Interface utilisateur
- Open WebUI : Interface ChatGPT-like pour les utilisateurs finaux
- API directe : Pour l'intégration dans vos applications
Monitoring
Métriques essentielles
- Utilisation GPU (nvidia-smi / DCGM)
- Tokens par seconde (throughput)
- Latence P50/P95/P99
- File d'attente des requêtes
- Température GPU
Stack de monitoring
# docker-compose.yml
services:
prometheus:
image: prom/prometheus
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
grafana:
image: grafana/grafana
ports:
- "3000:3000"Bonnes pratiques
- Gardez le modèle chargé en mémoire GPU en permanence
- Configurez des alertes sur la température GPU (> 85C)
- Prévoyez un fallback cloud en cas de panne hardware
- Automatisez les mises à jour de modèles
- Sauvegardez vos configurations et Modelfiles dans git