ML Atlas

Machine learning desde cero · Lección 7.2 · 33 de 33 lecciones listas · 12 min

De redes neuronales a grandes modelos de lenguaje

En pocas palabras

Un gran modelo de lenguaje aprende a adivinar el siguiente token. La lección parte de un modelo que cuenta palabras y muestra el efecto de la temperatura.

Calentamiento Dos preguntas de lecciones anteriores. Un minuto, y no bloquea la lección.
De la lección 7.1: Redes neuronales: muchas unidades simples juntas ¿Por qué una red neuronal necesita una función de activación?

Ver la respuesta

Respuesta correcta: Sin ella, toda pila de capas equivale a una sola suma ponderada: una recta

La activación dobla la señal; sin dobleces, las capas no añaden poder expresivo más allá de un único modelo lineal.

De la lección 5.6: ¿Qué modelo y cuándo? En los dígitos la SVM acierta más que la regresión logística en 17 de 20 particiones; en los pingüinos, en ninguna (la regresión en 9, empate en 11). ¿Qué se deduce?

Ver la respuesta

Respuesta correcta: Cuál es mejor depende de los datos, así que lo compruebas en los tuyos

El orden se invierte entre conjuntos. Por eso el modelo se elige por validación con tus propios datos, no por el ranking de otro.

El teclado de tu teléfono te sugiere la siguiente palabra mientras escribes. Un chatbot redacta ensayos enteros, responde preguntas y traduce poemas. ¿Son el mismo tipo de máquina? En el corazón de ambos hay una tarea sorprendentemente modesta: dado el texto hasta ahora, adivinar qué viene después. Esta última lección muestra hasta dónde puede llegar esa única pregunta y dónde están sus límites. Pruébalo tú mismo antes de leer la explicación.

Predice y comprueba El modelo conoce la palabra «el» de 16 sitios del texto, y la que más veces la sigue es «jardín» (solo 3 de 16 veces). Bajas la temperatura de 1 a 0,1. ¿Qué probabilidad recibe «jardín»?
¿Qué tan seguro estás?

Experimento interactivo

Este experimento interactivo funciona en un navegador con JavaScript activado. El texto que lo rodea describe lo que muestra.

Ver la respuesta

Respuesta correcta: Alrededor del 98 %

Con temperatura 1 «jardín» tiene un 19 %, con 0,5 un 38 % y con 0,1 nada menos que un 98 %, aunque en el texto son solo 3 de 16 apariciones. Una temperatura baja afila la distribución: la palabra más frecuente se lleva casi todo. Una alta (3) la aplana hasta el 11 %.

Prueba esto

  • Escribe una palabra común en el campo de texto y lee la lista de palabras siguientes probables y sus probabilidades. ¿Tienen sentido según lo que sabes del texto?
  • Mueve el control de temperatura hacia la izquierda y observa cómo la palabra principal se lleva casi toda la probabilidad. Luego muévelo hacia la derecha y mira cómo las probabilidades se igualan.
  • Prueba una palabra que probablemente sea rara en el texto breve. Con tan pocos ejemplos que contar, ¿cuánto puedes fiarte de las probabilidades que muestra el modelo?
  • Sigue una cadena a mano: escribe la palabra siguiente más probable, luego la más probable después de esa, y así sucesivamente. ¿La frase que sale suena fluida? ¿Va a alguna parte?

La idea en pocas palabras

Un modelo de lenguaje asigna probabilidades a lo que viene a continuación en un texto. Después de «Quisiera una taza de», la palabra «té» es probable, «café» también, «grava» casi nada. Con esas probabilidades se puede generar texto: elegir una palabra siguiente, añadirla y volver a preguntar.

El modelo de lenguaje más sencillo posible es un modelo de bigramas. Lee un conjunto de textos (un corpus) y simplemente cuenta qué palabra sigue a cuál. En esta lección miramos uno construido con un texto breve escrito para este curso. Para cada palabra, el modelo conoce las palabras que la siguieron en el corpus, con sus probabilidades.

Piensa en alguien que solo ha leído un libro, muchas veces, y cuya única habilidad es recordar qué palabra venía después de cuál. Pídele que continúe una frase y producirá algo que suena vagamente al libro: fluido en lo local, sin rumbo en lo global. Esa persona es un modelo de bigramas.

Por qué funciona

El modelo de bigramas estima la probabilidad de la siguiente palabra b después de la palabra a a partir de recuentos:

P(siguiente = b | actual = a) = recuento(a b) / recuento(a)

