Fundamentos de ML
De qué está hecho un modelo (tokenizadores, embeddings, tensores, atención, entrenamiento, inferencia), para ingenieros que vienen del software o de los datos.
← Todos los artículosEl fine-tuning es mala herramienta para añadir conocimiento: tres fases de entrenamiento y el atajo de bajo rango
El preentrenamiento y el fine-tuning comparten pérdida y se distinguen por una máscara. LoRA entrena dos matrices estrechas al lado de los pesos congelados. Los hechos que se enseñan con fine-tuning entran despacio y traen una confianza inmerecida: mi modelo dio Moscú como capital de un país que no existe.
La tasa de aprendizaje es el hiperparámetro que rompe producción
Adam y el schedule son decisiones de ingeniería que las matemáticas no dictan. Nada valida la configuración: un valor malo diverge a las 30 horas y tumba la ejecución.
Pérdida y gradientes sin fórmulas: la retropropagación es recorrer un grafo
La retropropagación recorre un grafo hacia atrás aplicando la regla de la cadena. Leída como código, explica por qué los gradientes se desvanecen o explotan y por qué un bug en el gradiente se queda en una curva algo torcida, sin stack trace.
De GPT-2 a Llama: cuatro cambios y el motivo de cada uno
Posiciones rotatorias, RMSNorm, feed-forward con puerta y grouped-query attention son cuatro retoques locales que se justifican más con mediciones que con teoría, y cada uno queda grabado en los pesos.
GPT-2 es el transformer más cinco decisiones, y la inferencia es otro programa
Un mismo artefacto ejecuta dos programas: el entrenamiento hace una sola pasada hacia delante, en paralelo, sobre la secuencia, y la generación es un bucle secuencial con caché. Los pesos son los mismos y los bugs, distintos.
Un bloque de transformer son seis tensores y un bus: léelo como un pipeline
Leído línea a línea y con las formas al margen, un bloque de transformer son seis tensores sobre un flujo residual. Dos tercios de sus pesos están en la red feed-forward, y a medida que crece el contexto el coste se desplaza a la atención.
La atención es una media ponderada aprendida y su coste está en el cuadrado
Un diccionario difuso cuyos pesos calcula el modelo a partir de su propia entrada. La idea es barata, pero la matriz de pesos es de T por T, así que el coste lo ponen los datos y en el código no se ve.
Las formas son el sistema de tipos del ML, y nadie las comprueba por ti
[B, T, d] es una firma de función que el runtime nunca verifica, y por eso un eje equivocado solo da error cuando los tamaños difieren. Si coinciden, la operación se resuelve por broadcasting, devuelve números plausibles y el bug llega a producción.
Un embedding es una tabla de consulta, y todo lo demás es cómo se rellena
Es la fila de una matriz indexada por id. La ciencia está en cómo se rellena; la ingeniería, en que no hay migración de esquema: otro modelo invalida tu índice.
Un modelo no lee texto: lo que el tokenizador decide por ti
El tokenizador parece ir delante del modelo, pero va dentro. Leo en el BPE de tiktoken qué fija antes del primer peso: vocabulario, coste y límite de contexto.