Perplejidad (en modelos de lenguaje)

perplexity-in-language-models

La perplejidad es una métrica utilizada para evaluar el rendimiento de los modelos de lenguaje. En términos sencillos, la perplejidad mide la capacidad de un modelo de lenguaje para predecir una muestra de texto. Cuanto menor sea la perplejidad, mejor predecirá el modelo la siguiente palabra en una secuencia, lo que significa que estará menos “sorprendido” por los resultados reales.

Matemáticamente, la perplejidad es la exponenciación del promedio negativo de la log-verosimilitud de una secuencia de palabras. Si bien esto puede sonar complejo, su intuición es sencilla: refleja la incertidumbre del modelo al elegir la siguiente palabra en una oración. Un modelo perfectamente entrenado tendría una perplejidad muy baja porque predice con confianza el siguiente token.

 

¿Por qué es importante la perplejidad?

La perplejidad es esencial porque ofrece una forma cuantitativa de evaluar la fluidez y la capacidad predictiva de un modelo de lenguaje. A diferencia de la precisión, que mide las respuestas correctas o incorrectas, la perplejidad mide la confianza en las distribuciones de probabilidad. El lenguaje es inherentemente probabilístico: a menudo hay más de una palabra “correcta” para seguir una oración. La perplejidad nos indica qué tan bien comprende un modelo estas posibilidades.

En la práctica, la perplejidad le proporciona un número que refleja la capacidad general de modelado del lenguaje del modelo si está entrenando o comparando modelos de lenguaje. Ayuda a los investigadores y desarrolladores a ajustar, mejorar y seleccionar modelos que produzcan resultados más coherentes y de sonido natural.

 

La intuición detrás de la perplejidad

Considere la perplejidad como el número promedio de opciones entre las que el modelo está confundido en cada paso de predicción. Si un modelo tiene una perplejidad de 10, en promedio, no está seguro entre 10 posibles palabras siguientes. Una perplejidad de 1 indicaría una confianza perfecta: una palabra es la siguiente palabra correcta en todo momento.

Una perplejidad más baja indica que el modelo tiene mejores representaciones internas de la gramática, la semántica y el contexto. Por otro lado, una perplejidad alta significa que al modelo le resulta difícil predecir los datos y puede generar resultados inciertos, erráticos o de baja calidad.

 

¿Cómo se calcula la perplejidad?

La perplejidad se calcula en función de la probabilidad que el modelo asigna a la secuencia correcta de palabras. Específicamente, se deriva de la probabilidad inversa de la secuencia adecuada, normalizada por el número de tokens.

Aquí está la fórmula general:

Perplejidad = 2(−(1/N) ∑ log₂ P(wᵢ | w₁…wᵢ₋₁))

Donde:

  • N es el número total de palabras en la secuencia
  • P(wᵢ | w₁…wᵢ₋₁) es la probabilidad asignada a cada palabra dadas las anteriores

Aunque esto involucra logaritmos y matemáticas de probabilidad, la principal conclusión es esta: cuanto menor sea la perplejidad, mejor será el modelo para predecir la secuencia real de texto.

 

Perplejidad y tareas de modelado de lenguaje

Los modelos de lenguaje están entrenados para predecir el siguiente token en una secuencia. La perplejidad proporciona una forma natural de calificar qué tan bien lo hacen, especialmente en conjuntos de datos de validación.

Por ejemplo, si introduce una oración como:
“El perro persiguió al…”

Un buen modelo debería asignar una alta probabilidad a “gato”, “pelota” o “palo”, y una baja a “universo” o “gobierno”. Cuanto más precisas y realistas sean las probabilidades del modelo, menor será su perplejidad.

Esta es la razón por la que la perplejidad se utiliza a menudo para rastrear el progreso del entrenamiento, comparar versiones de modelos y evaluar en diferentes conjuntos de datos.

 

¿Qué es una buena puntuación de perplejidad?

No existe una puntuación de perplejidad “buena” absoluta porque depende del conjunto de datos, la arquitectura del modelo y la tarea. Sin embargo, se aplican directrices generales:

  • Una perplejidad más baja es mejor. En el mismo conjunto de datos, un modelo con una perplejidad de 20 suele ser mejor que uno con 100. Los valores de perplejidad por debajo de 50 suelen ser alcanzables para conjuntos de datos pequeños o modelos simples
  • Los modelos grandes entrenados en datos a escala de Internet pueden alcanzar perplejidades de un solo dígito (especialmente cuando se ajustan).
  • Las comparaciones solo son significativas en configuraciones similares; no se pueden comparar directamente las puntuaciones de perplejidad en conjuntos de datos o métodos de tokenización muy diferentes.

 

Perplejidad en diferentes contextos

En los modelos a nivel de palabra, cada palabra se trata como un token. En los modelos a nivel de subpalabra o de codificación por pares de bytes (BPE), cada token puede ser una parte de una palabra. Esto afecta a las puntuaciones de perplejidad: más tokens por oración pueden conducir a una mayor perplejidad, incluso si el modelo sigue siendo bueno.

Debido a esto, es importante normalizar la tokenización al interpretar o comparar la perplejidad. Los modelos modernos como GPT utilizan unidades de subpalabra, por lo que la perplejidad debe interpretarse en ese contexto.

