Pourquoi le GPU est essentiel pour les LLMs

Un GPU NVIDIA peut accélérer l'inférence d'un LLM de 10 à 50 fois par rapport au CPU seul, grâce à ses milliers de cœurs parallèles optimisés pour les opérations matricielles. CUDA (Compute Unified Device Architecture) est la plateforme de calcul parallèle de NVIDIA qui permet aux frameworks LLM d'exploiter cette puissance. La VRAM (mémoire embarquée sur le GPU) est le facteur limitant principal : elle doit contenir l'intégralité du modèle pour une performance optimale. Un GPU RTX 3060 avec 12 Go de VRAM surpassera largement un CPU haut de gamme pour l'inférence locale.

Choisir les bons drivers NVIDIA

Les drivers NVIDIA se divisent en deux branches : Production Branch (stable, recommandée pour la plupart) et New Feature Branch (dernières fonctionnalités mais moins stable). Pour les LLMs, optez toujours pour la branche Production la plus récente. La version du driver détermine la version maximale de CUDA supportée : avec des drivers 545+, vous pouvez utiliser CUDA 12.3 qui supporte les architectures Ampere (RTX 30xx) et Ada Lovelace (RTX 40xx). Vérifiez la compatibilité sur le tableau de référence NVIDIA developer.

Installation du CUDA Toolkit

Le CUDA Toolkit n'est nécessaire que pour compiler des applications (comme llama.cpp depuis les sources) ; Ollama et LM Studio embarquent leurs propres bibliothèques CUDA. Pour les utilisateurs avancés, installez CUDA depuis developer.nvidia.com/cuda-downloads en choisissant la version compatible avec vos drivers. Sur Linux, préférez l'installation via le gestionnaire de paquets du système (apt, dnf) plutôt que le runfile. Assurez-vous d'ajouter CUDA au PATH après installation.

Vérifier et optimiser l'utilisation GPU

nvidia-smi est l'outil de référence pour monitorer votre GPU en temps réel : il affiche la VRAM utilisée, la température, l'utilisation GPU et la puissance consommée. Pendant l'inférence, une utilisation GPU proche de 100% indique que le modèle tient entièrement en VRAM (optimal). Une utilisation GPU basse combinée à une utilisation CPU élevée signale que le modèle déborde sur la RAM système (split CPU/GPU). Pour maximiser les performances, désactivez les programmes gourmands en VRAM comme les jeux ou un second écran 4K pendant l'inférence.

Paramétrer le nombre de couches GPU (n_gpu_layers)

llama.cpp et les outils basés dessus permettent de spécifier combien de couches du réseau de neurones sont offloadées sur le GPU avec le paramètre n_gpu_layers (ou --ngl). Mettre -1 ou 999 offloade toutes les couches possibles (recommandé si le modèle tient en VRAM). Si votre modèle est trop grand, réduisez progressivement ce nombre jusqu'à ce que la VRAM ne soit plus saturée. Avec Ollama, ce paramètre est configuré automatiquement selon la VRAM disponible, mais peut être forcé via le Modelfile.

Étapes pratiques

  1. Vérifier votre GPU et drivers actuels

    Identifiez votre GPU et la version de vos drivers NVIDIA actuels.

    {step.code}
  2. Mettre à jour les drivers NVIDIA

    Téléchargez les derniers drivers Production Branch depuis nvidia.com/drivers. Sur Linux, vous pouvez utiliser le gestionnaire de paquets.

    {step.code}
  3. Installer le CUDA Toolkit (optionnel)

    Nécessaire uniquement pour compiler llama.cpp depuis les sources ou utiliser PyTorch/transformers.

    {step.code}
  4. Configurer les variables d'environnement

    Ajoutez CUDA au PATH pour utiliser les outils en ligne de commande.

    {step.code}
  5. Tester avec Ollama

    Vérifiez qu'Ollama détecte bien le GPU et l'utilise pour l'inférence.

    {step.code}
  6. Monitorer les performances

    Mesurez la vitesse d'inférence en tokens par seconde pour valider la configuration GPU.

    {step.code}