Andrej Karpathy ha liberado oficialmente nanochat, un repositorio de código abierto que implementa el ciclo de vida completo de un llm (Large Language Model). A diferencia de su predecesor, nanoGPT, que se centraba exclusivamente en el preentrenamiento, nanochat integra todas las etapas necesarias para construir un asistente conversacional: tokenización, entrenamiento, ajuste fino supervisado (SFT), aprendizaje por refuerzo (RL) e inferencia con interfaz web. El sistema permite entrenar un modelo base en 4 horas utilizando un nodo 8xH100.
El proyecto está diseñado para ejecutarse en un único nodo de computación, permitiendo obtener un modelo funcional similar a ChatGPT en aproximadamente cuatro horas de entrenamiento utilizando hardware de alto rendimiento.
Excited to release new repo: nanochat!
— Andrej Karpathy (@karpathy) October 13, 2025
(it's among the most unhinged I've written).
Unlike my earlier similar repo nanoGPT which only covered pretraining, nanochat is a minimal, from scratch, full-stack training/inference pipeline of a simple ChatGPT clone in a single,… pic.twitter.com/LLhbLCoZFt
Especificaciones del pipeline
El repositorio, que consta de aproximadamente 8.000 líneas de código, evita abstracciones complejas para favorecer la legibilidad y la modificación directa. El flujo de trabajo "speedrun" propuesto por Karpathy describe un proceso lineal optimizado para un nodo con 8 GPUs H100.
| Componente | Descripción Técnica |
| Tokenizador | Implementación en Rust entrenada desde cero. |
| Preentrenamiento | Modelo Transformer entrenado sobre el dataset FineWeb. |
| Midtraining | Ajuste sobre conversaciones (SmolTalk), uso de herramientas y razonamiento. |
| SFT | |
| RL | |
| Inferencia | Motor eficiente con KV cache y soporte para sandbox de Python. |
| Costo estimado | ~$100 USD (aprox. 4 horas en 8xH100) para el modelo base. |
El sistema genera automáticamente un reporte de métricas al finalizar el entrenamiento. En las pruebas de rendimiento del modelo base generado en 4 horas (configuración "speedrun"), se reportan los siguientes resultados en los benchmarks:
- MMLU: ~31.1%
- ARC-Easy: ~35.6%
- GSM8K: ~7.5% (tras aplicar RL)
Definición del proyecto
En el documento de presentación del repositorio, Karpathy detalla la filosofía de diseño detrás de nanochat, priorizando la simplicidad sobre la optimización extrema o la escalabilidad industrial.
"Mi objetivo es conseguir que el stack completo de 'línea base sólida' se integre en un repositorio cohesivo, mínimo, legible, hackeable y máximamente bifurcable (forkable). nanochat será el proyecto final de LLM101n (que aún está en desarrollo)".
Respecto a la capacidad del modelo resultante en comparación con iteraciones anteriores de la tecnología GPT, el autor señala:
"Incluso por un coste tan bajo como $\$100$ (~4 horas en un nodo 8XH100), puedes entrenar un pequeño clon de ChatGPT con el que puedes hablar, y que puede escribir historias/poemas y responder preguntas sencillas. Unas ~12 horas superan la métrica CORE de GPT-2. A medida que escalas hacia los $\$1000$ (~41,6 horas de entrenamiento), rápidamente se vuelve mucho más coherente".
Evolución desde nanoGPT
Este lanzamiento representa la continuación técnica de proyectos educativos previos. Mientras que nanoGPT se limitaba a la arquitectura del Transformer y la predicción del siguiente token, nanochat incorpora la capa de alineación necesaria para convertir un modelo base en un asistente útil.
El repositorio introduce scripts específicos como speedrun.sh y miniseries.sh (añadido en la actualización de enero de 2026), que automatizan la descarga de datos, el entrenamiento distribuido y la evaluación. Además, incluye soporte preliminar para "tool use", permitiendo al modelo escribir y ejecutar código Python en un entorno controlado para resolver problemas matemáticos, una capacidad ausente en modelos simples de generación de texto.
Implementación y requisitos
El código está optimizado para PyTorch y diseñado para ejecutarse preferentemente en nodos GPU NVIDIA (A100/H100), aunque incluye soporte experimental para ejecución en CPU y MPS (Apple Silicon) con fines de depuración y educación, aunque con un rendimiento significativamente menor.
El repositorio incluye también una interfaz web ligera que imita la experiencia de usuario de ChatGPT, permitiendo interactuar con el modelo entrenado localmente a través del navegador.
