Installer Llama 3 en local : 45 min

·

← Guide précédenteGuide suivante →

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
Compatibilité matérielle obligatoire Un modèle 70B quantifié en 4-bit nécessite 40GB de VRAM minimum. Avec 24GB, limitez-vous aux modèles 8B ou 13B. L’installation sur CPU pur fonctionne mais divise la vitesse par 50.
1
Valider votre configuration GPU

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+.

2
Installer le moteur d'inférence Ollama

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.

3
Télécharger le modèle adapté à votre VRAM

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.

4
Déployer l'interface utilisateur Open WebUI

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.

5
Optimiser la mémoire et le contexte

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.

6
Sécuriser avec un reverse proxy

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.

7
Créer le service systemd pour démarrage auto

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.

8
Benchmark et validation finale

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%).

Astuce OMNITRADE Pour du traitement de documents lourds (PDF de 500 pages), privilégiez une configuration avec 128GB de RAM système et un GPU 48GB. Le modèle 70B offre une compréhension contextuelle supérieure au 8B, réduisant les hallucinations de 40%.

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 gratuitement

Pour 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.

Piège courant : Le goulot d'étranglement PCIe De nombreux utilisateurs installent leur RTX 4090 dans un slot PCIe 3.0 x8 au lieu de x16, pensant que « l’inférence ne demande pas de bande passante ». Erreur fatale : le chargement initial du modèle 70B (40 Go) prend 12 secondes en PCIe 3.0 x8 contre 3 secondes en PCIe 4.0 x16. Plus critique : lors du offloading dynamique, le transfert CPU-GPU devient un goulot, divisant par deux la vitesse effective. Solution : utilisez impérativement une carte mère chipset Z790 ou X670 avec slot PCIe 4.0 x16 électriquement complet (16 lanes), et vérifiez dans le BIOS que le lien est bien négocié à « Gen 4 » et non « Gen 3 ».
Astuce OMNITRADE : Le stockage NVMe comme accélérateur Si votre VRAM est insuffisante pour un modèle 70B, ne sacrifiez pas la vitesse en passant par la RAM système uniquement. Installez deux SSD NVMe Gen4 2 To en RAID 0 (exemple : Samsung 990 Pro à 220 € l’unité). Configurez Ollama pour utiliser ce volume comme swap rapide. Avec une latence de 0,02 ms contre 0,1 ms pour un SATA SSD, le chargement des couches du modèle depuis le disque devient viable. Mesures : un 70B Q4 sur RTX 3090 + RAID 0 NVMe atteint 8 tok/s, contre 2 tok/s avec un HDD SATA. Investissement total 440 €, bien inférieur à une seconde RTX 3090.

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_0 pour 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"

Questions fréquentes

Puis-je faire tourner un modèle 70B sur ma RTX 4090 24 Go ?
Non, pas nativement. Un 70B Q4 occupe 40 Go de VRAM. Cependant, vous pouvez utiliser le « memory mapping » avec 32 Go de RAM système supplémentaires : les 16 Go manquants seront chargés en RAM et swappés dynamiquement. La vitesse chutera à 4-5 tokens/seconde (contre 20 sur A6000 48 Go), rendant l’expérience utilisable pour des requêtes ponctuelles mais pénible pour des sessions longues. Pour du 70B fluide, l’RTX A6000 48 Go reste obligatoire.
Quelle différence entre Q4_K_M, Q5_K_M et IQ4_XS ?
Q4_K_M utilise 4 bits avec correction d’erreur par blocs, offrant le meilleur compromis taille/qualité (perte de 2 % vs FP16). Q5_K_M (5 bits) augmente la précision de 25 % pour un surcoût mémoire de 20 %, idéal pour le code. IQ4_XS (Imatrix Quantization) est une méthode récente optimisant par couche du réseau neuronal, offrant une qualité proche du Q5 pour une taille de Q4, mais nécessitant Ollama 0.3.10+. Pour du texte généraliste, Q4_K_M suffit. Pour du code ou des mathématiques, privilégiez Q5_K_M si vous avez la VRAM.
Windows 11 ou Linux Ubuntu pour l'IA locale ?
Linux offre des performances supérieures de 10 à 15 % grâce à une gestion mémoire plus efficace et l’absence de surcouche graphique. WSL2 sous Windows 11 réduit cet écart à 5 % mais introduit parfois des latences réseau pour l’API Ollama. Pour une utilisation professionnelle intensive, installez Ubuntu Server 22.04 LTS. Pour un usage mixte bureautique/IA, Windows 11 Pro avec WSL2 reste acceptable, à condition de désactiver le « Hardware-Accelerated GPU Scheduling » qui cause des micro-freezes avec certains drivers NVIDIA.
Puis-je utiliser deux cartes graphiques en même temps ?
Oui, Ollama supporte le multi-GPU depuis la version 0.1.20. Deux RTX 3090 24 Go apparaissent comme un seul périphérique de 48 Go. Cependant, la bande passante PCIe entre les cartes devient critique : sans pont NVLink (impossible sur RTX 4090/3090 consumer), les échanges se font via le chipset, créant un goulot d’étranglement. Les performances atteignent 85 % du théorique pour des modèles < 30B, mais chutent à 60 % pour du 70B à cause des synchronisations fréquentes. Préférez une carte unique 48 Go si possible.
Ma vieille GTX 1080 Ti 11 Go peut-elle servir ?
Théoriquement oui, pratiquement non. L’architecture Pascal (2016) ne dispose pas des Tensor Cores optimisés pour les INT4/INT8 utilisés par les quantifications modernes. Llama 3.1 8B Q4 tournera à 15 tokens/seconde sur 1080 Ti contre 110 sur RTX 4090. De plus, 11 Go limitent aux modèles 7B anciens (Llama 2 7B). Enfin, le manque de support CUDA 12.x dans les drivers récents complique l’installation d’Ollama. Conservez-la pour du mining ou la revente, mais investissez dans une RTX 3090 pour l’IA sérieuse.
Le verdict OMNITRADE
Pour déployer une IA locale performante et pérenne, la configuration optimale en 2024 reste une workstation équipée d’une RTX 4090 24 Go (ou RTX 3090 pour budget serré), couplée à 64 Go de RAM DDR5 et un alimentation 1000W. Cette architecture vous permet d’exploiter des modèles 8B et 13B à vitesse grand V (100+ tokens/seconde), et d’expérimenter le 70B en mode dégradé. Si votre activité professionnelle dépend de l’inférence locale (développement, recherche, confidentialité absolue), passez directement à la RTX A6000 48 Go ou à une configuration dual-GPU. Évitez absolument les cartes 16 Go (RTX 4080/4070 Ti) qui seront obsolètes d’ici 12 mois face à l’inflation des tailles de modèles. Chez OMNITRADE, nous recommandons particulièrement les barebones workstation pré-configurés testés et validés pour Ollama, garantissant la compatibilité PCIe 4.0 x16 et le refroidissement adéquat des cartes double-slot.
📊

Avez-vous réussi à suivre ce tuto ?

← Guide précédenteGuide suivante →


OMNITRADE
Equipe technique & commerciale