English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

invitado
1 / ?

Qué Predice un Modelo de Lenguaje

Un Motor de Continuación Probabilística

Un modelo de lenguaje toma una secuencia de tokens & asigna una distribución de probabilidad sobre qué token viene después. Aliméntalo con the cat sat on the & genera probabilidades a lo largo de todo un vocabulario: alta masa en mat, floor, couch; baja masa en xylophone, Tuesday.


Muestreando esa distribución, agregando un token, & alimentándolo de vuelta: ese bucle genera texto un token a la vez. Generación autoregresiva, nombrada así porque cada paso regresa sobre su propia salida previa.


Tres Números Definen un Modelo de Lenguaje


Tamaño del vocabulario (V). Cuántos tokens distintos puede producir un modelo. ANDREA-12M usó 4,353 tokens; ANDREA-120M usa 8,449.


Ventana de contexto (T). Cuántos tokens caben en una pasada hacia adelante. Los modelos ANDREA usan T = 1,024.


Conteo de parámetros (P). Cuántos pesos aprendidos viven dentro. 12M, 120M y 480M nombran una familia por P.


Una Familia de Tres


Varianted_modelCabezasCapasContextoParámetros
ANDREA-12M384126102412.8M
ANDREA-120M76812121024~120M
ANDREA-480M153624161024~480M

Tres perillas de escala: d_model (ancho de cada vector interno), n_layer (profundidad de los bloques transformer apilados), n_head (proyecciones de atención paralelas). El vocabulario y el contexto permanecen fijos en toda la familia.

Leyendo la Tabla de la Familia

Compara ANDREA-12M (d_model=384, 6 capas, 12 cabezas) contra ANDREA-120M (d_model=768, 12 capas, 12 cabezas). Nombra dos ejes arquitectónicos que escalan de 12M a 120M, y uno que permanece constante. Una razón de una oración para cada elección de escalado ayuda.

Por qué lo Pequeño Importa

La restricción como liberación

Los grandes modelos de lenguaje con cientos de miles de millones de parámetros requieren miles de GPUs, conjuntos de datos propietarios y presupuestos corporativos. Pocas personas pueden entrenar uno. Pocas personas pueden reparar uno.


Un pequeño modelo de lenguaje en una sola GPU lo cambia todo. Cualquiera con una 4090 (o una 3060) puede reproducir ANDREA a partir de datos abiertos. La receta de entrenamiento hace las veces de tarjeta del modelo. Código abierto, pesos abiertos, datos abiertos; procedencia completa en 72 horas de cómputo.


Capacidad vs Calidad

Los modelos más pequeños no pueden memorizar su corpus de entrenamiento. ANDREA-12M, con 12.8M de parámetros, carece de la capacidad para almacenar contenido fáctico; aprende estructura de turnos, distribución de vocabulario y forma de respuesta. ANDREA-120M, con 10× la capacidad, aprende recuerdo fáctico, coherencia multi-párrafo y amplitud de dominio (verificado mediante calificación externa de 9.5/10 en muestras de biología y procesamiento de señales).


La lección principal: la capacidad establece un techo. El currículo decide si se alcanza ese techo. Las actividades 14-23 cubren el currículo. [TITLE decoder_only/]

Tres Sabores de Transformer

Codificador, Decodificador, Ambos

El Transformer original (Vaswani et al., 2017) incluía un codificador y un decodificador, unidos para traducción. Tres linajes arquitectónicos descienden de ese artículo:


Solo codificador (linaje BERT). Atención bidireccional, sin máscara causal. Optimizado para clasificación, no para generación. Un token ve tanto su pasado como su futuro durante el entrenamiento.


Codificador-decodificador (T5, BART). El codificador lee la entrada; el decodificador genera la salida, atendiendo al codificador mediante atención cruzada. Usado para traducción, resumen.


Solo decodificador (GPT, ANDREA). Máscara causal: cada token solo ve su pasado. Entrenado para predecir el siguiente token. La generación es gratuita; el entrenamiento e inferencia comparten el mismo pase hacia adelante.


Por qué Solo Decodificador Gana en una GPU

Tres razones:


1. Objetivo único. La predicción del siguiente token funciona con cualquier texto. No se necesita par fuente/objetivo.

2. Simetría en entrenamiento & inferencia. Mismo pase hacia adelante, sin lógica especial de generación.

3. Simplicidad de memoria. Sin atención cruzada; una pila de capas; un flujo de activaciones.


ANDREA hereda la elección decoder-only de microGPT, que la heredó de nanoGPT, que la heredó de GPT-2. La línea de descendencia se mantiene estándar; lo que cambia vive en tokenización, infraestructura de entrenamiento & currículo.

Por qué Decoder-Only para ANDREA

Da una razón desde la perspectiva de datos de entrenamiento & una razón desde la perspectiva de comportamiento de inferencia por la que ANDREA usa un transformer decoder-only en lugar de un encoder-decoder como T5.

Qué Cabe en 24 GB

Bytes Por Parámetro