En el reconocimiento de voz o la traducción automática, la perplejidad se utiliza durante el preentrenamiento del modelo de lenguaje, pero se necesitan métricas adicionales específicas de la tarea (como BLEU o WER) para evaluar la calidad de la salida.

 

Perplejidad vs. Precisión

La perplejidad y la precisión miden el rendimiento del modelo, pero de diferentes maneras. La precisión evalúa si un modelo elige la respuesta correcta exacta, mientras que la perplejidad mide la confianza del modelo en sus conjeturas, incluso cuando se equivoca.

Por ejemplo, en una tarea de completar oraciones:

  • Un modelo con baja precisión pero baja perplejidad podría asignar una alta probabilidad a la palabra correcta pero no seleccionarla.
  • Un modelo con alta precisión pero alta perplejidad podría obtener la respuesta correcta ocasionalmente, pero estar muy desviado en otras.

Por lo tanto, la perplejidad refleja el rendimiento probabilístico, no la corrección binaria.

 

Limitaciones de la perplejidad

Coherencia de la salida

La perplejidad mide qué tan bien un modelo predice palabras individuales, pero no qué tan bien forma oraciones coherentes o significativas. Un modelo puede tener una perplejidad baja pero generar salidas repetitivas, contradictorias o carecer de flujo lógico, lo que lo hace poco fiable para evaluar la calidad general del texto generado.

Corrección semántica

Dado que la perplejidad se basa puramente en la probabilidad, no evalúa si el contenido es objetivamente preciso o semánticamente significativo. Un modelo podría asignar una alta probabilidad a oraciones fluidas pero incorrectas o sin sentido simplemente porque coinciden con patrones de lenguaje comunes.

Rendimiento de la tarea posterior

En tareas como la traducción, el resumen o las preguntas y respuestas, el rendimiento de un modelo a menudo se juzga mejor por la comprensión humana o las métricas específicas de la tarea (por ejemplo, BLEU, ROUGE). La perplejidad puede no correlacionarse bien con las preferencias humanas o la utilidad en estos contextos.

Sesgo e imparcialidad

La perplejidad no ofrece ninguna información sobre cuestiones éticas como el sesgo, la imparcialidad o la toxicidad en las salidas del modelo. Un modelo puede lograr una baja perplejidad mientras sigue produciendo salidas dañinas o discriminatorias, lo cual es especialmente problemático en aplicaciones del mundo real.

 

Perplejidad en los modelos de IA modernos

Los modelos de lenguaje grandes como GPT-3, GPT-4, LLaMA y PaLM todavía utilizan la perplejidad durante el entrenamiento y el ajuste. Ayuda a los desarrolladores a rastrear el progreso y comparar modelos durante el preentrenamiento.

Sin embargo, una vez que los modelos se implementan, la perplejidad se vuelve menos útil para la evaluación en tiempo real, especialmente porque muchas aplicaciones ahora involucran tareas de generación, donde la fluidez, la diversidad y la utilidad importan más que la probabilidad de predicción.

Aún así, la perplejidad sigue siendo una métrica central durante el desarrollo, particularmente para evaluar:

  • Convergencia del modelo
  • Consistencia de la predicción de tokens
  • Generalización a datos no vistos

 

Mejores prácticas para mejorar la perplejidad durante el entrenamiento

Para reducir la perplejidad (es decir, mejorar el modelo), los desarrolladores pueden probar lo siguiente:

Utilice conjuntos de datos de entrenamiento más grandes y diversos

Entrenar en fuentes de texto más amplias y de mayor calidad ayuda al modelo a aprender más patrones, mejorando su capacidad de generalización y reduciendo la perplejidad en nuevas entradas.

Aumentar la capacidad del modelo

Los modelos más grandes con más parámetros (capas, cabezales de atención, etc.) pueden capturar patrones y dependencias lingüísticas más complejos, lo que a menudo conduce a una menor perplejidad y mejores predicciones.

Optimizar la tokenización

La tokenización eficiente (como el uso de unidades de subpalabra o la codificación por pares de bytes) ayuda a reducir el tamaño del vocabulario y la ambigüedad. También facilita que el modelo aprenda estructuras y relaciones de palabras, lo que mejora la perplejidad.

Ajustar en dominios relevantes

Personalizar el modelo en datos específicos del dominio (por ejemplo, texto legal, médico o técnico) ayuda a reducir la perplejidad en ese dominio al adaptar la comprensión del lenguaje del modelo al tema.

Regularización y aprendizaje curricular

Aplicar la exclusión, la disminución del peso y aumentar gradualmente la complejidad de la tarea durante el entrenamiento ayuda a prevenir el sobreajuste y mejora la generalización, reduciendo la perplejidad en los datos de entrenamiento y prueba.

La perplejidad es un concepto central en la evaluación de modelos de lenguaje. Mide la confianza de un modelo al predecir secuencias de palabras o tokens. Una perplejidad más baja significa que el modelo es más fluido y preciso en la comprensión del lenguaje. Si bien no es una métrica perfecta, sigue siendo una herramienta valiosa para entrenar, comparar y mejorar modelos, especialmente durante el desarrollo.

A medida que los modelos de lenguaje se vuelven más potentes y complejos, la perplejidad sirve como base para rastrear el progreso, incluso cuando la complementamos con otras medidas como evaluaciones humanas, pruebas de seguridad y métricas específicas de la aplicación.

Glosario relacionado