Temas en tendencia
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Mis notas sobre nanochat, incluidos enlaces a los datos de entrenamiento que utiliza


13 oct, 23:16
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.

Sam Dobson envió una compilación del modelo a Hugging Face: necesita CUDA para ejecutarse, pero tuve a Claude Code pirateándolo por un tiempo y me construyó un script para ejecutarlo en la CPU de macOS, detalles aquí:

131.54K
Populares
Ranking
Favoritas