Perplexity
Aprende qué es la perplejidad, cómo mide el rendimiento de los modelos de lenguaje, cómo se calcula y las mejores prácticas para interpretar los resultados.
La perplejidad es una métrica de evaluación que mide lo bien que un modelo probabilístico predice una secuencia de tokens. Se utiliza más comúnmente en el modelado de lenguaje, donde un valor más bajo significa que el modelo encuentra el texto evaluado menos sorprendente. Intuitivamente, una perplejidad de 10 sugiere que, en cada paso de predicción, el modelo es aproximadamente tan incivil como si estuviera eligiendo entre 10 alternativas igualmente probables. Esta interpretación es aproximada, pero hace que la métrica sea más fácil de entender.
Cómo funciona la perplejidad#
Un modelo de lenguaje asigna una probabilidad a cada posible siguiente token basándose en el contexto precedente. Como se explica en la introducción a los modelos de lenguaje de Google, un modelo autorregresivo predice repetidamente el siguiente token y lo añade al contexto.
La perplejidad resume las probabilidades asignadas a los tokens correctos a lo largo de una secuencia de evaluación. Se deriva de la pérdida de probabilidad logarítmica negativa media, expresada comúnmente como entropía cruzada:
- Si la entropía cruzada utiliza logaritmos naturales, la perplejidad es e elevada a la entropía cruzada.
- Si la entropía cruzada utiliza logaritmos en base 2, la perplejidad es 2 elevada a la entropía cruzada.
El Glosario de Aprendizaje Automático de Google proporciona una interpretación relacionada: la perplejidad aproxima el número de conjeturas que un modelo necesitaría para incluir la predicción correcta. Las bibliotecas también pueden calcularla directamente, como muestra la API de perplejidad del modelo de lenguaje de NLTK.
Este ejemplo mínimo en Python calcula la perplejidad a partir de las probabilidades asignadas a cuatro tokens correctos:
import math
# Probability assigned to the correct token at each position
token_probabilities = [0.50, 0.25, 0.80, 0.40]
negative_log_probs = [-math.log(probability) for probability in token_probabilities]
cross_entropy = sum(negative_log_probs) / len(negative_log_probs)
perplexity = math.exp(cross_entropy)
print(f"Cross-entropy: {cross_entropy:.3f}")
print(f"Perplexity: {perplexity:.3f}")El cálculo utiliza la función exponencial math.exp documentada de Python. En el código de entrenamiento de modelos, los frameworks como la pérdida por entropía cruzada de PyTorch suelen calcular la pérdida media antes de que se potencie.
Cómo interpretar la perplejidad#
Una menor perplejidad indica generalmente que un modelo asigna probabilidades más altas a los tokens observados. Sin embargo, el número solo tiene significado dentro de una comparación controlada.
Supón que el Modelo A tiene una perplejidad de 20 y el Modelo B tiene una perplejidad de 30 en los mismos datos de validación. El Modelo A predice ese conjunto de datos de manera más efectiva. No produce necesariamente respuestas más basadas en hechos, útiles, seguras o legibles.
La perplejidad también difiere de varios conceptos relacionados:
- Función de pérdida: La entropía cruzada es la pérdida subyacente de entrenamiento o evaluación, mientras que la perplejidad es su representación potenciada y más intuitiva.
- Precisión: La precisión comprueba si una predicción seleccionada es correcta. La perplejidad evalúa toda la distribución de probabilidad predicha, incluyendo cuánta probabilidad asigna el modelo a las alternativas.
- Confianza: La confianza describe habitualmente la certeza de una predicción. La perplejidad agrupa la incertidumbre predictiva a lo largo de muchas posiciones de secuencia.
- Calidad de generación: Un modelo de baja perplejidad puede producir texto fluido pero repetitivo, incorrecto o poco útil. La perplejidad no mide directamente la veracidad ni el razonamiento.
Aplicaciones en el mundo real#
-
Texto predictivo y generación de secuencias: Los desarrolladores pueden comparar modelos de lenguaje para sugerencias de teclado, transcripción o autocompletado utilizando texto retenido del dominio previsto. Por ejemplo, un modelo con menor perplejidad en terminología médica puede proporcionar mejores predicciones del siguiente token en el dictado clínico. La métrica puede ayudar a seleccionar un modelo antes de evaluar por separado la latencia y la aceptación del usuario.
-
Generación de subtítulos de imágenes con atención visual: Un sistema de generación de subtítulos de imágenes utiliza a menudo un codificador visual seguido de un decodificador de lenguaje. La perplejidad puede medir lo bien que el decodificador predice los tokens de los subtítulos de referencia dadas las características de la imagen. Esto es relevante para los modelos de visión y lenguaje, aunque la baja perplejidad por sí sola no puede determinar si un subtítulo identifica correctamente cada objeto o evita detalles alucinados.
La evaluación basada en probabilidades también puede respaldar diagnósticos especializados. La guía de evaluación de probabilidad logarítmica de NVIDIA explica cómo se pueden agrupar las probabilidades de los tokens en métricas como la perplejidad sin requerir una generación de formato libre.
Limitaciones y mejores prácticas#
Los valores de perplejidad no deben compararse cuando los modelos utilizan diferentes esquemas de tokenización. Un modelo a nivel de palabra, un modelo a nivel de carácter y un modelo de lenguaje grande basado en subtokens dividen la misma frase de manera diferente, cambiando el número y la dificultad de los pasos de predicción.
Los conjuntos de datos de evaluación también deben coincidir con el dominio de destino. Un modelo puede lograr una baja perplejidad en artículos de noticias, pero rendir mal en código fuente o conversaciones de soporte técnico. Sigue las directrices de calidad de aprendizaje automático establecidas utilizando datos de evaluación representativos y separados, además de un preprocesamiento consistente.
En sistemas multimodales y de visión por computador, combina la perplejidad con medidas específicas de la tarea. La guía de Ultralytics sobre evaluación y ajuste fino de modelos abarca métricas como la precisión, el recuerdo y la precisión media para las predicciones visuales. Juntas, las métricas de lenguaje y visión proporcionan una evaluación más completa que la perplejidad por sí sola.






