1. Conmutar
  2. Computar
  3. Deducir
  4. Probabilidad
  5. Información
  6. Vectores
  7. Derivadas
  8. Optimizar
  9. Neuronas
  10. Generalizar
  11. Atención
  12. LLM

Capítulo 04 · Información

Medir la sorpresa

En 1948 Claude Shannon convirtió la información en una cantidad medible. Con una sola fórmula, la entropía, explicó cuánto se puede comprimir un mensaje y cómo medir lo lejos que está un modelo de la realidad. Esa medida es, literalmente, la función que minimiza cualquier LLM al entrenarse.

En julio de 1948 un ingeniero de los Laboratorios Bell, Claude Shannon, publicó «A Mathematical Theory of Communication». En la segunda página apartaba el significado de un plumazo: «los aspectos semánticos de la comunicación son irrelevantes para el problema de ingeniería». Lo que le interesaba era cuánta información hay en un mensaje y cómo transmitirla con eficiencia. Su respuesta fundó una disciplina entera y, setenta años después, da la mejor descripción de lo que hace un modelo de lenguaje.

La información es sorpresa

Si alguien te dice que mañana saldrá el sol, no aprendes nada: ya lo sabías. Si te dice que mañana nevará en Sevilla, aprendes mucho. Shannon formalizó esta intuición: la información que aporta un suceso depende solo de lo improbable que era.

Definición (información o sorpresa)

La información de un resultado x con probabilidad p(x) es

I(x)=−log2⁡p(x)bits.

Un suceso seguro (p=1) aporta 0 bits. Una moneda justa aporta −log2⁡12=1 bit. Un suceso con probabilidad 11024 aporta 10 bits. El logaritmo tiene un motivo: queremos que la información de dos sucesos independientes se sume, y la probabilidad conjunta se multiplica: −log⁡(pq)=−log⁡p−log⁡q.

Entropía: la sorpresa media

Antes de conocer el resultado no sabemos cuánta sorpresa nos espera, pero sí podemos calcular su valor medio. Esa media es la entropía, la cantidad central de toda la teoría.

Definición (entropía, Shannon 1948)
H(X)=𝔼[I(X)]=−∑xp(x)log2⁡p(x).

Cumple 0≤H(X)≤log2⁡n si X toma n valores. Vale 0 solo cuando un resultado es seguro y alcanza el máximo solo cuando todos son equiprobables.

Shannon no escogió la fórmula por estética: demostró que es la única medida razonable de incertidumbre.

Teorema (unicidad, Shannon 1948)

Sea H(p1,…,pn) una función que (1) es continua en las pi, (2) crece con n cuando los resultados son equiprobables y (3) es consistente al descomponer una elección en elecciones sucesivas. Entonces

H=−K∑i=1npilog⁡pi

para alguna constante K>0, que solo fija la unidad (bits si el logaritmo es en base 2).

Vuelve al ejemplo de la portada. Para «El gato está sentado en el…», una distribución muy repartida entre sofá, suelo y jardín tiene una entropía alta: hay mucha incertidumbre sobre la palabra siguiente. Después de «Érase una…», casi toda la probabilidad cae en vez y la entropía es casi cero. Arrastra las barras de la figura para ver cómo cambia.

Arrastra las barras para cambiar la distribución. La entropía H es el número medio de preguntas de sí o no que necesitas para adivinar el resultado. La tabla muestra el código de Huffman óptimo para esa distribución: los símbolos frecuentes reciben códigos cortos y su longitud media L siempre queda entre H y H+1.

Comprimir es predecir

La entropía tiene un significado operativo muy concreto: es el límite de la compresión sin pérdidas.

Teorema (codificación de fuente, Shannon 1948)

Para cualquier código binario sin prefijos de los símbolos de una fuente con entropía H(X), la longitud media L=∑xp(x)ℓ(x) cumple L≥H(X). Además, existe un código con

H(X)≤L<H(X)+1.
Idea de la demostración

Las longitudes ℓ(x) de un código sin prefijos cumplen la desigualdad de Kraft, ∑x2−ℓ(x)≤1, así que q(x)=2−ℓ(x) se comporta como una distribución. Entonces L−H=∑xp(x)log2⁡p(x)q(x)≥0 por la desigualdad de Gibbs (más abajo). Para la cota superior basta con elegir ℓ(x)=⌈−log2⁡p(x)⌉, que cumple Kraft y da L<H+1.

En 1952 David Huffman, entonces estudiante de doctorado en el MIT, encontró un algoritmo sencillo que construye el código óptimo: une una y otra vez los dos símbolos menos probables. La consecuencia es la clave de todo lo que viene: para comprimir bien hay que predecir bien. Quien conoce la distribución puede asignar códigos cortos a lo probable. El cálculo inverso también funciona: un buen compresor contiene un buen modelo de los datos.

