Aller au contenu
Retour au blog

Autoresearch : un agent IA mène la recherche ML

Autoresearch d'Andrej Karpathy permet à un agent IA de modifier du code d'entraînement, lancer des expériences courtes et itérer seul. Décryptage.

Ulysse Trin 3 min de lecture

Le principe

Andrej Karpathy vient de publier autoresearch, un projet qui pose une question simple : que se passe-t-il si l’on confie à un agent IA, seul et pendant toute une nuit, la recherche en machine learning ?

Le principe : un agent (Claude Code, Codex ou un autre) reçoit un environnement prêt à entraîner un LLM. Il modifie le code, lance un entraînement de 5 minutes, vérifie si le résultat s’est amélioré, garde ou jette, et recommence. Vous dormez. Au réveil, vous trouvez le log des expériences et, si tout s’est bien passé, un modèle amélioré.

Trois fichiers, pas un de plus

L’architecture est volontairement minimaliste :

  • prepare.py : préparation des données, tokenizer, dataloader, évaluation. Fixe, l’agent n’y touche pas.
  • train.py : le modèle GPT complet, l’optimiseur (Muon + AdamW), la boucle d’entraînement. C’est le seul fichier que l’agent modifie. Architecture, hyperparamètres, taille de batch : l’agent peut tout modifier.
  • program.md : les instructions pour l’agent. C’est le seul fichier que l’humain modifie.

La séparation est nette. L’humain rédige program.md, l’agent modifie train.py : chacun intervient sur un seul fichier.

Un budget fixe de 5 minutes

Chaque expérience dure exactement 5 minutes de temps réel, quelle que soit la configuration. Cela représente environ 12 expériences par heure, une centaine sur une nuit.

L’intérêt de ce budget fixe est double. D’abord, toutes les expériences sont comparables : que l’agent change l’architecture, la taille du modèle ou le batch size, le temps est le même. Ensuite, autoresearch converge vers le meilleur modèle que votre matériel peut produire en 5 minutes, et non vers le meilleur modèle dans l’absolu.

La métrique unique est le val_bpb (bits par byte sur le jeu de validation). Plus elle est basse, meilleur est le modèle. Elle ne dépend pas de la taille du vocabulaire, ce qui permet de comparer équitablement des architectures différentes.

Ce qui est réellement nouveau

L’idée d’automatiser des expériences ML n’est pas nouvelle. Ce qui est nouveau, c’est le moyen. Il ne s’agit plus d’écrire un script de recherche d’hyperparamètres, mais de rédiger un document Markdown qui décrit une stratégie de recherche, qu’un agent LLM interprète librement.

Le program.md fourni par défaut est volontairement basique. Karpathy le dit explicitement : l’enjeu est d’itérer sur ce fichier pour trouver le “code d’organisation de recherche” qui produit les progrès les plus rapides. Combien d’agents ? Quelle stratégie d’exploration ? Quelles contraintes ? C’est de la méta-recherche : l’objet n’est plus de trouver les bons hyperparamètres, mais de rédiger les instructions qui permettront à l’agent de les trouver.

Les choix de conception déterminants

Un seul fichier modifiable. L’agent ne touche que train.py. Pas de fragmentation, pas de refactoring inutile. Les diffs restent lisibles et auditables.

Autonome. PyTorch et quelques dépendances. Un GPU, un fichier, une métrique. Ni entraînement distribué, ni fichiers de configuration YAML imbriqués. L’installation tient en 4 commandes.

Un seul GPU. C’est un choix, non une contrainte. L’objectif n’est pas d’entraîner le meilleur modèle du monde, mais de créer un terrain d’expérimentation où un agent peut itérer vite. Un H100 est recommandé, mais des forks existent pour Apple Silicon (MLX) et macOS.

Ce que cela annonce

Autoresearch n’est qu’un prototype, mais il annonce un changement réel dans le métier de chercheur. Si un agent peut retoucher une boucle d’entraînement toute une nuit et l’améliorer, le rôle du chercheur en machine learning change. Moins de temps à modifier du code et à relancer des exécutions. Plus de temps à formuler des hypothèses, structurer les instructions, et analyser les résultats.

Le projet illustre aussi un pattern qui se généralise avec les agents IA : l’humain n’écrit plus le code lui-même, il rédige les instructions que l’agent suit pour l’écrire. Le program.md est exactement l’équivalent du CLAUDE.md dans un projet logiciel classique avec Claude Code. La compétence qui compte n’est plus “écrire du PyTorch”, c’est “écrire les instructions qui font qu’un agent écrit du bon PyTorch”.

Pour reprendre les mots de Karpathy : “Research is now entirely the domain of autonomous swarms of AI agents.” Nous n’en sommes pas là. Autoresearch montre toutefois à quoi ressemble la première étape.

Pour aller plus loin

Sources


Vos développeurs veulent programmer avec l’IA ? Formation Claude Code en 2 jours →