Skip to content

nanochat

El código mínimo de Andrej Karpathy para entrenar de principio a fin un pequeño modelo al estilo de ChatGPT en un solo nodo de GPU.

Reseña de Sheela · Actualizado

Ver en GitHub Código abierto

Nuestra nota

4.3/5

Un pipeline completo de entrenamiento de LLM que se lee en una tarde y se ejecuta por el precio de una cena, siempre que puedas alquilar ocho H100.

¿Qué es nanochat?

nanochat es un código pequeño y legible de Andrej Karpathy que cubre todo el pipeline de un modelo de chat: tokenizador, preentrenamiento, fine-tuning, aprendizaje por refuerzo, evaluación y una interfaz de chat.

Según el README, entrena un modelo que supera la puntuación CORE de GPT-2 por unos 48 $, unas dos horas en un nodo 8xH100 a unos 3 $ por hora de GPU, o más cerca de 15 $ con instancias spot. Una clasificación de la comunidad sigue la ejecución más rápida, que estaba en 1,65 horas en marzo de 2026.

Está pensado para aprender e investigar, no para producir un asistente útil. No tiene versiones etiquetadas, y el último commit en main fue el 3 de julio de 2026.

¿Merece la pena nanochat?

nanochat es la visión de principio a fin más clara de cómo se hace un modelo de chat, y nada de lo que produce está pensado para usarse. El repositorio tiene unas 58.900 estrellas. Amplía nanoGPT de Karpathy, que solo cubría el preentrenamiento, al entrenamiento del tokenizador, el fine-tuning supervisado, el aprendizaje por refuerzo, la evaluación y un chat por CLI. El README describe el resultado como algo parecido a hablar con un niño de preescolar.

La decisión de diseño que lo hace didáctico es un único mando. Fijas --depth y el código deduce la anchura, las cabezas, las tasas de aprendizaje y el horizonte de entrenamiento para que el modelo salga óptimo en cómputo; la capacidad de GPT-2 está en torno a una profundidad de 24 a 26. No hay objetos de configuración ni fábricas de modelos, y la guía de contribución dice que los cambios deben funcionar para cualquier profundidad.

Lo llamativo es la economía. Entrenar GPT-2 costó unos 43.000 $ en 2019, dice el README; el speedrun de referencia supera su puntuación CORE por unos 48 $ en un nodo 8xH100 alquilado. Una sola GPU da resultados casi idénticos ocho veces más despacio, y las tarjetas con menos de 80 GB de memoria necesitan un --device-batch-size más pequeño. Existe una ruta para CPU y Apple silicon, pero solo entrena un modelo de juguete en decenas de minutos.

La actividad se ha frenado. El último commit en main fue el 3 de julio de 2026 y no hay versiones etiquetadas, así que conviene tratarlo como una implementación de referencia, no como una biblioteca mantenida. No hace fine-tuning de modelos abiertos existentes; eso es tarea de TRL o Unsloth, y la entrada de lanzamiento de octubre de 2025 está ya en parte desfasada, como advierte el propio README.

Dónde se gana su sitio

  • Un ingeniero de ML que pasa del trabajo aplicado al preentrenamiento

    Entender cada etapa de un LLM ejecutándola una vez

    Alquilar un nodo 8xH100, ejecutar runs/speedrun.sh en una sesión de screen y leer cada script mientras entrena. Unos 48 $ bajo demanda, más cerca de 15 $ en spot, compran un modelo entrenado desde cero con el que puedes chatear.

  • Una profesora universitaria que imparte un curso de posgrado de NLP

    Dar a los estudiantes un laboratorio de entrenamiento desde cero sin clúster

    Los estudiantes entrenan modelos de profundidad 12 con unos cinco minutos de preentrenamiento por ejecución, o modelos diminutos en CPU y Apple silicon, y comparan los cambios en bits por byte de validación. El código es lo bastante pequeño como para ponerlo de lectura.

  • Un ingeniero de investigación que prueba un optimizador o una idea sobre los datos

    Comprobar si un cambio acelera el tiempo hasta GPT-2

    Hacer un fork, cambiar una sola cosa, volver a ejecutar un d12 o d16 y comparar val_bpb y CORE en Weights & Biases. Un resultado positivo puede enviarse a la clasificación con su commit.

Antes de decidirte

Puesta en marcha
Clonar, después `uv sync --extra gpu` (o `--extra cpu`) y `bash runs/speedrun.sh`; la ejecución de referencia tarda entre 1,5 y 2 horas en 8xH100, y después `python -m scripts.chat_cli` para hablar con el modelo.
Datos y privacidad
Se ejecuta en local; descarga conjuntos de datos de preentrenamiento y de chat de Hugging Face (NVIDIA ClimbMix, SmolTalk) y registra en Weights & Biases si lo activas. Código MIT; los conjuntos de datos tienen sus propias licencias.
Coste a escala
No hay edición de pago. Unos 24 $ la hora por un nodo 8xH100 a 3 $ por hora de GPU, así que unos 48 $ por ejecución de nivel GPT-2; el proyecto apunta a micromodelos entrenables por menos de 1.000 $.
Límites
Sin versiones; último commit el 3 de julio de 2026; con menos de 80 GB de VRAM hay que ajustar el tamaño de lote; el autor no ha probado las rutas XPU y MPS; el RL no admite float16.

Lo bueno

  • Del tokenizador a la interfaz de chat en un solo código legible
  • Supera la puntuación CORE de GPT-2 por unos 48 $ de tiempo de GPU
  • Un solo ajuste --depth deduce los demás hiperparámetros
  • Clasificación pública de speedruns con commits reproducibles

Lo malo

  • Las ejecuciones relevantes necesitan alquilar un nodo 8xH100
  • Los modelos resultantes son juguetes por diseño
  • Sin versiones etiquetadas; último commit en julio de 2026
  • No puede hacer fine-tuning de modelos de pesos abiertos existentes

Ideal para

Estudiantes e investigadores que quieren entender el entrenamiento de LLM de principio a fin.

Alternativas a nanochat

nanochat: preguntas frecuentes

¿Merece la pena nanochat?
Un pipeline completo de entrenamiento de LLM que se lee en una tarde y se ejecuta por el precio de una cena, siempre que puedas alquilar ocho H100. Le damos un 4.3 sobre 5.
¿Cuánto cuesta nanochat?
Gratuito y de código abierto bajo licencia MIT.
¿Qué inconvenientes tiene nanochat?
Las ejecuciones relevantes necesitan alquilar un nodo 8xH100; los modelos resultantes son juguetes por diseño; sin versiones etiquetadas; último commit en julio de 2026; no puede hacer fine-tuning de modelos de pesos abiertos existentes.
¿Para quién es nanochat?
Estudiantes e investigadores que quieren entender el entrenamiento de LLM de principio a fin.
¿Cuánto cuesta nanochat para un equipo o en producción?
No hay edición de pago. Unos 24 $ la hora por un nodo 8xH100 a 3 $ por hora de GPU, así que unos 48 $ por ejecución de nivel GPT-2; el proyecto apunta a micromodelos entrenables por menos de 1.000 $.
¿Es nanochat seguro para los datos de la empresa?
Se ejecuta en local; descarga conjuntos de datos de preentrenamiento y de chat de Hugging Face (NVIDIA ClimbMix, SmolTalk) y registra en Weights & Biases si lo activas. Código MIT; los conjuntos de datos tienen sus propias licencias.
¿Cuáles son las mejores alternativas a nanochat?
Las alternativas más cercanas que hemos analizado son LLMs from Scratch y TRL.

Respuestas comprobadas el 23 oct 2026.