PROJET MINILAB · PRÉPARER L’ENVIRONNEMENT / 04
Lancer et vérifier.
Les six étapes du projet suivent toutes le même rythme : écrire un fichier, le lancer pour observer les vrais calculs, puis le valider avec ses tests. Voici ce rythme, une fois pour toutes.
Écrire le fichier de l’étape
Chaque page de la section « Construire le projet » correspond à un fichier de packages/minilab/. Elle commence par expliquer son architecture, puis le construit bloc par bloc. Mis bout à bout, dans l’ordre, les blocs forment le fichier complet. Laissez deux lignes vides entre deux blocs : les numéros de ligne affichés dans la marge sont alors exactement ceux de votre fichier.
Lancer l’étape et observer
Chaque fichier se lance comme un module Python, depuis la racine du projet. Il affiche dans le terminal ce qu’il calcule : la compression du tokenizer, le nombre de paramètres, les courbes de loss, les réponses de l’assistant… Comparez avec la sortie donnée dans la page : les chiffres doivent être les mêmes, ou très proches. Lancez seulement la commande de l’étape en cours.
- Étape 1 · tokenizer
uv run python -m packages.minilab.tokenizer - Étape 2 · modèle
uv run python -m packages.minilab.model - Étape 3 · pré-entraînement, environ 70 s
uv run python -m packages.minilab.train - Étape 4 · génération
uv run python -m packages.minilab.generate - Étape 5 · chat et SFT, environ 10 s
uv run python -m packages.minilab.chat - Étape 6 · serveur
uv run python -m packages.minilab.server
Valider avec les tests
Les tests vérifient votre code avec de tout petits modèles, en une seconde environ. Une étape est terminée quand ses tests passent. Lancez ceux de l’étape en cours, puis, de temps en temps, tous les tests, pour vérifier que vous n’avez rien cassé.
- Les tests d’une étape (ici l’étape 1)
uv run pytest tests/minilab/test_tokenizer.py - Tous les tests du projet, même si des étapes manquent encore
uv run pytest tests/minilab -q --continue-on-collection-errors
Quand un test échoue, pytest affiche la ligne en cause, la valeur obtenue et la valeur attendue. La page « Les tests » explique comment lire ces messages.
Respecter l’ordre des étapes
Les étapes s’enchaînent. Le pré-entraînement (étape 3) écrit checkpoints/minilab/base.pt, que la génération (étape 4) et le fine-tuning (étape 5) relisent ; le fine-tuning écrit chat.pt, que le serveur (étape 6) charge. Si une étape vous dit qu’un checkpoint est absent, relancez la précédente. Le tokenizer, lui, s’entraîne tout seul au premier besoin.
Le serveur sur le port 8001
À l’étape 6, votre modèle devient un vrai serveur web. Il écoute sur le port 8001, et non sur le port 8000 habituel : ainsi, il peut tourner en même temps que l’API du cours, si vous la lancez en local, et la page de l’étape 6 peut l’interroger directement depuis votre navigateur.
- Démarrer votre serveur
uv run uvicorn packages.minilab.server:app --port 8001
Pour l’arrêter, appuyez sur Ctrl+C dans son terminal. Si le port est déjà occupé, c’est souvent qu’un ancien serveur tourne encore dans un autre terminal.
VÉRIFIER SES CONNAISSANCES
Valider cette étape
Répondez aux trois questions pour débloquer la suite. Vous pouvez réessayer autant de fois que nécessaire.
Chargement de la progression…
Mise en ligne le