Playground de codificación entrópica

Explora cómo distintas distribuciones de símbolos afectan la entropía de Shannon, compara los límites de la codificación de Huffman y aprende cómo la entropía rige las funciones de pérdida y la incertidumbre del vocabulario en los modelos de lenguaje de IA (LLMs) modernos.

Cargando simulación interactiva...

Los bits enteros son lo que Huffman paga 🖖

La codificación entrópica aprovecha la redundancia estadística para representar mensajes con menos bits. El teorema de codificación de fuente de Shannon establece que la longitud media mínima absoluta de cualquier código sin pérdida es la entropía de Shannon: H(X) = −Σ pi log₂ pi. La codificación de Huffman es óptima para un alfabeto dado cuando los símbolos se codifican individualmente, pero está limitada a palabras de código de longitud entera. Esta restricción entera implica que Huffman puede desviarse de la entropía teórica hasta en 0,086 bits/símbolo (y mucho más si algún símbolo tiene pi ≈ 1). La codificación aritmética (por ejemplo, ANS) supera este límite asignando toda la secuencia a intervalos fraccionarios.

Conexión con los LLMs y la IA: En los modelos de lenguaje (LLMs) modernos, la entropía es un concepto central tanto en el entrenamiento como en la generación. Los LLMs se entrenan minimizando la pérdida de entropía cruzada entre sus predicciones de vocabulario y el texto real. Durante la generación (inferencia), el LLM produce una distribución de probabilidad sobre su vocabulario para el siguiente token. La entropía de esta distribución mide la incertidumbre de predicción del modelo: una distribución plana (alta entropía) genera texto creativo o aleatorio, mientras que una distribución puntiaguda (baja entropía) genera texto muy predecible. Parámetros de muestreo como la temperatura escalan directamente esta entropía (una temperatura más baja reduce la entropía, una más alta la aumenta), mientras que el muestreo nucleus (Top-p) acota dinámicamente la probabilidad acumulada para recortar las colas de alta entropía.

Por qué los símbolos raros cuestan más bits 🖖

La verdadera lección de esta herramienta: el número ideal de bits para un símbolo es su sorpresa, −log2 p. Un símbolo que aparece la mitad de las veces merece 1 bit; uno con probabilidad de 1 entre 1000, unos 10 bits. La entropía no es más que la sorpresa promedio de todos los símbolos. Por eso las distribuciones sesgadas (como los ajustes laplaciano o exponencial) se comprimen bien, mientras que un alfabeto uniforme no — cuando todo es igual de probable, no hay redundancia que eliminar.

Morse: codificación de entropía antes de Shannon 🖖

El código Morse asignó la señal más corta, un solo punto, a la E, la letra más frecuente del inglés, y secuencias largas a las raras como la Q y la Z. Para elegir las longitudes, se dice que Alfred Vail contó los tipos móviles en la caja de una imprenta para estimar las frecuencias de las letras. Era codificación de longitud variable funcionando en la década de 1840, casi un siglo antes de que Shannon formalizara en 1948 por qué funciona.

UNA ETAPA DE UNA CADENA: QUÉ LLEGA, QUÉ SALE Y QUÉ SE ROMPE DESPUÉS

Dónde encaja esto en la tubería de codificación

Un codificador de vídeo no es un algoritmo, sino ocho etapas en un orden fijo, y el orden no es arbitrario: cada etapa existe porque la anterior hizo posible su trabajo. Esta herramienta modela una de ellas. La cadena de abajo enlaza con las otras siete.

Playground de codificación entrópica — empaqueta los símbolos cuantizados en tan pocos bits como permita su estadística

Qué llega
Un flujo de enteros cuantizados, muy sesgado hacia cero.
Qué sale
El flujo de bits terminado. Aquí no se descarta nada.
Qué supone la etapa siguiente
Nada posterior: es la última etapa de codificación. Lo que supone está aguas arriba, que la distribución de símbolos ya se ha vuelto desigual para ella.
Qué se estropea aquí
Ningún codificador entrópico puede batir la entropía de Shannon de lo que se le entrega, así que su techo lo fijan por completo las etapas anteriores. Si se ejecuta sobre coeficientes sin cuantizar hay poca redundancia que encontrar, y esa es la razón de que el paso con pérdida vaya primero y no al final.

Problema resuelto al detalle

  1. El margen que queda para un algoritmo más inteligente que Huffman en 16 símbolos 6 pasos

    16 símbolos, distribución de Laplace, entropía de 3,010 bits. Huffman alcanza 3,012. Calcule cuánto margen queda para un algoritmo más ingenioso.

    1. La entropía es la sorpresa media, en bits, de un símbolo extraído de esta distribución. Es una propiedad exclusiva de las probabilidades y no sabe nada sobre ningún código.

    2. La alternativa ingenua asigna a cada símbolo el mismo número de bits, y 16 símbolos necesitan 4. Esta es la referencia con la que se mide el ahorro.

    3. Huffman asigna códigos cortos a los símbolos frecuentes y largos a los infrecuentes, y la media es la longitud ponderada por las probabilidades.

    4. El ahorro compara las dos longitudes de código, no el código con la entropía —motivo por el cual es una afirmación sobre esta alternativa y no sobre el límite.

    5. Ahora compare con el límite. El teorema de codificación de fuente de Shannon establece que ningún código prefijo puede bajar de H, y se garantiza que Huffman se sitúa por debajo de H + 1.

    6. Exprese el margen restante como una fracción y la pregunta de optimización se responderá sola.

    Respuesta

    0,002 bits por símbolo, o 0,07%. El teorema de Shannon acota cualquier código prefijo entre H y H + 1, y está demostrado que Huffman es óptimo entre ellos. Por tanto, ningún código prefijo bajará nunca de 3,012 en este texto. El ahorro del 24,7% frente a la codificación de longitud fija es real. Ese 0,07% restante es todo lo que la ingeniería más avanzada podría llegar a aportar. A partir de aquí, mejoras la compresión cambiando el modelo y no el código: si los símbolos adyacentes se correlacionan, la entropía de la distribución condicional es inferior a 3,010. Y esa es una cifra completamente distinta.

Referencias (1)

Problemas de ejemplo

  • Uniforme 8 - Fuente uniforme de 8 símbolos: H=3 bits, ganancia de codificación nula; la entropía iguala al código de longitud fija
  • Tipo DCT (Laplace) - Laplaciana tipo DCT: H≈2.1 bits, ahorro del 23%; la mayoría de los coeficientes AC de video se agrupan cerca de cero
  • Tipo vector de movimiento - Exponencial tipo vector de movimiento: H≈2.3 bits, ahorro del 43% frente a un código fijo de 4 bits
  • Bimodal - Bimodal: dos símbolos dominantes dan H≈2.5 bits, una ganancia de compresión Huffman significativa