Una tecnología más reciente, los modelos de lenguaje grandes (LLM), predicen un token o una secuencia de tokens, a veces muchos párrafos de tokens previstos. Recuerda que un token puede ser una palabra, una subpalabra (un subconjunto de una palabra) o incluso un solo carácter. Los LLM hacen predicciones mucho mejores que los modelos de lenguaje de n-gramas o las redes neuronales recurrentes por los siguientes motivos:
- Los LLM contienen muchos más parámetros que los modelos recurrentes.
- Los LLMs recopilan mucho más contexto.
En esta sección, se presenta la arquitectura más exitosa y ampliamente utilizada para compilar LLM: el transformador.
¿Qué es un transformador?
Los transformadores son la arquitectura de vanguardia para una amplia variedad de aplicaciones de modelos de lenguaje, como la traducción:
Los transformadores completos constan de un codificador y un decodificador:
- Un codificador convierte el texto de entrada en una representación intermedia. Un codificador es una red neuronal enorme.
- Un decodificador convierte esa representación intermedia en texto útil. Un decodificador también es una red neuronal enorme.
Por ejemplo, en un traductor:
- El codificador procesa el texto de entrada (por ejemplo, una oración en inglés) en una representación intermedia.
- El decodificador convierte esa representación intermedia en texto de salida (por ejemplo, la oración equivalente en francés).
¿Qué es la autoatención?
Para mejorar el contexto, los Transformer dependen en gran medida de un concepto llamado atención automática. En efecto, en nombre de cada token de entrada, la autoatención hace la siguiente pregunta:
"¿Cuánto afecta cada otro token de entrada la interpretación de este?"
El "yo" en "autoatención" se refiere a la secuencia de entrada. Algunos mecanismos de atención ponderan las relaciones de los tokens de entrada con los tokens en una secuencia de salida, como una traducción, o con los tokens de alguna otra secuencia. Sin embargo, la autoatención solo pondera la importancia de las relaciones entre los tokens en la secuencia de entrada.
Para simplificar, supongamos que cada token es una palabra y que el contexto completo es solo una oración. Considera la siguiente oración:
The animal didn't cross the street because it was too tired.
La oración anterior contiene once palabras. Cada una de las once palabras presta atención a las otras diez y se pregunta cuánto le importa cada una de ellas. Por ejemplo, observa que la oración contiene el pronombre it. Los pronombres suelen ser ambiguos. Por lo general, el pronombre it hace referencia a un sustantivo o una frase nominal reciente, pero en la oración del ejemplo, ¿a qué sustantivo reciente hace referencia it, al animal o a la calle?
El mecanismo de autoatención determina la relevancia de cada palabra cercana para el pronombre it. En la figura 3, se muestran los resultados: cuanto más azul sea la línea, más importante es esa palabra para el pronombre it. Es decir, animal es más importante que calle para el pronombre it.
Por el contrario, supongamos que la última palabra de la oración cambia de la siguiente manera:
The animal didn't cross the street because it was too wide.
En esta oración revisada, con suerte, la autoatención clasificaría calle como más relevante que animal para el pronombre it.
Algunos mecanismos de autoatención son bidireccionales, lo que significa que calculan puntuaciones de relevancia para los tokens anteriores y siguientes a la palabra a la que asiste. Por ejemplo, en la Figura 3, observa que se examinan las palabras a ambos lados de it. Por lo tanto, un mecanismo de autoatención bidireccional puede recopilar el contexto de las palabras a ambos lados de la palabra a la que se le presta atención. Por el contrario, un mecanismo de autoatención unidireccional solo puede recopilar contexto de las palabras a un lado de la palabra a la que se le presta atención. La autoatención bidireccional es especialmente útil para generar representaciones de secuencias completas, mientras que las aplicaciones que generan secuencias token por token requieren autoatención unidireccional. Por este motivo, los codificadores usan la autoatención bidireccional, mientras que los decodificadores la usan unidireccional.
¿Qué es la autoatención multicabezal?
Por lo general, cada capa de autoatención está compuesta por varios encabezados de autoatención. El resultado de una capa es una operación matemática (por ejemplo, el promedio ponderado o el producto punto) del resultado de los diferentes encabezados.
Dado que cada capa de autoatención se inicializa con valores aleatorios, los diferentes grupos pueden aprender diferentes relaciones entre cada palabra a la que se le presta atención y las palabras cercanas. Por ejemplo, la capa de autoatención que se describió en la sección anterior se enfocó en determinar a qué sustantivo se refería el pronombre it. Sin embargo, otras capas de autoatención podrían aprender la relevancia gramatical de cada palabra para todas las demás, o bien aprender otras interacciones.
¿Por qué los Transformers son tan grandes?
Los transformadores contienen cientos de miles de millones o incluso billones de parámetros. En general, en este curso, se recomendó crear modelos con una cantidad menor de parámetros en lugar de aquellos con una cantidad mayor. Después de todo, un modelo con una cantidad menor de parámetros usa menos recursos para hacer predicciones que un modelo con una cantidad mayor de parámetros. Sin embargo, la investigación demuestra que los transformadores con más parámetros superan de manera coherente a los transformadores con menos parámetros.
Pero ¿cómo puede un LLM generar texto?
Ya viste cómo los investigadores entrenan los LLM para predecir una o dos palabras que faltan, y es posible que no te impresionen. Después de todo, predecir una o dos palabras es, en esencia, la función de autocompletar integrada en varios software de texto, correo electrónico y creación de contenido. Es posible que te preguntes cómo los LLM pueden generar oraciones, párrafos o haikus sobre el arbitraje.
De hecho, los LLM son, en esencia, mecanismos de autocompletado que pueden predecir automáticamente (completar) miles de tokens. Por ejemplo, considera una oración seguida de una oración enmascarada:
My dog, Max, knows how to perform many traditional dog tricks. ___ (masked sentence)
Un LLM puede generar probabilidades para la oración enmascarada, incluidas las siguientes:
Probabilidad | Palabras |
---|---|
3.1% | Por ejemplo, puede sentarse, quedarse y dar la vuelta. |
2.9% | Por ejemplo, sabe cómo sentarse, quedarse quieto y voltearse. |
Un LLM lo suficientemente grande puede generar probabilidades para párrafos y ensayos completos. Puedes considerar las preguntas de un usuario a un LLM como la oración “dada”, seguida de una máscara imaginaria. Por ejemplo:
User's question: What is the easiest trick to teach a dog? LLM's response: ___
El LLM genera probabilidades para diversas respuestas posibles.
Como otro ejemplo, un LLM entrenado en una gran cantidad de "problemas matemáticos expresados en palabras" puede dar la apariencia de realizar un razonamiento matemático sofisticado. Sin embargo, esos LLM básicamente solo completan automáticamente una instrucción de problema de palabras.
Beneficios de los LLM
Los LLM pueden generar texto claro y fácil de entender para una amplia variedad de públicos objetivo. Los LLM pueden hacer predicciones sobre tareas para las que se entrenan de forma explícita. Algunos investigadores afirman que los LLM también pueden realizar predicciones de entradas para las que no fueron entrenados de forma explícita, pero otros se negaron.
Problemas con los LLM
El entrenamiento de un LLM implica muchos problemas, como los siguientes:
- Recopilar un conjunto de entrenamiento enorme
- Consumen varios meses y enormes recursos de procesamiento y electricidad.
- Resolver desafíos de paralelismo.
El uso de LLM para inferir predicciones causa los siguientes problemas:
- Los LLMs hallucinan, lo que significa que sus predicciones suelen contener errores.
- Los LLM consumen enormes cantidades de recursos de procesamiento y electricidad. El entrenamiento de LLM en conjuntos de datos más grandes suele reducir la cantidad de recursos necesarios para la inferencia, aunque los conjuntos de entrenamiento más grandes incurren en más recursos de entrenamiento.
- Al igual que todos los modelos de AA, los LLM pueden mostrar todo tipo de sesgos.