Faire tourner un LLM sur 8 Go de VRAM
La réponse courte : mal, mais utilement. La réponse longue est une histoire de compromis entre mémoire, latence et confidentialité — et elle se mesure, elle ne se devine pas.
Le budget mémoire est déjà entamé
Sur une machine qui fait aussi autre chose, les 8 Go ne sont pas disponibles. Un serveur de synthèse vocale y prend environ 6 Go à lui seul : il reste de quoi charger un petit modèle, pas un modèle confortable. C'est la première leçon — le budget VRAM n'est pas une caractéristique de la carte, c'est une photographie de la machine à un instant donné.
Deux réponses possibles : libérer la mémoire, ou accepter de partager. La première est propre quand on peut arrêter le service voisin ; la seconde est la seule qui tienne si les deux doivent tourner en même temps.
Ce qui rentre vraiment
Un modèle de 7 à 8 milliards de paramètres en quantification 4 bits pèse autour de 4 à 5 Go. Ça laisse peu pour le contexte, et le contexte n'est pas gratuit : il grandit avec chaque échange. Une fenêtre de 32 000 jetons peut ajouter plusieurs gigaoctets à elle seule.
D'où la règle pratique : dimensionner le contexte selon l'usage réel, pas selon la fiche technique du modèle. Un assistant qui résume des notes n'a pas besoin de la même fenêtre qu'un agent qui lit un dépôt entier.
L'offload partiel, et pourquoi ce n'est pas honteux
Quand le modèle ne rentre pas entièrement, on garde les couches les plus lourdes sur le GPU et on pousse le reste en RAM système. La génération ralentit — parfois d'un facteur trois ou plus — mais elle reste utilisable pour des tâches courtes.
Ce n'est pas une solution élégante. C'est une solution qui permet de dire « vos données ne sortent pas de cette machine » à un coût que quelqu'un accepte de payer. Pour un pipeline qui traite dix phrases par minute, c'est gagnant. Pour du chat interactif, ça se sent tout de suite.
Le vrai critère : la latence perçue
Comparer un modèle local à une API ne se fait pas sur la qualité seule. Trois chiffres comptent : le temps jusqu'au premier jeton, le débit en jetons par seconde, et la stabilité — un modèle local ne tombe pas en panne, ne change pas de version sans prévenir et ne facture pas au jeton.
Sur du texte court et structuré, la différence de qualité est souvent moins visible que la différence de latence. Sur du raisonnement long, l'écart redevient brutal : un petit modèle local ne remplace pas un grand modèle distant, il remplace une absence de modèle.
Ce que je referais différemment
Mesurer avant de télécharger. Un banc d'essai de vingt minutes — quarante requêtes réelles, trois tailles de contexte — évite trois soirées à essayer des modèles qui ne rentrent pas. Et écrire le résultat : la prochaine fois, la question est déjà répondue.
- ollama
- llama.cpp
- vLLM
- quantisation 4 bits
- GPU 8 Go