?
TemplateavancéVérifié le 2025-05

Architecture de déploiement local

Concevoir une stack complète pour de l'inférence locale : hardware, software, monitoring.

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

Sources

localarchitecturehardware