Una RTX 4090 viene con 24 GB de VRAM. El entrenamiento de ANDREA-12M usó 1.4 GB. ANDREA-120M usó sustancialmente más. La diferencia se debe a un simple ejercicio de contabilidad: cada parámetro aparece múltiples veces en memoria durante el entrenamiento.


Para cada parámetro, el entrenamiento mantiene:

- El peso en sí (1× peso)

- Primer momento de Adam (m): misma forma que el peso (1× peso)

- Segundo momento de Adam (v): misma forma que el peso (1× peso)

- Gradientes: misma forma que el peso (1× peso)

- Activaciones y temporales: ~2-4× peso (varía con lote y contexto)


Total: ~6-8× el conteo de pesos, en bytes determinado por la precisión.


La Precisión Multiplica Todo


PrecisiónBytes/parámetroTotal para 120M pesosNotas
FP324480 MBBase; más seguro, más lento
FP162240 MBcuBLAS, mitad de memoria
FP8 E4M31120 MBNúcleos tensor, riesgo de NaN

Multiplica por 6-8× para la huella completa durante el entrenamiento. ANDREA-120M entrena cómodamente en FP16 (~2 GB para pesos + optimizador + gradientes); FP8 E4M3 reduce a la mitad el tiempo de entrenamiento en núcleos tensor de RTX 4090.


La Actividad 13 (grow_a_language_model_precision) explora en detalle los compromisos de precisión FP.

Dimensionamiento del Estado del Optimizador de ANDREA-120M

ANDREA-120M tiene ~120,000,000 parámetros. Cada peso FP32 ocupa 4 bytes. AdamW almacena dos flotantes adicionales de estado del optimizador por peso (m, v). Calcula: (a) solo pesos en FP32, en MB; (b) pesos + estado del optimizador en FP32, en MB; (c) pesos + estado del optimizador en FP16, en MB. Muestra tu aritmética.

Veinticinco Actividades

Dos Mitades

Este curso se divide claramente. La primera mitad cubre lo que microGPT enseñó al campo: un transformer que se ejecuta en una sola GPU. La segunda mitad cubre la contribución real de ANDREA: un currículo que aprende.


Mitad 1: Un Transformer en Una GPU (actividades 2-13)


#ActividadRitmo
2Tokenizador de morfemas Harrissegmentación distribucional, vocabulario 256+N+1
3Alineación diet-tokenizerpunto de saturación, por qué 12M desperdició 63.6%
4Embeddings & posicióntoken aprendido + búsqueda de posición
5Atención de producto punto escaladoQ·Kᵀ/√d, máscara causal, softmax
6Atención multi-cabezadivisiones de cabezas, proyecciones paralelas
7Bloque TransformerMLP, residuales, normalización de capa
8Entropía cruzada & perplejidadlog-verosimilitud, pérdida SMMA
9Retropropagación en CUDA personalizadoregla de la cadena a través de microgpt_cuda.cu
10AdamWdecaimiento de pesos desacoplado; por qué el Adam vanilla murió
11Calentamiento LR + decaimiento cosenorampa de 2000 pasos; por qué el pico instantáneo destruye 120M
12Recorte de gradientesnorma L2 global; 3 kernels CUDA
13FP32 / FP16 / FP8 E4M3compensaciones de precisión; núcleos tensoriales

Mitad 2: Un Currículo Que Aprende (actividades 14-24)


#ActividadGolpe
14Bandits de múltiples brazosUCB1, exploración vs explotación
15Control de dados por fasesfases 7/14/21/28/42, dados 1d3/1d4
16Atribución de recompensas & EMAEMA de pérdida por fuente, escalado 1000×
17Pisos de fuente & penalización por épocas1/(1+epochs) previene memorización
18Bonificación de coberturaseguimiento a nivel de documento, 1.3× frescura
19Calentamiento curricular7 fuentes de chat/prosa primeros 20K pasos
20Filtrado por forma, no por caractereshas_system_prompt_shape()
21Parada temprana con coherenciaauto-halt bigram/trigram/word/char
22Checkpoint, reanudar, señalesformato, SIGTERM/SIGUSR1, continuidad loss.json
23Auditoría de muestras & calificación externalectura de una ejecución, territorio 9.5/10
24De microGPT a ANDREA-120Mcolapso v1, correcciones v2, parche v2.5, pulido v3

Además un compañero: geometry_of_andrea ve cada capa como geometría (espacio de embedding, atención como proyección, superficie de pérdida, bandit como un paseo en un simplex discreto).


Orden Sugerido

Las actividades 2-13 construyen un transformer funcional. Salta a la mitad 2 si ya has entrenado transformers antes; regresa cuando la curiosidad te golpee.


Cada actividad se sostiene por sí sola donde sea posible. Las referencias matemáticas citan actividades anteriores por nombre (ver actividad 5: atención de producto punto escalado). Las referencias de código apuntan a microgpt/microgpt_cuda.cu & microgpt/training_proxy.py en ~/git/uncloseai-cli/.

¿Dónde Empezarás?

Mirando las 24 actividades + el compañero de geometría, nombra una actividad con la que quieras empezar & una razón: brecha de conocimiento previo, relevancia profesional, o pura curiosidad. No hay respuesta incorrecta; el camino a través del curso es tuyo.