
autoresearch
Agent IA open-source d'Andrej Karpathy qui exécute de manière autonome des expériences d'entraînement de LLM pendant la nuit sur un seul GPU, modifiant le code, évaluant les améliorations et itérant pendant que vous dormez.
Présentation
autoresearch est un projet expérimental open-source d'Andrej Karpathy qui démontre la puissance des agents d'IA autonomes dans la conduite de véritables recherches en apprentissage automatique. Il fournit un environnement d'entraînement minimal, nécessitant une seule GPU, basé sur une implémentation simplifiée de nanochat, où un agent de codage IA prend le contrôle complet de la boucle d'expérimentation.
Au lieu de modifier manuellement le code Python, les chercheurs écrivent des instructions de haut niveau dans un fichier Markdown program.md. L'agent modifie ensuite itérativement le script d'entraînement (train.py), exécute des expériences d'entraînement de durée fixe (typiquement 5 minutes), évalue les améliorations basées sur une métrique de validation (par exemple, val_bpb), et ne valide (commit) que les modifications gagnantes sur une branche Git de fonctionnalité (feature branch).
Principales Fonctionnalités
- Boucle d'Agent Autonome : L'agent IA planifie les expériences, modifie le code (architecture, hyperparamètres, optimiseur, etc.), exécute l'entraînement et décide quoi conserver.
- Efficacité avec une seule GPU : Conçu pour du matériel accessible ; chaque expérience s'exécute pendant une courte durée fixe (~5 minutes), permettant ~12 expériences par heure.
- Gestion de Version basée sur Git : Les améliorations sont suivies via des commits sur une branche de fonctionnalité, facilitant la révision et l'annulation des changements.
- Configuration Minimale : Une base de code très petite (~630-1000 lignes sur quelques fichiers) centrée sur une métrique claire pour l'évaluation objective.
- Supervision Humaine via des Instructions (Prompts) : Les utilisateurs définissent "l'organisation de recherche" via des instructions en langage naturel dans Markdown, permettant des comportements d'agents sophistiqués sans toucher au code de bas niveau.
- Extensible : Facile d'ajouter plus d'agents, d'améliorer le prompt du fichier program.md ou de l'adapter pour différents modèles/tâches.
Fonctionnement
- L'utilisateur configure le dépôt et fournit un objectif de recherche dans
program.md. - Un agent de codage IA (par exemple, alimenté par Claude, GPT ou des modèles locaux) est lancé.
- L'agent crée/utile une branche Git de fonctionnalité et commence à itérer :
- Modifie
train.py. - Exécute une expérience d'entraînement minutée.
- Mesure la métrique de validation clé.
- Si amélioré, valide (commit) le changement ; sinon, le rejette et essaie à nouveau.
- Modifie
- Overnight ou sur plusieurs jours, le système accumule des dizaines à des centaines d'expériences, faisant émerger de meilleures configurations de modèle.
Le projet met l'accent sur l'ingénierie du prompt de l'agent (le "code de l'organisation de recherche") pour maximiser la vélocité de recherche à long terme sans intervention humaine.
Cas d'Utilisation
- Recherche en ML Personnelle : Laissez un agent explorer des hyperparamètres, architectures ou optimisations pendant que vous dormez ou vous concentrez sur des idées de plus haut niveau.
- Démonstration Pédagogique : Comprendre les workflows d'IA agentique dans un contexte ML réel et exécutable. , Essaims Distribués : Des extensions communautaires permettent à plusieurs agents ou machines de collaborer (par exemple, des projets autoresearch@home).
- Prototypage Rapide : Tester des idées pour la découverte scientifique autonome dans l'entraînement de LLM à petite échelle.
- Évaluation des Capacités des Agents : Évaluer à quel point différents LLM performant en tant que chercheurs autonomes.
Prise en main
Clonez le dépôt, installez les dépendances via pyproject.toml, configurez votre fournisseur d'IA (clés API), préparez un fichier program.md avec vos instructions de recherche, et lancez la boucle de l'agent. Il fonctionne sur un seul GPU et nécessite une configuration minimale.
Le dépôt inclut un modèle de base program.md qui peut être amélioré par itération pour de meilleurs résultats.
Pourquoi c'est important
autoresearch offre un premier aperçu d'un futur où les agents d'IA gèrent le travail fastidieux de la recherche empirique, libérant les humains pour la direction créative. Il a suscité un immense intérêt de la communauté, des forks, des adaptations (AMD, Apple Silicon, etc.), et des discussions sur les essaims d'agents et la "singularité précoce" de la science automatisée.
Limitations
- Les expériences repartent de zéro à chaque fois (pas de mémoire persistante entre les exécutions dans la version de base).
- Concentré sur une métrique unique et simple et des modèles réduits.
- Le succès dépend fortement de la qualité de l'agent de codage sous-jacent et de l'ingénierie de prompts.
Pour les derniers détails, le code et les discussions de la communauté, visitez le dépôt GitHub officiel.