Procesamiento de Lenguaje Natural · Inteligencia Artificial

Modelos de secuencia para texto

Aplicar redes recurrentes y mecanismos de atención a tareas de lenguaje y medir la calidad de un modelo con la perplejidad.

Modelos de secuencia para texto

Predecir la siguiente palabra El lenguaje es una cadena donde cada palabra depende de las anteriores. Modelar esa dependencia —y saber cuánto sorprende un texto— es el corazón de la generación y comprensión automática.

Modelar el lenguaje

Un modelo de lenguaje asigna probabilidad a secuencias de palabras, estimando la siguiente dado el contexto. De esa habilidad se deriva generar, corregir, traducir o resumir.

RNN para secuencias

Ventana de contexto

La recurrente comprime todo el pasado en un vector fijo; en frases largas, la información se diluye. Ese cuello de botella motivó un mecanismo que mira atrás sin aplastar.

Dos filas de nodos que representan dos frases, conectadas por arcos de grosor variable que resaltan los pares de palabras relevantes.
La atención pesa, en cada paso, qué palabras del pasado merecen ser miradas.

La atención

La atención permite que cada paso «mire» todas las posiciones de la entrada y pese cuáles importan. Rompe el cuello de botella del estado único y modela relaciones lejanas con claridad.

Atención pura: los transformers

Los transformers sustituyen recurrencia por atención pura, procesando en paralelo toda la secuencia. Son la base de los grandes modelos de lenguaje actuales por su escalabilidad.

Codificador y decodificador

En secuencia a secuencia, un codificador resume la entrada y un decodificador genera la salida paso a paso, con atención entre ambos. Es el esquema natural de la traducción automática.

Perplejidad: sorpresividad

La perplejidad mide la media geométrica de la inversa de la probabilidad asignada: menor es mejor. Un modelo que anticipa bien el texto tiene baja perplejidad.

De la probabilidad a la perplejidad

Se relaciona con la entropía cruzada: perplejidad es dos o e elevada a esa pérdida. Por eso bajar la pérdida al entrenar equivale a reducir la perplejidad.

Generar a partir del modelo

Para producir texto se muestrea del siguiente-token, con temperatura o nucleus que controlan la creatividad frente a la coherencia. La decodificación voraz repite el token más probable y aburre.

Más allá de la métrica

La perplejidad no garantiza textos buenos ni útiles; conviene evaluar también con BLEU, ROUGE o valoración humana según la tarea de que se trate.

Errores frecuentes

Ejemplo resuelto: predecir la siguiente palabra

Quieres comprobar si un modelo de lenguaje pequeño anticipa bien el texto como para generar con él:

  1. Preparas un corpus con una tokenización coherente y divides en entrenamiento y prueba.
  2. Entrenas una red recurrente que predice el siguiente token dado el contexto.
  3. Mides la perplejidad en validación, atento a que no rebrote por sobreajuste.
  4. Generas muestras con temperatura y las comparas con la decodificación voraz.
  5. Si el texto sale repetitivo, ajustas el muestreo o añades datos antes de agrandar el modelo.

¿Para qué sirve en la realidad?

Traductores, autocorrectores, resumidores y chatbots se apoyan en modelos de secuencia: entender la atención y la perplejidad es lo que permite elegirlos, depurarlos y evaluarlos con criterio.

La perplejidad de un modelo de lenguaje es un indicador de:

El mecanismo de atención permite a un modelo pesar posiciones lejanas de la secuencia sin comprimirlas en un único estado.

Secuencia

Modelo que procesa la frase palabra a palabra con estado
rnn
Mecanismo que pondera posiciones relevantes de la entrada
atencion
Arquitectura de atención pura, base de los grandes modelos
transformer
Métrica de sorpresividad, mejor cuanto más baja
perplejidad
Estrategia que repite el token más probable y aburre
greedy

Ordena el funcionamiento de un modelo secuencia a secuencia con atención:

Entrada
Codificar
Atender
Generar

Perplejidad
Métrica para evaluar modelos de lenguaje.

Une cada término de los modelos de secuencia con su papel.

Predecir la siguiente palabra

# Modelos de secuencia
## Recurrentes
### estado oculto
### lstm y gru
## Atencion
### mira todas las posiciones
### base del transformer
## Generacion
### muestreo con temperatura
### decodificacion voraz
## Metricas
### perplejidad
### bleu y rouge

Tu modelo de traducción tiene baja perplejidad pero produce frases torpes. ¿Por qué la perplejidad no basta y qué otra evaluación añadirías?