Créer avec l’IA

Comment entraîner un petit modèle de langage sur un GPU loué, étape par étape?

Publié le · Par Robert Scales, avec l’aide d’outils d’IA · 5 min de lecture

Réponse courte

Louez une machine à la minute, connectez-vous par SSH, clonez nanochat de Karpathy, faites un court modèle d’essai pour environ 3 $ US, puis exécutez le script complet pour environ 64 $ US sur huit GPU H100. Gardez la tâche dans une session screen, copiez vos points de contrôle hors de la machine et supprimez l’instance dès que vous avez fini, car la facturation continue jusque-là.

Notre guide du tout petit modèle reste sur votre portable. Celui-ci passe au vrai matériel. Vous allez louer un serveur à GPU, entraîner un modèle dont le seul ancêtre est une série de nombres aléatoires, puis clavarder avec lui. Il suppose seulement que vous savez ouvrir un terminal et copier des commandes.

Les étapes utilisent nanochat, le petit projet d’entraînement d’Andrej Karpathy, et le nuage à la demande de Lambda comme exemple, puisque l’auteur de nanochat s’en sert. Les prix ont été relevés le 2 novembre 2026; tout fournisseur offrant des machines Ubuntu et SSH fonctionne à peu près de la même façon.

Choisissez votre exécution

ExécutionMachineDuréeFactureRésultat
Essai, 12 couches1 H100 (4,29 $ US/h)Environ 40 min d’entraînementEnviron 3 $ US, plus l’installationUn texte qui montre que la méthode fonctionne
Complète, 24 couches8 H100 (31,92 $ US/h)Environ 2 hEnviron 64 $ USUn modèle de clavardage de niveau GPT-2
Complète, sur un GPU1 H100Environ 8 fois plus longTotal semblable, environ 57 $ US pour l’entraînementLe même modèle, pendant la nuit

Faites toujours l’essai d’abord. Les 40 minutes sont une estimation tirée de la note du projet : une exécution à 12 couches prend environ 5 minutes sur huit GPU, et un GPU seul est environ huit fois plus lent. Votre première exécution montre combien de temps vous prend l’installation, et chaque minute compte.

Étape 1 : louer la machine

Créez un compte chez le fournisseur et ajoutez un mode de paiement et une clé SSH, le fichier qui permet à votre ordinateur de se connecter sans mot de passe. Dans la console de Lambda, lancez une instance avec le nombre de GPU choisi. La facturation commence dès qu’elle réussit ses vérifications d’état. Copiez l’adresse IP affichée, puis connectez-vous :

ssh ubuntu@YOUR_IP
nvidia-smi

nvidia-smi énumère les GPU et leur mémoire. Vérifiez que vous avez bien ce que vous payez. Les réglages par défaut de nanochat supposent 80 Go par GPU.

Étape 2 : installer

git clone https://github.com/karpathy/nanochat.git
cd nanochat
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env
uv sync --extra gpu
source .venv/bin/activate

uv est l’outil qui installe les paquets Python dont le projet a besoin, dont PyTorch, la bibliothèque qui fait l’entraînement. Avant d’exécuter la ligne curl, vous pouvez lire le script à cette adresse si vous le souhaitez; il provient du projet officiel uv.

Étape 3 : l’exécution d’essai

Lancez d’abord une session screen. Elle garde la tâche active sur le serveur si votre portable se met en veille ou si la connexion tombe.

screen -S test
python -m nanochat.dataset -n 32
python -m scripts.tok_train
python -m scripts.base_train --depth=12 --model-tag=d12 --save-every=1000

La première ligne télécharge 32 fichiers de données d’environ 100 Mo chacun. La deuxième entraîne le découpeur en jetons (tokenizer). La troisième entraîne un modèle à 12 couches et enregistre un point de contrôle, un instantané du modèle, toutes les 1 000 étapes. Appuyez sur Ctrl-a puis d pour vous détacher; screen -r test ramène la session.

Surveillez deux choses dans le journal. Les bits par octet de validation devraient continuer de baisser; ils sont expliqués dans comment évaluer votre modèle. Les échantillons de texte, imprimés toutes les 2 000 étapes, devraient devenir moins farfelus. Si vous manquez de mémoire graphique, réduisez --device-batch-size de moitié, de 32 à 16 et ainsi de suite, jusqu’à ce que ça entre.

Étape 4 : l’exécution complète

Sur une machine à huit GPU, tout le pipeline tient en une ligne :

screen -L -Logfile runs/speedrun.log -S speedrun bash runs/speedrun.sh

Le script télécharge les données, entraîne le découpeur, préentraîne un modèle à 24 couches, l’évalue, fait son ajustement fin pour la conversation et l’évalue encore. À l’intérieur, il utilise torchrun, le lanceur de PyTorch, qui démarre un processus d’entraînement par GPU pour que les huit se partagent le travail. Pour suivre depuis une autre connexion, exécutez tail -f runs/speedrun.log.

Une fois terminé :

source .venv/bin/activate
python -m scripts.chat_cli

Essayez une histoire, un poème et une question à votre sujet. Attendez-vous à de l’invention fluide pour la dernière, car ce modèle sait très peu de choses. Son auteur compare l’expérience à une conversation avec un enfant de maternelle.

Étape 5 : sauvegarder, puis cesser de payer

À partir de votre ordinateur, copiez les résultats, puis supprimez l’instance :

scp -r ubuntu@YOUR_IP:~/.cache/nanochat/chatsft_checkpoints ./nanochat-model/
scp -r ubuntu@YOUR_IP:~/.cache/nanochat/tokenizer ./nanochat-model/

