¿Qué es un modelo de lenguaje?
Un modelo de lenguaje estima la probabilidad de que un token o una secuencia de tokens aparezcan dentro de una secuencia más larga de tokens. Un token puede ser una palabra, una subpalabra (un subconjunto de una palabra) o incluso un solo carácter.
Analiza la siguiente oración y los tokens que podrían completarla:
When I hear rain on my roof, I _______ in my kitchen.
Un modelo de lenguaje determina las probabilidades de diferentes tokens o secuencias de tokens para completar ese espacio en blanco. Por ejemplo, la siguiente tabla de probabilidades identifica algunos tokens posibles y sus probabilidades:
| Probabilidad | Tokens |
|---|---|
| 9.4% | cocinar sopa |
| 5.2% | calentar una tetera |
| 3.6% | acobardarse |
| 2.5% | siesta |
| 2.2% | relajarse |
En algunas situaciones, la secuencia de tokens podría ser una oración, un párrafo o incluso un ensayo completo.
Una aplicación puede usar la tabla de probabilidades para hacer predicciones. La predicción puede ser la probabilidad más alta (por ejemplo, "cocinar sopa") o una selección aleatoria de tokens que tengan una probabilidad superior a un umbral determinado.
Estimar la probabilidad de lo que completa el espacio en blanco en una secuencia de texto se puede extender a tareas más complejas, como las siguientes:
- Se está generando el texto.
- Traduce texto de un idioma a otro.
- Resumir documentos
Al modelar los patrones estadísticos de los tokens, los modelos de lenguaje modernos desarrollan representaciones internas extremadamente potentes del lenguaje y pueden generar un lenguaje plausible.
Modelos de lenguaje de n-gramas
Los n-gramas son secuencias ordenadas de palabras que se usan para crear modelos de lenguaje, donde N es la cantidad de palabras en la secuencia. Por ejemplo, cuando N es 2, el N-grama se denomina 2-grama (o bigrama); cuando N es 5, el N-grama se denomina 5-grama. Dada la siguiente frase en un documento de entrenamiento:
you are very nice
Los 2-gramas resultantes son los siguientes:
- tú eres
- son muy
- muy agradable
Cuando N es 3, el n-grama se denomina 3-grama (o trigrama). Con esa misma frase, los trigramas resultantes son los siguientes:
- Eres muy
- son muy agradables
Con dos palabras como entrada, un modelo de lenguaje basado en trigramas puede predecir la probabilidad de la tercera palabra. Por ejemplo, dadas las siguientes dos palabras:
orange is
Un modelo de lenguaje examina todos los trigramas diferentes derivados de su corpus de entrenamiento que comienzan con orange is para determinar la tercera palabra más probable.
Cientos de trigramas podrían comenzar con las dos palabras orange is, pero puedes enfocarte solo en las siguientes dos posibilidades:
orange is ripe orange is cheerful
La primera posibilidad (orange is ripe) se refiere a la fruta naranja, mientras que la segunda (orange is cheerful) se refiere al color naranja.
Contexto
Los humanos pueden retener contextos relativamente largos. Mientras miras el Acto 3 de una obra, retienes el conocimiento de los personajes que se presentaron en el Acto 1. Del mismo modo, el remate de un chiste largo te hace reír porque puedes recordar el contexto de la preparación del chiste.
En los modelos de lenguaje, el contexto es información útil que se encuentra antes o después del token objetivo. El contexto puede ayudar a un modelo de lenguaje a determinar si "naranja" se refiere a una fruta cítrica o a un color.
El contexto puede ayudar a un modelo de lenguaje a realizar mejores predicciones, pero ¿un 3-grama proporciona suficiente contexto? Lamentablemente, el único contexto que proporciona un trigrama son las dos primeras palabras. Por ejemplo, las dos palabras orange is no proporcionan suficiente contexto para que el modelo de lenguaje prediga la tercera palabra.
Debido a la falta de contexto, los modelos de lenguaje basados en 3-gramas cometen muchos errores.
Los N-gramas más largos sin duda proporcionarían más contexto que los más cortos. Sin embargo, a medida que N aumenta, la ocurrencia relativa de cada instancia disminuye. Cuando N se vuelve muy grande, el modelo de lenguaje suele tener solo una instancia de cada ocurrencia de N tokens, lo que no es muy útil para predecir el token objetivo.
Redes neuronales recurrentes
Las redes neuronales recurrentes proporcionan más contexto que los n-gramas. Una red neuronal recurrente es un tipo de red neuronal que se entrena en una secuencia de tokens. Por ejemplo, una red neuronal recurrente puede aprender gradualmente (y aprender a ignorar) el contexto seleccionado de cada palabra de una oración, de forma similar a como lo harías cuando escuchas a alguien hablar. Una red neuronal recurrente grande puede obtener contexto de un pasaje de varias oraciones.
Si bien las redes neuronales recurrentes aprenden más contexto que los N-gramas, la cantidad de contexto útil que pueden intuir sigue siendo relativamente limitada. Las redes neuronales recurrentes evalúan la información "token por token". En cambio, los modelos de lenguaje grandes, tema de la siguiente sección, pueden evaluar todo el contexto a la vez.
Ten en cuenta que el entrenamiento de redes neuronales recurrentes para contextos largos está limitado por el problema de la desaparición del gradiente.
Ejercicio: Comprueba tus conocimientos
- Un modelo de lenguaje basado en 6-gramas
- Un modelo de lenguaje basado en 5-gramas