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.
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.
Elige una respuesta y tu grado de seguridad.
Responde para desbloquear el experimento.
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?
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.
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 palabrascque siguieron aa.- Con
t = 1es el cociente simple. Cuandottiende a 0, la palabra más frecuente se lo lleva todo. Cuandotcrece, 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 particularz = 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 %.
Descargar el notebook (.ipynb). Ábrelo en Jupyter o súbelo a Google Colab; descarga por sí solo los datos que falten.
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.
¿Te ha sido útil?
¡Gracias! Nos ayuda a mejorar.
Profundiza en el Atlas
Entradas de la enciclopedia sobre las ideas de esta lección: