Sobre el proyecto

autoresearch es un marco de investigación de IA autónoma creado por Andrej Karpathy que permite a los agentes de IA experimentar de forma independiente con el entrenamiento de LLM en una sola GPU. El sistema se construye alrededor de una implementación simplificada de nanochat para una sola GPU, donde un agente de IA modifica autónomamente el código de entrenamiento (train.py), ejecuta experimentos con un presupuesto fijo de tiempo real de 5 minutos, evalúa resultados usando bits por byte de validación (val_bpb) e itera, manteniendo mejoras y descartando regresiones. El proyecto es deliberadamente mínimo, consistiendo en tres archivos clave: prepare.py (preparación de datos fija y utilidades, no modificado), train.py (el único archivo que el agente edita, conteniendo el modelo GPT completo, optimizador y bucle de entrenamiento) y program.md (instrucciones base para el agente, editadas por el humano). El papel del humano cambia de escribir código Python a programar los archivos Markdown program.md que definen la organización de investigación autónoma. El program.md predeterminado se mantiene intencionalmente como una base mínima, aunque es obvio cómo se iteraría con el tiempo para encontrar el 'código de organización de investigación' que logre el progreso más rápido, o añadir más agentes a la mezcla. El entrenamiento se ejecuta exactamente durante 5 minutos independientemente de los detalles de cómputo, permitiendo aproximadamente 12 experimentos por hora y alrededor de 100 experimentos durante la noche. Este presupuesto de tiempo fijo hace que los experimentos sean directamente comparables sin importar qué cambie el agente (tamaño del modelo, tamaño de lote, arquitectura, etc.) y asegura que el sistema encuentre el modelo óptimo para la plataforma dada dentro de esa restricción. La métrica val_bpb es independiente del tamaño del vocabulario, permitiendo una comparación justa entre cambios arquitectónicos. Los requisitos incluyen una sola GPU NVIDIA (probada en H100), Python 3.10+ y uv. El proyecto es autocontenido sin dependencias externas más allá de PyTorch y algunos paquetes pequeños, sin entrenamiento distribuido ni configuraciones complejas. Existen bifurcaciones notables para macOS, Windows y plataformas AMD. El proyecto está licenciado bajo MIT.