- Un framework autónomo de investigación, autocontenido, que condensa el núcleo de entrenamiento de LLM de nanochat en una sola GPU y un solo archivo de unas 630 líneas, donde un agente de IA repite de forma autónoma experimentos de entrenamiento de LLM durante toda la noche
- El humano modifica el
prompt, y el agente de IA modifica el código de entrenamiento → entrena con un presupuesto fijo de 5 minutos → compara resultados → repite el bucle de conservar o descartar
- El agente funciona en un bucle autónomo sobre una feature branch de git y va acumulando commits en el script de entrenamiento cada vez que logra un validation loss más bajo en elementos como la arquitectura de red neuronal, el optimizador o los hiperparámetros
- El objetivo es diseñar un agente que produzca el mayor avance de investigación posible sin intervención humana
Resumen del proyecto
- Basado en una implementación simplificada de nanochat para una sola GPU, con una estructura en la que un agente de IA modifica y experimenta de forma autónoma con el código de entrenamiento
- El agente repite el ciclo de modificar código → entrenar 5 minutos → revisar resultados → conservar/descartar, mientras el usuario revisa por la mañana los logs de experimentos y el modelo mejorado
- La idea es conectar a este repositorio el agente que se prefiera, como Claude o Codex, hacer que lea
program.md y luego iniciar los experimentos
Estructura clave de archivos (solo 3 importan)
prepare.py - incluye constantes fijas, preparación de datos (descarga de datos de entrenamiento, entrenamiento del tokenizador BPE) y utilidades de runtime (data loader, evaluación); no es un objetivo de modificación
train.py - el único archivo que modifica el agente; incluye el modelo GPT completo, el optimizador (Muon + AdamW) y el bucle de entrenamiento; se pueden modificar la arquitectura, los hiperparámetros, el optimizador, el batch size y cualquier otro elemento
program.md - archivo base de instrucciones para el agente; lo edita el humano y funciona como una habilidad ligera que define la dirección de investigación autónoma del agente
Principios de diseño
- Modificación de un solo archivo: el agente solo modifica
train.py, lo que mantiene controlable el alcance de los cambios y facilita revisar los diff
- Presupuesto fijo de tiempo: sin importar la plataforma, siempre se ejecuta durante exactamente 5 minutos → unas 12 veces por hora, cerca de 100 experimentos mientras se duerme
- Permite comparar directamente experimentos sin importar cambios en tamaño del modelo, batch size, arquitectura, etc.
- Desventaja: no se puede comparar con resultados de ejecución de otras personas si no usaron la misma plataforma
- Autocontención: no tiene dependencias externas aparte de PyTorch y unos pocos paquetes; no hay entrenamiento distribuido; no hay configuración compleja
Requisitos y ejecución
- Requisitos: una sola GPU NVIDIA (probado en H100), Python 3.10+, gestor de paquetes
uv
- Por ahora es exclusivo para GPU NVIDIA; no incluye soporte para otras plataformas como CPU o MPS para evitar que el código crezca demasiado
- Si se necesita soporte para una gama más amplia de plataformas, se recomienda consultar el repositorio principal de nanochat; ya existe un fork para macOS (
miolini/autoresearch-macos)
- Para ejecutar el agente, se corre Claude/Codex u otro dentro del repositorio con todos los permisos desactivados, y se le indica por prompt que lea
program.md y comience los experimentos
Intención de diseño del program.md base
- El
program.md base se mantiene intencionalmente como una línea base mínima
- Puede usarse como un método para iterar y mejorar con el tiempo hasta encontrar un “código de organización de investigación” que logre el avance más rápido posible
- La estructura también permite extender de forma clara agregando más agentes o haciendo las instrucciones más específicas
3 comentarios
Por favor, también hagan AMD ROCm.
Tuit de presentación de Karpathy
> Lo preparé para quienes quieran probarlo durante el fin de semana.
> Es una obra mezclada con código, ciencia ficción y un poco de locura :)
¿Por qué hace estas cosas en fin de semana, profesor?
Parece que lo sigue haciendo para crear rápido material de clase y lanzar el curso de Eureka Lab antes de que quede desactualizado ;_;
P. D.: hace 7 horas también creó y subió otro más llamado AgentHub 🫢