Andrej Karpathy acaba de lanzar uno de los repositorios más "desquiciados" que jamás haya escrito: NanoChat.
Es un sistema similar a ChatGPT, minimalista pero completo desde cero, que le enseña cómo entrenar y ejecutar su propio LLM por menos de $ 100.
Con solo ~ 8 k líneas de código limpio, cubre todo, tokenizador (basado en Rust), entrenamiento previo en FineWeb, entrenamiento medio en SmolTalk, SFT en MMLU / GSM8K / HumanEval, RL opcional a través de GRPO, inferencia eficiente con caché KV + prellenado / decodificación, y una interfaz de usuario web al estilo ChatGPT. (1/n)
Emocionado por lanzar un nuevo repositorio: ¡nanochat!
(es uno de los más desquiciados que he escrito).
A diferencia de mi anterior repositorio similar nanoGPT que solo cubría el preentrenamiento, nanochat es una canalización de entrenamiento/inferencia mínima, desde cero, de pila completa de un clon simple de ChatGPT en una única base de código de dependencia mínima. Inicia una caja de GPU en la nube, ejecuta un solo script y en tan solo 4 horas después puede hablar con su propio LLM en una interfaz de usuario web similar a ChatGPT.
Pesa ~ 8,000 líneas de código bastante limpio en mi opinión para:
- Entrenar el tokenizador usando una nueva implementación de Rust
- Entrenar previamente un LLM de Transformer en FineWeb, evaluar la puntuación CORE en una serie de métricas
- Entrenamiento intermedio en conversaciones de usuario-asistente de SmolTalk, preguntas de opción múltiple, uso de herramientas.
- SFT, evaluar el modelo de chat sobre el conocimiento mundial de opción múltiple (ARC-E / C, MMLU), matemáticas (GSM8K), código (HumanEval)
- RL el modelo opcionalmente en GSM8K con "GRPO"
- Inferencia eficiente del modelo en un motor con caché KV, prellenado/decodificación simple, uso de herramientas (intérprete de Python en una caja de arena liviana), hable con él a través de CLI o WebUI similar a ChatGPT.
- Escriba una sola boleta de calificaciones de rebajas, resumiendo y gamificando todo.
Incluso por un costo tan bajo como ~ $ 100 (~ 4 horas en un nodo 8XH100), puede entrenar un pequeño clon de ChatGPT con el que puede hablar y que puede escribir historias / poemas, responder preguntas simples. Aproximadamente ~ 12 horas supera la métrica GPT-2 CORE. A medida que avanza hacia ~ $ 1000 (~ 41.6 horas de capacitación), rápidamente se vuelve mucho más coherente y puede resolver problemas simples de matemáticas / código y tomar pruebas de opción múltiple. Por ejemplo, un modelo de profundidad 30 entrenado durante 24 horas (esto es aproximadamente igual a los FLOP de GPT-3 Small 125M y 1/1000 de GPT-3) llega a 40 en MMLU y 70 en ARC-Easy, 20 en GSM8K, etc.
Mi objetivo es obtener la pila completa de "línea de base sólida" en un repositorio cohesivo, mínimo, legible, hackeable y de máxima bifurcación. nanochat será el proyecto final de LLM101n (que aún se está desarrollando). Creo que también tiene potencial para convertirse en un arnés de investigación, o un punto de referencia, similar a nanoGPT antes. De ninguna manera está terminado, ajustado u optimizado (en realidad, creo que es probable que haya bastante fruta madura), pero creo que está en un lugar donde el esqueleto general está lo suficientemente bien como para que pueda subir a GitHub, donde todas las partes se pueden mejorar.
El enlace al repositorio y un tutorial detallado del speedrun de nanochat está en la respuesta.

Puede poner en marcha una GPU, ejecutar el script y tener su propio chatbot chateando en ~ 4 horas.
Karpathy dice que el modelo de $100 ya puede escribir poemas e historias y superar a GPT-2 en CORE; $ 1000 lo acerca a GPT-3 Small 125M FLOPs con puntajes de 40 + MMLU y 70 + ARC-Easy.
El objetivo es un repositorio unificado, legible y hackeable que agrupe la "sólida línea de base" completa: un sucesor de nanoGPT y la columna vertebral de su próximo curso LLM101n.
Incluso con un presupuesto pequeño, los resultados son sorprendentes.
• Carrera de $100 (8×H100, 4 hrs): supera a GPT-2 en CORE, puede escribir poemas y cuentos.
• Carrera de $ 1000 (≈24 horas, GPT-3 Small 125 M FLOPs, escala 1/1000):
– MMLU 40+
– ARC-Easy 70 +
– GSM8K 20+
es un genuino mini-pipeline de grado de investigación.
Cuando alguien preguntó si NanoChat podría usarse para entrenar un LLM personal (en notas de Notion, datos de salud, etc.), Karpathy echó un jarro de agua fría sobre la idea:
"Este no es un buen repositorio para eso... Piense en estos micromodelos como niños muy pequeños; carecen de la inteligencia bruta de sus primos más grandes".
Si los ajusta en los datos personales, es posible que obtenga "loros lindos" que imitan su estilo de escritura, pero seguirá siendo una basura. 🪿
Por qué la personalización es difícil
Para crear un modelo genuinamente personalizado, necesitarías:
• Preparar datos base de alta calidad
• Generar toneladas de datos sintéticos (complejos + diversos)
• Ajuste fino en un LLM abierto fuerte (por ejemplo, Tinker)
• Posiblemente mezcle grandes datos de preentrenamiento para retener la inteligencia general
Eso sigue siendo un territorio de grado de investigación hoy en día, no un proyecto de fin de semana.
Panorama más amplio
Karpathy ve a NanoChat como el nuevo nanoGPT:
un marco mínimo pero completo que pueda convertirse en una línea de base estándar para la investigación de LLM, la colaboración comunitaria y la educación.
En este momento no está completamente optimizado, pero la arquitectura es sólida, lista para que los colaboradores de GitHub la impulsen, módulo por módulo.
4.62 K
15
El contenido al que estás accediendo se ofrece por terceros. A menos que se indique lo contrario, OKX no es autor de la información y no reclama ningún derecho de autor sobre los materiales. El contenido solo se proporciona con fines informativos y no representa las opiniones de OKX. No pretende ser un respaldo de ningún tipo y no debe ser considerado como un consejo de inversión o una solicitud para comprar o vender activos digitales. En la medida en que la IA generativa se utiliza para proporcionar resúmenes u otra información, dicho contenido generado por IA puede ser inexacto o incoherente. Lee el artículo enlazado para más detalles e información. OKX no es responsable del contenido alojado en sitios de terceros. Los holdings de activos digitales, incluidos stablecoins y NFT, suponen un alto nivel de riesgo y pueden fluctuar mucho. Debes considerar cuidadosamente si el trading o holding de activos digitales es adecuado para ti según tu situación financiera.