Si «taza» aparece diez veces en el corpus y siete veces va seguida de «de», el modelo da a «de» una probabilidad de 0,7 después de «taza». Eso es todo: contar y dividir. Aprender, una vez más, significa ajustar un modelo a unos ejemplos, y la puntuación es lo bien que predice la siguiente palabra de un texto real.

Para generar texto, el modelo tiene que elegir entre los candidatos, y aquí entra la temperatura. Una temperatura baja afila la distribución: la palabra más probable gana casi siempre, y el texto se vuelve repetitivo y seguro. Una temperatura alta la aplana: las palabras más raras tienen una oportunidad real, y el texto se vuelve más variado y más errático. La temperatura no cambia lo que el modelo sabe, solo con cuánta audacia elige.

Un gran modelo de lenguaje (LLM, por sus siglas en inglés) hace la misma tarea con tres grandes mejoras. Primero, predice tokens —trozos de palabras—, así que puede manejar cualquier palabra, incluso una que nunca ha visto entera. Segundo, en lugar de mirar solo la palabra anterior, es una red neuronal, normalmente un transformer (presentado en 2017), cuyo mecanismo de atención permite que cada posición mire hacia atrás miles de tokens anteriores y decida cuáles importan. Tercero, sus probabilidades no son recuentos, sino salidas de una red con miles de millones de pesos, entrenada exactamente con las herramientas de este curso: la pérdida logarítmica de la lección 5 sobre el siguiente token, minimizada con el descenso de gradiente de la lección 4, con la retropropagación de la lección 11. Entrenada con una cantidad enorme de texto, la tarea de adivinar obliga a la red a captar gramática, hechos y patrones de razonamiento, porque todo eso ayuda a predecir lo que viene después.

Error frecuente

El mayor malentendido sobre los modelos de lenguaje es pensar que buscan las respuestas. No consultan una base de datos; producen la continuación que su entrenamiento hizo probable. La mayoría de las veces también es la verdadera, pero no siempre: cuando lo plausible y lo verdadero se separan, el modelo afirma una falsedad con fluidez, y eso se llama alucinación. El segundo error es tratar la temperatura como un control de calidad. Una temperatura baja no es «más correcta», solo más predecible; conviene para respuestas factuales, mientras que una temperatura más alta conviene para generar ideas.

Ese es todo el recorrido: de un umbral sobre una medida de un tumor a una red que predice la siguiente palabra de todo lo escrito. La receta nunca cambió: una familia de modelos, una puntuación, una búsqueda y una prueba honesta con datos que el modelo nunca vio. Los enlaces al Atlas que aparecen abajo son el lugar para profundizar en cualquier paso.

Atrapa el error de la IA

Así respondió un chatbot. Una frase es incorrecta. ¿Cuál?

Pregunta: ¿Cómo sabe un chatbot como tú la respuesta a mi pregunta?

Respuesta del chatbot

Mostrar la frase incorrecta

La frase incorrecta: Cuando haces una pregunta, el modelo busca la respuesta en su base de datos de hechos comprobados y luego la redacta con fluidez.

Un modelo de lenguaje no consulta una base de datos; produce la continuación que su entrenamiento hizo probable, igual que el modelo del experimento solo sabe que a «el» le sigue «jardín» en 3 de 16 sitios. Cuando lo plausible y lo verdadero se separan, afirma una falsedad con fluidez: una alucinación.

Test

Tres preguntas para comprobar lo aprendido. Elige una respuesta o despliega la solución bajo cada pregunta. Con el teclado: las flechas eligen, Enter o Espacio confirma.

1. ¿Con qué tarea se entrena un gran modelo de lenguaje?
Ver la respuesta

Respuesta correcta: Predecir el siguiente token de un texto a partir de los anteriores

Los LLM se entrenan para asignar una probabilidad alta al token siguiente real, y todo lo demás surge de esa tarea.

2. Bajas la temperatura de muestreo. ¿Qué le pasa al texto generado?
Ver la respuesta

Respuesta correcta: Dominan los tokens más probables y el texto se vuelve más predecible

La temperatura reajusta las probabilidades en el momento de muestrear, sin cambiar lo que el modelo aprendió.

3. ¿Por qué un modelo de lenguaje puede afirmar algo falso con seguridad?
Ver la respuesta

Respuesta correcta: Porque produce continuaciones plausibles, y lo plausible no siempre es verdad

El objetivo de entrenamiento premia el texto probable, así que cuando lo probable y lo verdadero divergen, el modelo puede alucinar con fluidez.

