Laboratorio
Un juego y seis juguetes para tocar los mecanismos con las manos. Todos corren en tu navegador, con datos de juguete: no reemplazan a los modelos reales, pero dejan ver la idea sin intermediarios. Al final, un cuaderno para probar un modelo real.
¿Quién es ese modelo?
MenúVer: Estadísticas base (cómo leer una entrada)
Teclas 1–4 o flechas
Atención: quién mira a quién
MenúVer: Autoatención · Máscara causal · Codificador · Decodificador · Transformer · BERT · GPT-2
Elegí una palabra: las líneas muestran a qué otras palabras «atiende» y con qué peso.
Matriz de atención (filas: quién consulta; columnas: a quién)
Pesos inventados a mano para ilustrar, no salidos de un modelo real. Fijate en «cansado»: en modo bidireccional atiende a «animal» (masculino singular, como él) y no a «calle». En modo causal cada palabra solo puede mirar hacia atrás, por eso «animal» no puede consultar a «cansado».
Temperatura y muestreo
MenúVer: Softmax · Logits · Temperatura · Muestreo (top-k, top-p) · GPT-3 · ChatGPT (InstructGPT)
El gato se subió a la…
Los logits son inventados. A temperatura baja la distribución se concentra en la opción más probable (casi decodificación voraz); a temperatura alta se aplana y aparecen continuaciones raras. Top-p descarta la cola: solo se muestrea entre las opciones más probables que suman p.
Tokenización por pares de bytes (BPE)
MenúVer: Token · Tokenización · Codificación por pares de bytes (BPE) · Vocabulario · GPT-2
Escribí o pegá un texto. El algoritmo BPE empieza con caracteres sueltos y, en cada paso, fusiona el par vecino más frecuente. Mové el control para ver cómo aparecen subpalabras.
Fusiones aprendidas, en orden
Un tokenizador real aprende decenas de miles de fusiones sobre un corpus enorme; este aprende solo de tu texto. El símbolo ▁ marca el comienzo de una palabra. Fijate que las fusiones siguen la frecuencia, no la morfología: a veces coinciden con morfemas (perr-, -os) y a veces no.
Espacios vectoriales y analogías
MenúVer: Embedding (incrustación vectorial) · Similitud coseno · Hipótesis distribucional · Vector · word2vec
Coordenadas puestas a mano en dos dimensiones para que se vea la idea. Los embeddings reales tienen cientos de dimensiones, se aprenden de la distribución de las palabras en un corpus y las analogías funcionan bastante peor de lo que sugiere este ejemplo de manual (y parte de su éxito depende de excluir las palabras de partida).
El perceptrón aprende (o no)
MenúVer: Frontera de decisión · Descenso por gradiente · No linealidad · Perceptrón · Perceptrón multicapa (retropropagación)
Hacé clic para agregar puntos de la clase elegida. El perceptrón corrige sus pesos cada vez que clasifica mal un punto: w ← w + η·(y − ŷ)·x.
Con teclado: flechas para mover la mira, Enter para agregar un punto.
Con datos linealmente separables, el perceptrón converge (teorema de convergencia de Rosenblatt). Con XOR no hay ninguna recta que separe las clases: la línea oscila para siempre. Esa limitación, subrayada por Minsky y Papert en 1969, solo se supera con capas ocultas.
Árbol de decisión sobre el clima
MenúVer: Entropía y ganancia de información · Clasificación · Sobreajuste · Árbol de decisión (ID3/C4.5)
Ganancia de información de cada atributo en la raíz
Árbol resultante
Los 14 días del conjunto «weather»
El conjunto de datos «weather» es ficticio y minúsculo; Witten et al. lo usan a lo largo de todo su libro, tomado de Quinlan (1986). Con la raíz elegida por ganancia de información sale el árbol de su figura 4.4. Probá forzar otra raíz: el árbol crece y se vuelve menos legible, aunque clasifique igual de bien los datos de entrenamiento. (Witten et al., 2017, pp. 10, 106–109)
Cuadernos
MenúVer: Inferencia en lenguaje natural (NLI) · Ajuste fino (fine-tuning) · Bicodificadores y codificadores cruzados · Clasificación · BERT
Cuadernos de Google Colab que cargan modelos reales. Corren en servidores de Google, no en tu navegador.