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.
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
- Repo GitHub autoresearch
- Tweet d’annonce de Karpathy
- nanochat, le framework d’entraînement LLM dont autoresearch est dérivé
Sources
Vos développeurs veulent programmer avec l’IA ? Formation Claude Code en 2 jours →
Lire aussi : Transformer l'expertise métier en skills IA