Ideas clave

  • Un modelo de lenguaje da probabilidades para el siguiente token; generar texto es muestrear de ellas una y otra vez.
  • Un modelo de bigramas cuenta qué palabra sigue a cuál; un LLM sustituye los recuentos por un transformer que mira un contexto largo.
  • La temperatura controla con cuánta audacia muestrea el modelo, no cuánto sabe.
  • Los LLM se entrenan con la misma receta que el resto del curso: pérdida logarítmica, descenso de gradiente y retropropagación.
  • Lo plausible no es lo mismo que lo verdadero, y por eso los modelos de lenguaje pueden alucinar.

¿Y ahora qué?

Esta es la última lección del curso. Por ahora, el resto de ML Atlas está en inglés y en polaco.

  • Repaso las preguntas de las lecciones terminadas vuelven a los 1, 7 y 30 días; unos minutos al día
  • Daily ML un acertijo corto al día (en inglés)
  • Atlas of terms términos de la enciclopedia en inglés

Más a fondo: fórmula, código, práctica

Las matemáticas

En un modelo de bigramas, la probabilidad de la siguiente palabra b después de la palabra a es un cociente de recuentos: P(b | a) = count(a b) / count(a). La temperatura t remodela estas probabilidades sin cambiar los recuentos:

  • P_t(b | a) = count(a b)^(1/t) / Σ_c count(a c)^(1/t), sumando sobre todas las palabras c que siguieron a a.
  • Con t = 1 es el cociente simple. Cuando t tiende a 0, la palabra más frecuente se lo lleva todo. Cuando t crece, la distribución se aplana hacia probabilidades iguales.
  • Un LLM usa la misma idea sobre logits z: P_t(b) = exp(z_b / t) / Σ_c exp(z_c / t). Los recuentos de arriba son el caso particular z = log count.
  • El entrenamiento minimiza la pérdida logarítmica del token siguiente real, −log P(real token | context), promediada sobre el texto.
En código (Python)

El código lee las frases en inglés del lab, cuenta lo que sigue a «the» y aplica la fórmula de la temperatura. Por eso funciona con las frases en INGLÉS, y sus números son los de la versión inglesa de la lección (el texto del lab en español puede ser distinto). El notebook enlazado bajo el resultado descarga los datos por sí solo.

import re
from collections import Counter

src = open("site-src/course/labs/next-token.corpus.js", encoding="utf-8").read()
text = re.search(r"en: `(.*?)`", src, re.S).group(1)  # las frases en inglés del lab
words = re.findall(r"[a-z']+", text.lower())
after_the = Counter(b for a, b in zip(words, words[1:]) if a == "the")
counts = after_the.most_common()
print(f'"the" seen {sum(after_the.values())} times, {len(after_the)} different next words, top: {counts[:3]}')
for t in (1, 0.5, 0.1, 3):
    w = {b: c ** (1 / t) for b, c in counts}
    print(f"temperature {t}: P(morning | the) = {w['morning'] / sum(w.values()):.1%}")

Resultado

"the" seen 42 times, 26 different next words, top: [('morning', 4), ('cup', 3), ('garden', 3)]
temperature 1: P(morning | the) = 9.5%
temperature 0.5: P(morning | the) = 18.6%
temperature 0.1: P(morning | the) = 85.0%
temperature 3: P(morning | the) = 5.3%

Estos son los números de la lección: «the» va seguida de 26 palabras distintas en 42 lugares, y «morning» es la más frecuente de ellas con 4 de 42, es decir, 9,5 % con temperatura 1. Con temperatura 0,1 obtiene 85,0 %, y con 3 solo 5,3 %.

Para profesionales
  • Los recuentos de poco texto son ruidosos. Una palabra vista tres veces te da tres ejemplos, no una distribución fiable. Por eso los modelos reales se entrenan con corpus enormes.
  • La elección voraz (siempre la palabra más probable) da texto repetitivo. Muestrear con una temperatura cercana a 1, o solo entre las pocas palabras más probables, da más variedad.
  • Usa una temperatura baja para respuestas que deben ser estables y verificables, y una más alta para lluvia de ideas. Ninguna hace la respuesta más verdadera.
  • Fluido no significa correcto. Comprueba hechos, números y citas con una fuente, porque el modelo solo continúa lo que es probable.
  • Los modelos reales leen tokens, no palabras. Una palabra rara se parte en trozos, así que contar palabras enteras, como aquí, es una simplificación.

Profundiza en el Atlas

Entradas de la enciclopedia sobre las ideas de esta lección: