50 points par GN⁺ 2026-03-08 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Framework autonome de recherche autoportant qui condense le cœur d’entraînement LLM de nanochat en un seul GPU et un seul fichier d’environ 630 lignes, permettant à des agents IA d’itérer de manière autonome sur des expériences d’entraînement LLM pendant toute la nuit
  • L’humain modifie le prompt, et l’agent IA modifie le code d’entraînement → entraînement avec un budget temps fixe de 5 minutes → comparaison des résultats → répétition de la boucle conservation ou abandon
  • L’agent fonctionne dans une boucle autonome sur une branche git de feature et accumule des commits git sur le script d’entraînement chaque fois qu’il obtient une validation loss plus faible en ajustant l’architecture du réseau neuronal, l’optimiseur, les hyperparamètres, etc.
  • L’objectif est de concevoir un agent capable de produire les progrès de recherche les plus rapides sans intervention humaine

Vue d’ensemble du projet

  • Structure dans laquelle un agent IA modifie et expérimente de façon autonome le code d’entraînement, sur la base d’une implémentation simplifiée mono-GPU de nanochat
  • L’agent répète la boucle modification du code → entraînement de 5 minutes → vérification des résultats → conservation/abandon, tandis que l’utilisateur consulte le matin les logs d’expérience et le modèle amélioré
  • Le principe consiste à connecter à ce dépôt l’agent de son choix, comme Claude ou Codex, à lui faire lire program.md, puis à lancer les expériences

Structure des fichiers clés (3 seulement sont importants)

  • prepare.py - contient les constantes fixes, la préparation des données (téléchargement des données d’entraînement, entraînement du tokenizer BPE) et les utilitaires d’exécution (data loader, évaluation) ; non destiné à être modifié
  • train.py - fichier unique modifié par l’agent ; contient l’ensemble du modèle GPT, l’optimiseur (Muon + AdamW) et la boucle d’entraînement ; tous les éléments peuvent être modifiés, notamment l’architecture, les hyperparamètres, l’optimiseur et la taille de batch
  • program.md - fichier d’instructions de base pour l’agent ; édité par l’humain, il sert de compétence légère qui définit l’orientation de la recherche autonome de l’agent

Principes de conception

  • Modification d’un seul fichier : l’agent ne modifie que train.py, ce qui permet de garder un périmètre de changement maîtrisable et facilite la revue des diff
  • Budget temps fixe : exécution toujours de 5 minutes exactement, quelle que soit la plateforme → environ 12 essais par heure, soit près de 100 expériences pendant le sommeil
    • Les expériences restent directement comparables entre elles, quels que soient les changements de taille de modèle, de taille de batch ou d’architecture
    • Inconvénient : les résultats d’exécution d’autres personnes ne sont pas comparables si elles n’utilisent pas la même plateforme
  • Autoportance : aucune dépendance externe en dehors de PyTorch et de quelques paquets ; pas d’entraînement distribué ; pas de configuration complexe

Prérequis et exécution

  • Prérequis : un seul GPU NVIDIA (tests réalisés sur H100), Python 3.10+, gestionnaire de paquets uv
  • Actuellement réservé aux GPU NVIDIA ; la prise en charge d’autres plateformes comme CPU ou MPS n’est pas incluse pour éviter de faire grossir le code
    • Si un support plus large des plateformes est nécessaire, il est recommandé de consulter le dépôt nanochat principal ; un fork macOS (miolini/autoresearch-macos) existe déjà
  • Pour exécuter l’agent, lancez Claude, Codex ou un autre agent dans le dépôt, désactivez toutes les autorisations, puis invitez-le à lire program.md et à démarrer les expériences

Intention de conception du program.md par défaut

  • Le program.md par défaut est volontairement conservé comme une base minimale
  • Il peut être utilisé comme point de départ d’améliorations itératives au fil du temps pour trouver le « code d’organisation de recherche » qui produit les progrès les plus rapides
  • La structure permet aussi clairement des extensions, comme l’ajout d’agents ou des consignes plus précises

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.