Combiner deux GPU permet d'additionner leur VRAM - deux RTX 4090 donnent 48 Go de VRAM effective, suffisant pour faire tourner un Llama 70B en Q4 entièrement sur GPU. Mais ce n'est pas sans compromis.
Comment fonctionne le multi-GPU pour les LLM
La plupart des frameworks LLM (llama.cpp, Ollama, vLLM) supportent le tensor parallelism sur plusieurs GPU : les couches du modèle sont réparties entre les GPU, qui communiquent via PCIe ou NVLink. En pratique, llama.cpp utilise le paramètre --n-gpu-layers et la détection automatique multi-GPU.
Le goulot d'étranglement : la bande passante PCIe
Entre deux GPU sans NVLink (la norme sur les cartes grand public), toute la communication passe par le bus PCIe 4.0 ou 5.0, qui offre ~32 Go/s en x16 - soit 30 fois moins que la bande passante VRAM interne. Selon la structure du modèle et la taille du contexte, cela peut réduire significativement le débit de tokens.
NVLink : réservé aux Quadro / A-series
NVLink offre une bande passante inter-GPU de 600 Go/s sur les cartes professionnelles (A100, H100), mais les RTX grand public 4090 ne supportent pas NVLink depuis la génération Ampere. Pour un vrai multi-GPU haute performance, il faut passer sur du matériel professionnel (A6000 Ada, deux A100 80 Go...) avec un budget 5 à 10 fois plus élevé.
Verdict multi-GPU grand public
Ça vaut le coup si...
- Vous avez déjà une RTX 4090 et voulez accéder aux modèles 70B
- Vous faites de l'inférence batch (plusieurs requêtes parallèles)
- Vous utilisez principalement des modèles 13B–34B quantifiés
- Vous avez déjà une carte mère avec deux slots PCIe x16
Pas optimal si...
- Vous voulez la meilleure vitesse de génération sur un seul modèle
- Votre utilisation est interactive (chat, codage en temps réel)
- La consommation électrique et la chaleur vous préoccupent
- Budget disponible : mieux vaut une seule RTX 4090 qu'un multi-GPU mal optimisé