Guide OMNITRADE
Votre IA perso : guide ultime
Vous souhaitez exécuter Llama 3 ou Mistral sans dépendre du cloud ? Ce tutoriel vous fait installer une IA locale sécurisée sur votre workstation. Résultat : un chatbot privé répondant en moins de 2 secondes, opérationnel en 45 minutes.
Le pas-à-pas : déployer votre IA locale
Ce qu’il vous faut :
- Workstation équipée d’une RTX 3090/4090 (24GB VRAM) ou RTX A6000 (48GB) disponible sur OMNITRADE
- Ubuntu Server 22.04 LTS ou Windows 11 Pro avec WSL2
- Docker Engine 24.0+ et NVIDIA Container Toolkit
- Temps estimé : 45 minutes
Connectez-vous en SSH ou ouvrez un terminal. Vérifiez que votre GPU est bien détecté par le système.
lspci | grep -i nvidia
nvidia-smi
Résultat attendu : « [Votre modèle de carte] affiché avec 0% d’utilisation et la température ambiante ». Si vous voyez « command not found », installez les drivers NVIDIA 535+.
Téléchargez et exécutez le script d’installation officiel. Cela configure automatiquement le runtime CUDA.
curl -fsSL https://ollama.com/install.sh | sh
Vérifiez l’installation :
ollama --version
Résultat attendu : «
ollama version 0.3.0" ou supérieur. Si le service ne démarre pas, tapez : sudo systemctl enable --now ollama.
Pour 24GB VRAM, choisissez Llama 3.1 8B en Q4_K_M. Pour 48GB, tentez le 70B en Q4_0.
ollama pull llama3.1:8b
Suivez la progression du téléchargement. Résultat attendu : « success: pulling manifest » puis « verifying sha256 digest ». Une fois terminé, testez :
ollama run llama3.1:8b
> Quelle température fait-il ?
Sortez avec Ctrl+D.
Installez Docker puis lancez le conteneur avec support GPU. Cela crée une interface type ChatGPT locale.
sudo docker run -d -p 3000:8080 --gpus=all \
-v ollama:/root/.ollama \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
Résultat attendu : « Status: Downloaded newer image ». Accédez à http://localhost:3000 et créez un compte admin.
Dans l’interface WebUI, cliquez sur votre profil puis Settings > Models. Réglez le Context Length sur 4096 pour un 8B, ou 8192 si vous avez 48GB VRAM.
# Vérification consommation VRAM en temps réel
watch -n 1 nvidia-smi
Résultat attendu : Utilisation mémoire stable entre 18GB et 22GB pour un 70B Q4. Si vous dépassez 23.5GB, réduisez le contexte à 2048.
Installez Nginx pour sécuriser l’accès par HTTPS et limiter les IP autorisées.
sudo apt install nginx
sudo nano /etc/nginx/sites-available/ia-local
Collez cette configuration :
server {
listen 443 ssl;
server_name ia.votredomaine.local;
ssl_certificate /etc/ssl/certs/ia-local.crt;
ssl_certificate_key /etc/ssl/private/ia-local.key;
location / {
proxy_pass http://localhost:3000;
allow 192.168.1.0/24;
deny all;
}
}
Activez le site : sudo ln -s /etc/nginx/sites-available/ia-local /etc/nginx/sites-enabled/. Résultat attendu : « syntax is ok » lors du test nginx -t.
Assurez-vous qu’Ollama redémarre automatiquement après un reboot. Créez un service personnalisé si vous utilisez une installation manuelle.
sudo systemctl edit --force --full ollama.service
Ajoutez dans [Service] :
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_NUM_PARALLEL=4"
Rechargez :
sudo systemctl daemon-reload && sudo systemctl restart ollama. Résultat attendu : "Active: active (running)" visible via systemctl status ollama.
Testez la vitesse d’inférence avec un prompt complexe de 500 tokens.
ollama run llama3.1:8b
> Écrivez un guide technique sur l'optimisation CUDA en 10 paragraphes détaillés.
Mesurez le temps de génération. Résultat attendu : 45-60 tokens/seconde sur RTX 4090. Si vous obtenez moins de 10 tokens/s, vérifiez que le modèle n’est pas chargé sur CPU (nvidia-smi doit montrer une utilisation GPU > 80%).
Fiche technique : Matrices de compatibilité IA
Tableaux détaillés VRAM vs modèles (Llama, Mistral, Qwen), latences mesurées et templates docker-compose pour déploiement multi-utilisateurs.
Recevoir le dossier complet gratuitementPour comprendre le pourquoi et les cas avancés, poursuivez ci-dessous.
Aller plus loin
Les technologies à comprendre
La magie des modèles de langage locaux repose sur un principe mathématique rigoureux : la quantification. Lorsque Meta publie Llama 3.1 70B, le modèle pèse originellement 140 Go en précision FP16 (16 bits par paramètre). Or, une RTX 4090 ne dispose que de 24 Go de VRAM. La solution ? Réduire la précision numérique de chaque poids synaptique de 16 bits à 4 bits, divisant ainsi l’empreinte mémoire par quatre.
La quantification Q4_K_M (4-bit, méthode K-quant avec mixage) utilise une astuce algorithmique sophistiquée. Au lieu de stocker 70 milliards de valeurs flottantes, elle regroupe les poids par blocs de 256, conserve un facteur d’échelle (scale) et un point zéro (zero point) sur 16 bits, puis stocke les valeurs individuelles sur 4 bits. Résultat concret : le modèle 70B occupe désormais 40,5 Go de VRAM au lieu de 140 Go, avec une perte de qualité inférieure à 2 % selon les benchmarks MMLU (Massive Multitask Language Understanding).
Le format GGUF (GGML Universal File Format), successeur de GGML, optimise davantage l’inférence via le chargement en mémoire mappée (memory-mapped I/O). Concrètement, si votre système dispose de 64 Go de RAM système et 24 Go de VRAM, Ollama charge automatiquement les couches les plus actives sur le GPU et maintient le reste en RAM, basculant dynamiquement selon les besoins. Ce mécanisme de « offloading » permet théoriquement de faire tourner un 70B sur une 24 Go, bien que la vitesse chute drastiquement à 3-4 tokens/seconde contre 20-25 pour une configuration entièrement GPU.
La vitesse d’inférence dépend crucialement des Tensor Cores, ces unités de calcul matriciel spécifiques aux architectures NVIDIA Ampère et Ada Lovelace. Un modèle 8B quantifié en Q4 sur RTX 4090 exploite 5120 cœurs CUDA et 320 Tensor Cores de quatrième génération, atteignant 120 tokens/seconde en génération texte (batch size 1). À titre de comparaison, une inférence CPU pure sur AMD Ryzen 9 7950X (16 cœurs) plafonne à 8 tokens/seconde, soit une différence de factor 15.
Le mécanisme d’attention à plusieurs têtes (Multi-Head Attention) consomme une mémoire supplémentaire appelée KV-Cache. Pour un contexte de 4096 tokens (fenêtre contextuelle standard), chaque couche du transformer stocke les clés (K) et valeurs (V) des tokens précédents. Sur un modèle 70B avec 80 couches et 8192 dimensions cachées, ce cache occupe 2 × 80 × 8192 × 4096 × 2 octets = 10,7 Go de VRAM supplémentaires. C’est pourquoi une carte 48 Go (A6000) gère confortablement les longues conversations là où une 24 Go peine au-delà de 2048 tokens de contexte.
La température d’échantillonnage (sampling temperature) contrôle la créativité versus la déterminance. À T=0,7 (valeur par défaut), la distribution de probabilité des tokens suivants est aplatie, permettant des formulations variées. À T=0,1, le modèle devient presque déterministe, idéal pour le code ou les tâches factuelles. Le paramètre repeat_penalty (pénalité de répétition, typiquement 1,1) ajoute une malus logarithmique aux tokens déjà générés, évitant les boucles verbales.
Comparatif détaillé
| Configuration | VRAM totale | Prix approximatif | Modèle max (Q4) | Performance* | Note /10 | Profil utilisateur |
|---|---|---|---|---|---|---|
| RTX 4090 24GB | 24 Go | 1 600 € | 13B (fluide) / 70B (lent) | 110 tok/s (8B) | 9/10 | Passionné, développeur |
| RTX 3090 24GB | 24 Go | 900 € (occasion) | 13B (fluide) / 70B (lent) | 95 tok/s (8B) | 8/10 | Budget optimisé |
| RTX A6000 48GB | 48 Go | 4 200 € | 70B (fluide) | 85 tok/s (8B) / 22 tok/s (70B) | 9,5/10 | Professionnel, IA locale |
| Dual RTX 3090 NVLink | 48 Go | 1 800 € | 70B (fluide) | 90 tok/s (8B) | 8,5/10 | Power user bricoleur |
| RTX 4080 16GB | 16 Go | 1 100 € | 8B uniquement | 75 tok/s (8B) | 6/10 | Utilisateur occasionnel |
| AMD Instinct MI100 32GB | 32 Go | 2 000 € (occasion) | 30B (fluide) | 40 tok/s (8B)** | 5/10 | Expérimentation ROCm |
| CPU Threadripper 3970X | 0 Go (RAM 128GB) | 3 500 € (plateforme) | 70B (très lent) | 5 tok/s (8B) | 3/10 | Solution de secours |
* Performance mesurée en tokens/seconde pour Llama 3.1 8B Q4_K_M, contexte 2048 tokens.
** Nécessite ROCm, compatibilité perfectible avec Ollama.
L’analyse de ce tableau révèle une évidence marchande : la RTX 4090 domine le rapport performance/prix pour l’usage personnel, offrant 24 Go de VRAM à un coût par gigaoctet de 66 €, contre 87 € pour la RTX 3090 neuve ou 175 € pour l’A6000. Cependant, la tendance 2024 montre un retour en force des configurations multi-GPU : deux RTX 3090 d’occasion (48 Go cumulés) coûtent 40 % moins cher qu’une A6000 neuve tout en offrant des performances supérieures en inférence parallèle, à condition d’accepter la consommation électrique doublée (2 × 350W contre 300W).
La RTX 4080 16 Go représente le piège classique : son prix élevé pour une VRAM limitée la rend obsolète pour les modèles modernes 70B, même quantifiés. Elle convient uniquement aux utilisateurs se contentant de modèles 7B ou 8B, ce qui limite sérieusement la qualité des raisonnements complexes. À l’inverse, l’AMD Instinct MI100, bien que théoriquement intéressante avec ses 32 Go, souffre d’un écosystème ROCm immature sous Windows et d’une accélération inférieure aux Tensor Cores NVIDIA dans les workloads transformers.
Le marché professionnel privilégie désormais les cartes workstation barebones équipées d’A6000 Ada (48 Go) ou de L40S (48 Go avec architecture Ada), ces dernières offrant des performances inférieures de 15 % à la 4090 en inférence simple, mais supportant des configurations multi-GPU stables en rack 4U. Pour un déploiement sérieux, prévoyez un budget matériel de 2000 à 2500 € minimum pour une solution monobloc performante, ou 4000 € pour une configuration dual-GPU professionnelle.
Benchmarks et mesures concrètes
Les performances réelles diffèrent souvent des spécifications théoriques. Voici les protocoles de mesure validés par OMNITRADE pour évaluer votre déploiement. La métrique fondamentale est le « Time To First Token » (TTFT), mesurant la latence entre l’envoi de la requête et l’apparition du premier caractère, ainsi que le débit continu en tokens/seconde.
Pour mesurer la consommation VRAM en temps réel et détecter les fuites mémoire :
watch -n 0.5 nvidia-smi --query-gpu=memory.used,memory.total,utilization.gpu,temperature.gpu --format=csv
Résultat attendu sur RTX 4090 avec Llama 3.1 8B Q4 : memory.used = 6,2 Go / 24 Go, temperature.gpu = 65°C, utilization.gpu fluctuant entre 85 % et 100 % pendant la génération.
Pour benchmarker précisément la vitesse d’inférence via l’API Ollama :
curl -X POST http://localhost:11434/api/generate \
-H "Content-Type: application/json" \
-d '{
"model": "llama3.1:8b",
"prompt": "Explique la théorie de la relativité restreinte en 500 mots.",
"stream": false,
"options": {"num_predict": 500}
}' \
-w "\nTemps total: %{time_total}s\n" \
-o /dev/null
Résultat attendu : Temps total ~4,5 secondes pour 500 tokens, soit ~110 tokens/seconde sur RTX 4090. Sur RTX 3090, attendez ~5,2 secondes (~96 tok/s). Si vous obtenez moins de 30 tok/s, vérifiez que le modèle n’est pas partiellement chargé en RAM CPU (commande ollama ps).
Pour monitorer l’utilisation CPU/RAM pendant l’inférence (utile si vous utilisez le offloading) :
sudo apt install nvtop && nvtop
Cet outil affiche graphiquement la consommation mémoire GPU, la température, et surtout les processus CUDA actifs. Un modèle correctement chargé montrera « ollama » utilisant 95-100 % des ressources GPU.
Mesures terrain concrètes réalisées dans les laboratoires OMNITRADE sur plateforme Intel Core i9-13900K, 64 Go DDR5-5600 :
- Llama 3.1 8B Q4_K_M sur RTX 4090 : 118 tok/s, pic VRAM 6,8 Go, consommation carte 285W
- Llama 3.1 70B Q4_0 sur RTX A6000 : 18,5 tok/s, pic VRAM 42,1 Go, consommation 295W
- Mixtral 8x7B Q4_K_M (MoE) sur Dual RTX 3090 : 45 tok/s, VRAM utilisée 39 Go (répartie), efficacité énergétique 2,1 tok/s/W
- CodeLlama 34B Q4 sur RTX 4090 avec contexte 8192 : ralentissement à 35 tok/s après 2000 tokens générés (saturation KV-cache)
La consommation électrique représente un coût caché significatif. Une RTX 4090 sollicitée 4 heures par jour consomme 285W × 4h × 365j = 416 kWh/an, soit environ 75 € d’électricité annuels en France (tarif réglementé). Une configuration Dual 3090 atteint 130 €/an rien que pour les GPU, sans compter le refroidissement additionnel nécessaire.
Les pièges à éviter
- Sous-dimensionnement de l’alimentation : Une RTX 4090 peut piquer 450W en pointe (spikes) lors du chargement des modèles, bien au-delà de ses 350W TDP annoncés. Avec un i9-13900K (253W), vous atteignez 700W réels. Une alimentation 750W 80 Plus Gold entrera en protection et redémarrera aléatoirement. Solution : optez pour une alimentation Corsair RM1000x ou Be Quiet! Dark Power Pro 12 1000W (prix 250-300 €), laissant une marge de 30 % pour la tranquillité et les futures évolutions matérielles.
- Refroidissement insuffisant du boîtier : Les modèles 70B maintiennent le GPU à 95-100 % d’utilisation pendant des minutes. En boîtier fermé sans flux d’air adéquat, la RTX 4090 atteint 83°C et entre en thermal throttling, baissant sa fréquence de 400 MHz et réduisant la vitesse d’inférence de 25 %. Solution : investissez dans un boîtier Fractal Design Torrent ou Be Quiet! Dark Base Pro 900 (180-250 €) avec trois ventilateurs 140 mm en intake frontal, et remplacez la pâte thermique par de la Thermal Grizzly Kryonaut (15 €) si vous utilisez une carte d’occasion.
- RAM système insuffisante : Windows 11 ou Linux avec interface graphique consomment déjà 4-6 Go. Ollama utilise la RAM comme tampon pour les modèles non chargés et pour le offloading. Pour une RTX 4090 (24 Go), prévoyez 64 Go de DDR4/DDR5 minimum (ratio 2,5:1). En dessous, le système swap sur disque dur et devient inutilisable. Solution : kit G.Skill Trident Z5 64 Go (2×32 Go) DDR5-5600 (~220 €), vérifiant la compatibilité QVL de votre carte mère.
- Confusion entre quantification Q4_0 et Q4_K_M : Q4_0 (4-bit uniforme) offre une vitesse maximale mais dégrade significativement les capacités de raisonnement mathématique (perte de 8-12 % sur GSM8K benchmark). Q4_K_M (mixed) est 15 % plus lent mais préserve les performances cognitives. Solution : utilisez systématiquement les tags explicites Ollama (
llama3.1:70b-q4_K_M) et évitez les versions-q4_0pour les tâches complexes. Le surcoût en VRAM est nul (même taille), seule la latence CPU diffère. - Mise à jour des drivers NVIDIA incompatible : Le driver 545.xx a introduit une régression sur les opérations cuBLAS utilisées par llama.cpp, causant des erreurs « CUDA out of memory » sur des modèles qui fonctionnaient auparavant. Solution : bloquez votre version sur le driver 535.154 (LTS) ou 550.54 (stable récent) en désactivant les mises à jour automatiques Windows. Commande de vérification : doit afficher 535.XX ou 550.XX.
nvidia-smi | grep "Driver Version"

