Perplejidad (métrica)

From Systems analysis wiki
Jump to navigation Jump to search

Perplejidad (del inglés Perplexity, PPL), en la teoría de la información y el aprendizaje automático, es una medida de la incertidumbre o "sorpresa" de un modelo de lenguaje al predecir una muestra de texto. Una perplejidad baja indica que la distribución de probabilidad del modelo se ajusta bien a los datos de prueba, mientras que una perplejidad alta significa que el modelo predice mal la secuencia[1].

Formalmente, la perplejidad de una distribución de probabilidad se define como la exponencial de su entropía. Para una distribución discreta p(x), es igual a 2H(p), donde H(p) es la entropía[1]. Intuitivamente, la perplejidad puede entenderse como el número "efectivo" de opciones entre las que el modelo elige en cada paso. Si la perplejidad es 100, significa que la incertidumbre del modelo es equivalente a elegir uno de 100 resultados equiprobables[2].

El término fue introducido por primera vez en 1977 por un grupo de investigadores de IBM liderado por Frederick Jelinek en el contexto del reconocimiento estadístico del habla para cuantificar la "dificultad" de una tarea[3].

Perplejidad en los modelos de lenguaje

En el campo del procesamiento del lenguaje natural (PLN), la perplejidad se ha convertido en una métrica intrínseca (intrinsic) estándar para la evaluación de la calidad de los modelos de lenguaje. Mide qué tan bien un modelo predice una secuencia de palabras o tokens en un conjunto de datos de prueba.

Definición formal

Para un corpus de prueba W=w1w2wN y un modelo de lenguaje q, la perplejidad se calcula como la media geométrica inversa de la probabilidad del corpus de prueba, normalizada por el número de palabras: PP(W,q)=(i=1N1q(wiw1,,wi1))1/N

Esta fórmula es equivalente a la exponencial de la entropía cruzada, o la pérdida logarítmica negativa media (negative log-likelihood): PP(W,q)=exp(1Ni=1Nlogq(wicontexto))

Minimizar la perplejidad es equivalente a maximizar la verosimilitud del modelo sobre los datos de prueba. Por lo tanto, un modelo con menor perplejidad se considera estadísticamente más preciso[4].

Aplicación histórica y LLM modernos

Históricamente, la perplejidad se utilizó ampliamente para evaluar modelos estadísticos de n-gramas. Por ejemplo, para el corpus del Wall Street Journal, un modelo de unigramas (que solo considera las frecuencias de las palabras) tiene una perplejidad de ~962, mientras que un modelo de trigramas (que considera el contexto de las dos palabras anteriores) tiene una perplejidad de aproximadamente 109[5]. Esta drástica reducción demuestra cuánto mejor el modelo captura los patrones lingüísticos.

Con el desarrollo de los modelos de lenguaje grandes (LLM), la perplejidad ha mantenido su papel como punto de referencia básico. Los investigadores reportan la perplejidad en conjuntos de datos de prueba estándar (por ejemplo, WikiText) como un indicador de la "fluidez" del modelo. Así, en el artículo de OpenAI sobre GPT-2, se indica que el modelo con ~117 millones de parámetros alcanza una perplejidad de aproximadamente 37 en el corpus WikiText-103[6]. La reducción de la perplejidad generalmente se correlaciona con una mejora en la calidad del modelo, por lo que la métrica sirve como un indicador conveniente del progreso durante el entrenamiento y la optimización.

Limitaciones e interpretación de la métrica

Aunque una perplejidad baja indica una alta verosimilitud de los datos según el modelo, este indicador tiene varias limitaciones significativas y no siempre se correlaciona con la calidad real del texto generado.

  • Baja perplejidad ≠ alta calidad. La perplejidad mide la confianza del modelo en sus predicciones, pero no su fiabilidad. Un modelo puede estar confiadamente equivocado, generando texto sin sentido pero estadísticamente probable (por ejemplo, repitiendo palabras y frases muy comunes)[2].
  • Sensibilidad a los datos y a la tokenización. La perplejidad no es adecuada para comparar directamente modelos con diferentes arquitecturas, vocabularios o métodos de tokenización. Por ejemplo, un modelo a nivel de caracteres puede tener una perplejidad numéricamente más baja que un modelo a nivel de palabras, pero esto no significa que resuelva mejor las tareas lingüísticas[2].
  • Incapacidad para evaluar la semántica y el contexto largo. La perplejidad es una métrica local que evalúa la predicción del siguiente token. Se correlaciona débilmente con la capacidad del modelo para captar dependencias a largo plazo y el contexto semántico a grandes distancias. Un estudio de 2023 (Hu et al.) demostró que la capacidad de los LLM para comprender textos largos (hasta 100,000 tokens) apenas se refleja en la métrica de perplejidad[7].
  • Posibilidad de manipulación. La métrica puede ser "engañada". Un modelo sobreajustado mostrará una perplejidad artificialmente baja en datos que ha "memorizado". Investigaciones (Wang et al., 2022) también han demostrado que la duplicación de fragmentos de texto o incluso la ausencia de un punto al final de una oración puede reducir o aumentar injustificadamente la perplejidad sin afectar la calidad real del texto[8].

