iducationducation
IndexArticlesFormationsProfilOutilsBibliothech
N°014 — 2026
Navigation
01Index02Articles03Formations04Profil05Outils06Bibliothech
N°014 — 2026
iducationducation
IndexArticlesFormationsProfilOutilsBibliothech
N°014 — 2026
Navigation
01Index02Articles03Formations04Profil05Outils06Bibliothech
N°014 — 2026
Formations
Python · Intermédiaire

Entraîner son IA en local

Créer chez soi une IA experte d'un domaine : choisir le matériel et le LLM de base, préparer les données, construire un RAG, fine-tuner en QLoRA, évaluer et déployer avec Ollama.

OllamaUnslothHugging FaceChromaDBQLoRAGGUF
01Pré-entraînement, fine-tuning, RAG : ce qu'on peut vraiment faire chez soi02Matériel et environnement de travail03Choisir le LLM de départ04Préparer les données : sources, nettoyage et formats05Construire le RAG local06Fine-tuner le modèle en QLoRA07Évaluer : savoir si l'IA répond vraiment bien08Exporter, déployer avec Ollama et faire évoluer l'IA
Chapitre 2·30 min

Matériel et environnement de travail

La question qui décide de tout le reste : combien de mémoire vidéo (VRAM) avez-vous ? Elle fixe la taille du modèle que vous pourrez faire tourner, et surtout celle que vous pourrez entraîner. Le processeur et la RAM comptent beaucoup moins.

Pourquoi la VRAM est le goulot

Un modèle de 8 milliards de paramètres stocke 8 milliards de nombres. Leur taille dépend de la précision :

PrécisionOctets par paramètreModèle 8BModèle 14BUsage
FP32432 Go56 Gojamais en pratique
FP16 / BF16216 Go28 Goentraînement complet, inférence haute qualité
8 bits18 Go14 Goinférence
4 bits (Q4)~0,55~4,5 Go~8 Goinférence locale, QLoRA

À ça s'ajoute le contexte : chaque token de la conversation occupe de la mémoire (le « KV cache »). Comptez 1 à 2 Go supplémentaires pour 8 000 tokens sur un modèle 8B.

La quantification réduit la précision des poids (de 16 à 4 bits par exemple) avec une perte de qualité faible. C'est elle qui rend les LLM utilisables sur une carte grand public.

Ce qu'on peut faire selon sa machine

MachineVRAMInférence confortableFine-tuning QLoRA
PC sans GPU dédié03-4B, lent (CPU)non
RTX 3060 12 Go / 4060 Ti 16 Go12-16jusqu'à 14B en Q4jusqu'à 8B
RTX 3090 / 4090 24 Go24jusqu'à 32B en Q4jusqu'à 14B, 32B serré
RTX 5090 32 Go3232B confortablejusqu'à 32B
Mac M1-M4, 16 Gomémoire unifiéejusqu'à 8Boutils limités
Mac M-series 32-64 Gomémoire unifiéejusqu'à 32-70BMLX, plus lent qu'un GPU NVIDIA

Recommandation : une carte NVIDIA avec au moins 12 Go. L'écosystème d'entraînement (CUDA, bitsandbytes, Unsloth) est pensé pour NVIDIA d'abord. Une RTX 3090 d'occasion reste le meilleur rapport VRAM / prix pour ce travail.

Pas de GPU ?

Deux options :

  • RAG uniquement : il ne demande pas d'entraînement, un modèle 3-4B tourne sur CPU (lentement mais correctement)
  • GPU loué à l'heure pour la phase de fine-tuning : RunPod, Vast.ai, Lambda, ou Google Colab. Une RTX 4090 se loue autour de 0,5 €/h, et un fine-tuning QLoRA d'un modèle 8B prend en général moins de deux heures. On entraîne dans le cloud, on rapatrie le modèle, on l'exécute chez soi.

Système d'exploitation

Linux est l'environnement de référence. Sur Windows, utilisez WSL2 avec Ubuntu : les pilotes NVIDIA Windows exposent le GPU directement dans WSL.

# PowerShell administrateur
wsl --install -d Ubuntu-24.04

Dans Ubuntu (WSL ou natif), vérifiez que le GPU est visible :

nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 570.xx       Driver Version: 570.xx       CUDA Version: 12.8     |
| GPU  Name                 | Memory-Usage       |
|   0  NVIDIA GeForce RTX 3090  |   512MiB / 24576MiB |
+-----------------------------------------------------------------------------+

Sous WSL, n'installez pas de pilote NVIDIA Linux : c'est le pilote Windows qui fait le travail. Sur Linux natif, installez le pilote propriétaire recommandé par votre distribution (ubuntu-drivers autoinstall).

Ollama pour l'inférence

Ollama télécharge et sert les modèles quantifiés avec une API locale. C'est lui qu'on utilisera pour tester les modèles, faire tourner le RAG et servir le modèle final.

curl -fsSL https://ollama.com/install.sh | sh
ollama pull qwen3:8b
ollama run qwen3:8b "Quand semer les tomates ?"

Ollama expose une API sur http://localhost:11434. Si vous préférez l'isoler dans un conteneur, l'image officielle ollama/ollama fonctionne avec le runtime NVIDIA ; les bases sont dans Docker pour débuter.

L'environnement Python

Le fine-tuning et le RAG se font en Python. Je recommande uv pour gérer la version de Python et les dépendances ; si Python est nouveau pour vous, la formation Python couvre tout ce qu'il faut.

curl -LsSf https://astral.sh/uv/install.sh | sh
uv init ia-potager --python 3.12
cd ia-potager

Deux environnements distincts évitent les conflits de versions :

# Environnement RAG et évaluation : léger
uv add ollama chromadb pypdf pydantic sentence-transformers rich
 
# Environnement d'entraînement : dans un sous-dossier séparé
mkdir train && cd train
uv init --python 3.12
uv add unsloth

Unsloth tire PyTorch, Transformers, TRL, PEFT et bitsandbytes dans des versions compatibles entre elles. Ces bibliothèques évoluent vite : si l'installation échoue, suivez la commande d'installation donnée sur le dépôt GitHub d'Unsloth pour votre version de CUDA.

Vérification :

train/check_gpu.py
import torch
 
print("CUDA disponible :", torch.cuda.is_available())
print("GPU :", torch.cuda.get_device_name(0))
print("VRAM :", round(torch.cuda.get_device_properties(0).total_memory / 1e9, 1), "Go")
print("BF16 supporté :", torch.cuda.is_bf16_supported())
uv run check_gpu.py

Les cartes à partir de la génération RTX 30 supportent BF16, un format plus stable que FP16 pour l'entraînement.

Arborescence du projet

ia-potager/
├── data/
│   ├── raw/            # PDF, HTML, Markdown d'origine
│   ├── clean/          # texte nettoyé
│   ├── chunks.jsonl    # passages pour le RAG
│   ├── train.jsonl     # exemples de fine-tuning
│   └── eval.jsonl      # questions de test, jamais vues à l'entraînement
├── rag/
├── train/
├── eval/
└── models/

Versionnez le code et les scripts avec Git, pas les modèles ni les données brutes volumineuses.

Surveiller la machine pendant l'entraînement

watch -n 1 nvidia-smi

Une carte qui chauffe à 83 °C pendant deux heures, c'est normal. Une VRAM saturée à 100 % suivie d'une erreur CUDA out of memory signifie qu'il faut réduire la taille de lot, la longueur de séquence ou la taille du modèle. On verra ces réglages au chapitre 6.


La VRAM décide de tout : 12 Go suffisent pour un projet sérieux avec un modèle 8B, 24 Go ouvrent les modèles 14B. Sans GPU, le RAG reste accessible et quelques euros de location suffisent pour la phase d'entraînement.

Précédent
Pré-entraînement, fine-tuning, RAG : ce qu'on peut vraiment faire chez soi
Suivant
Choisir le LLM de départ

Développeur fullstack passionné. J'apprends en construisant et je documente tout — front, back, outils. Le code s'apprend mieux en public.

Naviguer

IndexTous les articlesFormationsProfilOutilsBibliothech

Ailleurs

GitHub RSS

Newsletter

Les articles, libs et découvertes. Une fois par semaine, pas plus.

© 2026 William LoreeConçu & codé à la main