Skip to content
The loss curve

Chapitre 0 · 12 min

Avant de commencer

Un chapitre court pour installer la toolchain locale — Python, virtualenv, PyTorch — pour que le reste du livre puisse se concentrer sur le modèle, pas sur l’environnement.

Ce chapitre prépare l’environnement local que tu utiliseras à partir du chapitre 11 — Python, venv, PyTorch. Les chapitres 1 à 10 ne lancent que du JavaScript dans le navigateur, donc tu peux techniquement sauter cette page jusqu’aux parties Python. Mais si tu n’as jamais setup un projet Python, le faire maintenant à froid est plus reposant que sous pression.

Saute si python3 -m venv .venv && source .venv/bin/activate && pip install torch est un réflexe. Tu n’apprendras rien de neuf ici.

Le setup complet prend 10 à 20 minutes, surtout du téléchargement.

1. Installer Python 3.11 ou plus récent

Le livre utilise des annotations de typage qui demandent Python 3.11+. 3.12 ou 3.13 recommandé.

brew install python@3.13
# Installer depuis https://www.python.org/downloads/ et cocher 'Add Python to PATH'.
sudo apt update && sudo apt install python3.13 python3.13-venv python3-pip

Vérifie :

python3 --version
py --version
python3 --version

Tu devrais voir Python 3.13.x (ou 3.11 / 3.12 — tout à partir de 3.11 convient).

2. Créer le dossier du projet

L’artefact local que tu construis tout au long du livre vit dans my-llm/. Tu peux le créer maintenant ou attendre le chapitre 1 — mêmes commandes :

mkdir -p my-llm/llm my-llm/scripts my-llm/data && cd my-llm
mkdir my-llm; mkdir my-llm\\llm,my-llm\\scripts,my-llm\\data; cd my-llm
mkdir -p my-llm/llm my-llm/scripts my-llm/data && cd my-llm

3. Créer et activer le venv

Un venv isole les dépendances de ce projet de ton Python système. Un rm -rf .venv (ou Remove-Item .venv) suffit pour tout annuler.

python3 -m venv .venv && source .venv/bin/activate
py -m venv .venv; .\\.venv\\Scripts\\Activate.ps1
python3 -m venv .venv && source .venv/bin/activate

Après activation ton prompt doit afficher (.venv) quelque part. À partir de maintenant, toute commande python ou pip dans le livre suppose le venv activé. Si tu ouvres un nouveau terminal, il faut réactiver.

4. Installer PyTorch

Les chapitres 11 à 20 utilisent PyTorch. Installe la build CPU (~200 Mo) :

pip install torch
pip install torch
pip install torch

C’est le téléchargement le plus long du livre. Prends un café.

Si tu as un GPU NVIDIA récent et veux CUDA, voir le sélecteur PyTorch. La build CPU suffit à tout le livre ; CUDA/MPS rendent juste l’ plus rapide.

5. Vérifier l’accélération matérielle

Depuis le venv activé :

python -c "import torch; print(torch.__version__); print(f\"mps={torch.backends.mps.is_available()} cuda={torch.cuda.is_available()}\")"
python -c "import torch; print(torch.__version__); print(f\"mps={torch.backends.mps.is_available()} cuda={torch.cuda.is_available()}\")"
python -c "import torch; print(torch.__version__); print(f\"mps={torch.backends.mps.is_available()} cuda={torch.cuda.is_available()}\")"

Résultat attendu selon la machine :

  • Mac Apple Silicon (M1 jusqu'au M5) : mps=True cuda=False. Le livre utilise MPS — 5 à 20× plus rapide que le CPU sur les multiplications matricielles.
  • GPU NVIDIA sur Linux/Windows avec la build CUDA : mps=False cuda=True. La plus rapide.
  • Autre cas : mps=False cuda=False. CPU. Chaque chapitre fonctionne quand même ; l’ du chapitre 13 prend ~10 minutes au lieu de ~2.

6. Erreurs courantes et quoi faire

SymptômeSolution
python: command not foundUtilise python3 (mac/linux) ou py (Windows). Certains installateurs enregistrent un seul des deux.
ModuleNotFoundError: No module named 'torch' juste après l’installLe venv n’est pas activé. Vérifie (.venv) dans ton prompt.
PowerShell : Activate.ps1 cannot be loadedLance Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned une fois, puis réessaie.
SSL: CERTIFICATE_VERIFY_FAILED pendant pip installSur macOS, lance Install Certificates.command depuis /Applications/Python 3.13/. En réseau d’entreprise, configure pip avec ton proxy.
pip install torch semble figéNormal, ~200 Mo. Si ça plante, réessaie avec pip install --index-url https://download.pytorch.org/whl/cpu torch.
Mauvaise version Python détectéeVérifie que le venv a été créé avec le nouveau Python : python3.13 -m venv .venv, pas python3 -m venv .venv si ton python3 pointe vers une vieille version.

7. Budget temps pour la suite

Estimation grossière par partie, en incluant l’exécution et l’inspection du code :

  • Partie I — Démarrer le projet (chap. 1-4) : ~1h30. Navigateur uniquement.
  • Partie II — Le faire apprendre (5-7) : ~1h30. Navigateur uniquement.
  • Partie III — Construire le transformer (8-10) : ~1h30. Navigateur uniquement.
  • Partie IV — Entraîner et utiliser le LLM (11-16) : ~4h. Python entre en scène. L’entraînement du chapitre 13 prend ~10 min CPU, ~2 min MPS/CUDA. Le chapitre 15 télécharge ~500 Mo de poids GPT-2.
  • Partie V — Le rendre utile, moins cher, utilisable (17-21) : ~4h. Le SFT du chapitre 17 dure ~2 min ; le REPL chat du chapitre 20 est interactif ; le capstone du chapitre 21 fine-tune en ~20 min CPU.
  • Partie VI — Appendices (optionnel) : ~30 min pour la dérivation backprop et la promenade conceptuelle RLHF/DPO. À sauter sans regret.

Total : ~13h avec les attentes. Un week-end, ou un chapitre par soir pendant deux semaines.

Recap

  • Python 3.11+ avec un python ou python3 fonctionnel.
  • Dossier my-llm/ créé avec sous-dossiers llm/, scripts/, data/.
  • .venv activé, prompt affichant (.venv).
  • pip install torch propre, import torch qui marche.
  • Tu sais si tu as MPS, CUDA ou seulement CPU.
  • Execution policy PowerShell configurée si Windows.

Pour aller plus loin

Prochaine étape : chapitre 1 — le modèle le plus idiot qui existe. On démarre.