À propos du projet

autoresearch est un cadre de recherche IA autonome créé par Andrej Karpathy qui permet à des agents IA d'expérimenter indépendamment l'entraînement LLM sur un seul GPU. Le système est construit autour d'une implémentation simplifiée sur GPU unique de nanochat, où un agent IA modifie de manière autonome le code d'entraînement (train.py), exécute des expériences avec un budget de temps réel fixe de 5 minutes, évalue les résultats en utilisant les bits de validation par octet (val_bpb), et itère—en conservant les améliorations et en écartant les régressions. Le projet est délibérément minimal, composé de trois fichiers clés : prepare.py (préparation des données et utilitaires fixes, non modifiés), train.py (le seul fichier que l'agent modifie, contenant le modèle GPT complet, l'optimiseur et la boucle d'entraînement), et program.md (instructions de base pour l'agent, modifiées par l'humain). Le rôle de l'humain passe de l'écriture de code Python à la programmation des fichiers Markdown program.md qui définissent l'organisation de recherche autonome. Le program.md par défaut est intentionnellement conservé comme une base minimale, bien qu'il soit évident comment on pourrait l'itérer au fil du temps pour trouver le 'code d'organisation de recherche' qui atteint la progression de recherche la plus rapide, ou ajouter plus d'agents au mélange. L'entraînement dure exactement 5 minutes indépendamment des détails de calcul, permettant environ 12 expériences par heure et environ 100 expériences pendant la nuit. Ce budget de temps fixe rend les expériences directement comparables indépendamment de ce que l'agent change (taille du modèle, taille du lot, architecture, etc.) et garantit que le système trouve le modèle optimal pour la plateforme donnée dans cette contrainte. La métrique val_bpb est indépendante de la taille du vocabulaire, permettant une comparaison équitable entre les changements architecturaux. Les exigences incluent un seul GPU NVIDIA (testé sur H100), Python 3.10+ et uv. Le projet est autonome sans dépendances externes au-delà de PyTorch et de quelques petits paquets—pas d'entraînement distribué ni de configurations complexes. Des forks notables existent pour macOS, Windows et les plateformes AMD. Le projet est sous licence MIT.