Les points de contrôle du préentraînement se trouvent juste à côté, dans base_checkpoints, si vous les voulez aussi. Ouvrez un dossier de points de contrôle pour confirmer que les fichiers sont arrivés, puis supprimez l’instance dans la console. Lambda ne facture rien pour les données sortantes, mais d’autres fournisseurs peuvent le faire. Notez que le jeu de données par défaut de nanochat est sous licence d’usage non commercial, ce qui importe si vous comptez publier le modèle.

À essayer : faites l’exécution d’essai avec --depth=12, notez le résultat final de validation, puis recommencez avec --depth=8. Comparez les deux résultats, la durée et le coût. Vous aurez mesuré comment la taille achète la qualité.

Qu’est-ce qui tourne mal le plus souvent, et comment éviter d’en payer le prix?

La machine continue de facturer après l’entraînement. Lambda facture à la minute, du lancement jusqu’à la suppression, que la machine serve ou non, et d’autres fournisseurs fonctionnent de façon semblable. Notez l’heure de fin prévue et réglez une alarme sur votre téléphone. Un nœud à huit GPU oublié coûte environ 766 $ US par jour. Vérifiez la règle du fournisseur sur le sens d’« arrêter », car elle peut différer de « supprimer ».

Le stockage survit à la machine. Un système de fichiers réseau continue d’être facturé jusqu’à sa suppression, même sans instance attachée. Chez Lambda, il faut l’attacher à la création de l’instance; sinon, passez-vous-en et copiez vos résultats avant la suppression.

Une panne fait perdre des heures de travail. Par défaut, nanochat n’enregistre qu’à la fin du préentraînement (--save-every vaut -1). Pour toute exécution longue, donnez une valeur et utilisez --resume-from-step pour reprendre à l’étape enregistrée. Le script complet ne règle pas cette option : ajoutez-la à sa ligne d’entraînement si vous voulez cette assurance.

Une connexion perdue tue la tâche. Sans screen ou un outil semblable, fermer le terminal peut mettre fin à l’exécution. Lancez la session avant la tâche, chaque fois.

Les erreurs de manque de mémoire. Votre GPU a moins de mémoire que ce que supposent les réglages. Baissez --device-batch-size. nanochat compense automatiquement pour que l’entraînement se comporte de la même façon, seulement plus lentement.

Les instances ponctuelles disparaissent. Elles mènent au faible chiffre d’environ 15 $ US que mentionne le projet, mais les fournisseurs peuvent les reprendre. Ne les utilisez qu’avec des points de contrôle réguliers copiés ailleurs, et considérez l’économie comme incertaine.

Les erreurs de précision mixte. Le réglage --fp8 du speedrun exige un H100 ou un GPU plus récent. Sur les cartes plus anciennes, retirez l’option : l’exécution utilise alors bf16, un format de plus grande précision.

Sources

  1. nanochat README, speedrun script, CPU script and leaderboard notes — Andrej Karpathy (GitHub)
  2. Billing — Lambda, 2 novembre 2026
  3. torchrun (Elastic Launch) — PyTorch, 2 novembre 2026

Tiré du Guide de l’intelligence artificielle, par Robert Scales, publié par Holistic Hybrid inc. Partage et adaptation permis selon la licence CC BY-NC-SA 4.0 : citez le guide, mettez un lien vers https://guidetoartificialintelligence.com/fr/apprendre/entrainer-petit-modele-langage-gpu-loue/, pas d’usage commercial sans permission, et gardez la même licence.

Recevez gratuitement le Guide de l’intelligence artificielle

Abonnez-vous à l’infolettre et recevez le guide gratuit : ce qui a changé en IA, une leçon, un prompt à essayer. Désabonnement en un clic.

Ce que nous faisons de votre adresse

Retour en haut

Affichage

Vos choix sont enregistrés dans ce navigateur seulement. Aucune donnée n’est transmise.

Taille du texte
100 %
Couleurs
Lecture
Autres réglages
Déclaration d’accessibilité

Obtenir l’appli

Ajoutez le guide à votre écran d’accueil. Il s’ouvre comme une application, et les pages déjà lues restent disponibles hors ligne.

Lire sans connexion : télécharger les articles

iPhone et iPad (Safari, Chrome, Edge)

  1. Touchez le bouton Partager (le carré avec une flèche). Dans Chrome et Edge, il est dans la barre d’adresse ou le menu.
  2. Choisissez « Sur l’écran d’accueil ».
  3. Touchez « Ajouter ».

Android (Chrome, Edge, Samsung Internet, Firefox)

  1. Ouvrez le menu du navigateur (⋮ ou ☰).
  2. Choisissez « Installer l’application » ou « Ajouter à l’écran d’accueil ».
  3. Confirmez avec « Installer ».

Ordinateur (Chrome, Edge)

  1. Cliquez sur l’icône d’installation au bout de la barre d’adresse, ou ouvrez le menu du navigateur (⋮ ou …).
  2. Dans Chrome, choisissez « Caster, enregistrer et partager », puis « Installer la page en tant qu’application ». Dans Edge, choisissez « Applications », puis « Installer ce site en tant qu’application ».
  3. Cliquez sur « Installer ».

Mac (Safari)

  1. Ouvrez le menu Fichier.
  2. Choisissez « Ajouter au Dock ».
  3. Cliquez sur « Ajouter ».

Firefox sur ordinateur ne peut pas installer un site comme application. Utilisez plutôt Chrome, Edge ou Safari.