Plateforme matérielle pour l’IA locale
Le setup actuel
La machine tourne avec deux RTX 3060 12G, soit 24 Go de VRAM au total.
Au départ, j’avais une RTX 3060 12G et une GTX 1060 6G. La GTX 1060 a été remplacée par une seconde RTX 3060 12G. Ce changement n’était pas anodin : la GTX 1060 limitait énormément la possibilités de tests et la vitesse des résultats. Avoir deux cartes de générations différentes font que les fonctions utilisées par l’IA dans la 3060 ne sont pas disponibles dans la 1060, et les moteurs se limitaient à ce que pouvait faire la 1060. C’est un super point de départ pour commencer, mais passer à deux RTX 3060 12G a vraiment tout changé.
Pourquoi la RTX 3060 12G
C’est selon moi le meilleur sweetspot aujourd’hui pour faire de l’IA locale sérieusement sans se ruiner. Bien que les fonctionnalités les plus récentes ne soient pas présentes (le NV4 de la série 40x0 est vraiment sympa), le prix raisonnable et la quantité de VRAM la rend vraiment intéressante.
Le VRAM : le vrai critère
La VRAM est la ressource limitante pour l’inférence locale. Tout le modèle (ou la majorité de ses couches) doit tenir en VRAM pour avoir des performances acceptables — dès qu’on décharge sur la RAM système, les débits s’effondrent.
- 12G permettent de faire tourner confortablement des modèles de 7B à 35B quantifiés, et avec deux cartes, des modèles plus grands en répartissant les couches.
- Le saut de 8G à 12G est significatif : il ouvre l’accès à une catégorie de modèles bien plus capables.
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.163.01 Driver Version: 550.163.01 CUDA Version: 12.4 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 3060 Off | 00000000:04:00.0 On | N/A |
| 0% 42C P8 14W / 170W | 10290MiB / 12288MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
| 1 NVIDIA GeForce RTX 3060 Off | 00000000:08:00.0 Off | N/A |
| 0% 44C P8 21W / 170W | 8642MiB / 12288MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 64267 C ...llm/llamacpp/llama.cpp/llama-server 10282MiB |
| 1 N/A N/A 64267 C ...llm/llamacpp/llama.cpp/llama-server 8634MiB |
+-----------------------------------------------------------------------------------------+
La bande passante mémoire
La RTX 3060 12G offre ~360 Go/s de bande passante mémoire. C’est ce paramètre qui pilote directement la vitesse de génération de tokens : plus la bande passante est élevée, plus les poids du modèle sont lus vite, plus la génération est rapide. Par contre, ces modèles de cartes n’ont pas le “NVLink” qui leur permet de communiquer entre elles à grande vitesse, ce qui fait que les échanges se font sur le bus PCIe. Quand on utilise de “gros” modèles qui nécessitent d’être répartis sur les deux cartes, la vitesse de calcul est limitée par la vitesse d’échange mémoire. On voit clairement, en faisant des mesures, que la partie calcul tourne autour de 50% d’occupation. C’est un compris que je trouve acceptable par rapport à la taille des modèles exploitables avec ce setup.
Le prix
Sur le marché de l’occasion, la RTX 3060 12G se trouve à des tarifs très raisonnables, en dessous de 300 € parfois. Ramené aux performances en inférence, le rapport qualité/prix est difficile à battre dans cette gamme.
Consommation
La RTX 3060 12G a un TDP de 170W. En pratique, en charge d’inférence, elle consomme entre 130 et 160W selon les modèles et les paramètres.
La machine au repos consomme peu, mais laisser deux RTX 3060 en veille active 24h/24 représente quand même une consommation non négligeable. Une bonne idée est donc de ne faire tourner la machine que quand des demandes de calculs ont lieu. Cette configuration fera l’objet d’une explication à part.