Entropía cruzada: el precio de equivocarse

Supón que los datos siguen la distribución real p y que tu modelo cree que siguen q. Si diseñas el código con q, cada símbolo x te cuesta −log2⁡q(x) bits, y en media pagas la entropía cruzada:

H(p,q)=−∑xp(x)log2⁡q(x)=H(p)⏟inevitable+DKL(p‖q)⏟culpa del modelo.

El primer término es la incertidumbre propia de los datos, que ningún modelo puede eliminar. El segundo, la divergencia de Kullback-Leibler (1951), mide los bits que se desperdician por usar q en lugar de p:

DKL(p‖q)=∑xp(x)log2⁡p(x)q(x).
Teorema (desigualdad de Gibbs)

Para cualesquiera distribuciones p y q, DKL(p‖q)≥0, con igualdad si y solo si p=q. Por tanto H(p,q)≥H(p).

Demostración

Usamos ln⁡y≤y−1, con igualdad solo en y=1. Sumando sobre los x con p(x)>0:

−DKL(p‖q)=∑xp(x)ln⁡q(x)p(x)≤∑xp(x)(q(x)p(x)−1)=∑xq(x)−1≤0.

(El cambio de base del logaritmo solo multiplica por una constante positiva).

Las barras huecas son la distribución real p de la palabra siguiente. Las rellenas son tu modelo q: arrástralas. La entropía cruzada H(p,q) nunca baja de H(p), y la diferencia es exactamente la divergencia KL. Entrenar un modelo de lenguaje consiste en ajustar q para cerrar esa brecha.

Este es el punto de la web donde todo encaja. Si p es la distribución empírica de los datos de entrenamiento, minimizar H(p,qθ) respecto a los parámetros θ es lo mismo que minimizar la log-verosimilitud negativa del capítulo anterior. Máxima verosimilitud, mínima entropía cruzada y máxima compresión son el mismo objetivo, y ese objetivo es la función de pérdida con la que se entrena cada LLM:

ℒ(θ)=−1T∑t=1Tlog⁡qθ(wt∣w<t).

Su exponencial se llama perplejidad, PPL=2ℒ (con ℒ en bits): es como si el modelo dudara, en cada paso, entre PPL palabras equiprobables.

Las aproximaciones de Shannon al inglés

En el mismo artículo de 1948 Shannon hizo un experimento que hoy parece profético. Generó texto al azar con modelos cada vez más informados: letras equiprobables, letras con su frecuencia real, letras que dependen de la anterior (dígrafos), de las dos anteriores… y luego lo mismo con palabras. Con cada nivel, el texto se parecía más al inglés. Era el primer modelo de lenguaje estadístico, construido a mano con tablas de frecuencias de libros.

Un modelo de n-gramas entrenado con el primer capítulo de Don Quijote (dominio público). El orden n indica cuántos símbolos se miran para predecir el siguiente. A órdenes altos el texto suena a Cervantes, pero porque el modelo copia fragmentos del original: con tan pocos datos, memorizar es la forma más barata de reducir la entropía. Este problema de generalización es el que resuelven las redes neuronales.

En 1951 Shannon estimó la entropía del inglés pidiendo a personas que adivinaran textos letra a letra, y obtuvo entre 0,6 y 1,3 bits por letra, muy por debajo de los log2⁡27≈4,75 bits de las letras equiprobables. Esa redundancia es la que explota un modelo de lenguaje. Un modelo de n-gramas no puede ir mucho más allá: el número de contextos crece exponencialmente con n y casi todos aparecen una vez o ninguna. Para generalizar a contextos nunca vistos hay que representar las palabras de forma que «gato» y «felino» queden cerca. Para eso necesitamos vectores y el álgebra lineal.

Referencias

  1. C. E. Shannon (1948). «A Mathematical Theory of Communication». Bell System Technical Journal, 27(3–4).
  2. S. Kullback y R. A. Leibler (1951). «On Information and Sufficiency». Annals of Mathematical Statistics, 22(1).
  3. C. E. Shannon (1951). «Prediction and Entropy of Printed English». Bell System Technical Journal, 30(1).
  4. D. A. Huffman (1952). «A Method for the Construction of Minimum-Redundancy Codes». Proceedings of the IRE, 40(9).
  5. T. M. Cover y J. A. Thomas (2006). Elements of Information Theory, 2.ª ed. Wiley.
  6. G. Delétang et al. (2024). «Language Modeling Is Compression». ICLR 2024.