Aller au contenu
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 dès le chapitre 1 — Python et un venv tout de suite, PyTorch un peu plus tard. Chaque chapitre a une moitié navigateur (du JavaScript, rien à installer) et une moitié locale qui écrit de vrais fichiers dans ton projet my-llm/. La moitié locale démarre immédiatement : le chapitre 1 te fait déjà lancer python -m scripts.train_bigram.

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

Pressé ? Les étapes 1 à 3 (Python + venv, ~5 minutes) suffisent pour les chapitres 1 à 10 : ils ne tournent que sur la bibliothèque standard. L’étape 4 installe PyTorch, qui ne devient nécessaire qu’au chapitre 12. Le faire maintenant te coûte un café et t’évite une interruption plus tard.

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/. Le chapitre 1 reprend exactement ces commandes : le créer ici ou là-bas ne change rien, il suffit de ne pas le faire deux fois.

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 12 à 21 utilisent PyTorch ; les chapitres 1 à 10 non (bibliothèque standard uniquement). Installe quand même la build CPU maintenant (~200 Mo) : tu ne voudras pas attendre ce téléchargement au milieu d’un chapitre.

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. Cellules navigateur plus des fichiers Python simples dans my-llm/ — pas encore de PyTorch.
  • Partie II — Le faire apprendre (5-7) : ~1h30. Même mélange.
  • Partie III — Construire le transformer (8-10) : ~1h30. Même mélange.
  • Partie IV — Entraîner et utiliser le (11-16) : ~4h. PyTorch entre en scène, et le centre de gravité passe sur ta machine. L’ 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 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 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.

Questions fréquentes

Faut-il un GPU pour suivre ce cours ?

Non. Chaque chapitre tourne sur le processeur d'un ordinateur portable ordinaire. L'entraînement du chapitre 13 prend environ 10 minutes sur CPU contre 2 sur MPS (Apple Silicon) ou sur un GPU CUDA, et le plus gros téléchargement est celui des poids de GPT-2, environ 500 Mo. Un GPU accélère les choses ; rien ici n'en exige un.

Quelle version de Python faut-il ?

Python 3.11 ou plus récent — le code utilise une syntaxe d'annotations de type introduite en 3.11. Les versions 3.12 et 3.13 conviennent aussi. Le chapitre 0 couvre l'installation sur macOS, Windows et Linux, y compris le réglage de la politique d'exécution PowerShell dont Windows a besoin avant d'activer un environnement virtuel.

À partir de quand PyTorch devient-il nécessaire ?

À partir du chapitre 12. Les chapitres 1 à 10 construisent tout avec la bibliothèque standard de Python, donc tu peux démarrer immédiatement avec Python et un environnement virtuel. Installer PyTorch plus tôt t'évite seulement une interruption plus tard.

Combien d'espace disque faut-il prévoir ?

Environ 2 Go. La build CPU de PyTorch pèse à peu près 200 Mo, les poids de GPT-2 environ 500 Mo, et les checkpoints d'entraînement représentent l'essentiel du reste.