Conclusión: el papel de la perplejidad en la actualidad

Teniendo en cuenta las limitaciones mencionadas, en la práctica moderna la perplejidad se considera un indicador auxiliar y preliminar de la calidad de un modelo de lenguaje. Sigue siendo una herramienta valiosa para la evaluación rápida y la depuración de modelos, ya que no depende de una tarea de aplicación específica y es fácil de calcular[2].

Sin embargo, para una evaluación completa de un LLM, la perplejidad por sí sola no es suficiente. Hoy en día, se complementa obligatoriamente con métricas extrínsecas (extrinsic) vinculadas a tareas específicas, como:

  • Precisión en las respuestas a preguntas;
  • Evaluaciones humanas (human evaluation);
  • BLEU/ROUGE para traducción automática y resumen de textos.

En conjunto con estos métodos, la perplejidad sigue desempeñando un papel importante —servir como una medida objetiva de la "sorpresa" del modelo—, pero sus resultados siempre se interpretan teniendo en cuenta las limitaciones mencionadas[2].

Enlaces

Bibliografía

  • Jelinek, F., Bahl, L. R., & Mercer, R. L. (1977). Perplexity — a Measure of the Difficulty of Speech Recognition Tasks. JASA:62(S1):S63.
  • Jurafsky, D., & Martin, J. H. (2021). Speech and Language Processing (3ª ed., cap. 3: N-gram Language Models). PDF.
  • Radford, A. et al. (2019). Language Models are Unsupervised Multitask Learners. OpenAI white paper.
  • Brown, T. B. et al. (2020). Language Models are Few-Shot Learners. arXiv:2005.14165.
  • Kaplan, J. et al. (2020). Scaling Laws for Neural Language Models. arXiv:2001.08361.
  • Wang, C. et al. (2022). Perplexity by PLM Is Unreliable for Evaluating Text Quality. arXiv:2210.05892.
  • Meister, C., & Cotterell, R. (2021). Language Model Evaluation Beyond Perplexity. arXiv:2106.00085.
  • Hu, Y. et al. (2024). Can Perplexity Reflect Large Language Model's Ability in Long Text Understanding?. arXiv:2405.06105.
  • Lazaridou, A. et al. (2021). Mind the Gap: Assessing Temporal Generalization in Neural Language Models. NeurIPS 2021.

Notas

  1. 1.0 1.1 "Perplexity". Wikipedia. [1]
  2. 2.0 2.1 2.2 2.3 2.4 Morgan, Abby. "Perplexity for LLM Evaluation". Comet AI Blog, 21 de noviembre de 2024. [2]
  3. "README.md · evaluate-measurement/perplexity". Hugging Face. [3]
  4. Jurafsky, Dan, and James H. Martin. Speech and Language Processing, 3rd ed., Chapter 3: N-gram Language Models, draft (2021). [4]
  5. Jurafsky, Dan, and James H. Martin. Speech and Language Processing, 3rd ed., Chapter 3: N-gram Language Models, draft (2021). [5]
  6. "Perplexity number of wikitext-103 on gpt-2 don't match the paper". GitHub, huggingface/transformers, Issue #483. [6]
  7. Hu, H., et al. "Can Perplexity Reflect Large Language Model's Ability in Long Text Understanding?". arXiv:2405.06105 [cs.CL], 10 de mayo de 2024. [7]
  8. Wang, C., et al. "Perplexity by PLM Is Unreliable for Evaluating Text Quality". arXiv:2210.05892 [cs.CL], 12 de octubre de 2022. [8]