Una tecnología más nueva, modelos grandes de lenguaje (LLM) predecir un token o una secuencia de tokens, a veces, tantos párrafos como tokens predichos. 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 n-grama o las redes neuronales recurrentes por los siguientes motivos:
- Los LLM contienen muchos más parámetros que los modelos recurrentes.
- Los LLM recopilan mucho más contexto.
En esta sección, se presenta la arquitectura más exitosa y más usada para compilar LLM: el transformador.
¿Qué es un transformador?
Los transformadores son la arquitectura de vanguardia para una amplia variedad de de lenguaje extenso, como la traducción:
![Figura 1: La entrada es: “Soy un buen perro”. Un modelo de transformación
Traductor transforma esa entrada en la salida: Je suis un bon
chien, que es la misma oración traducida al francés.](https://developers.google.cn/static/machine-learning/crash-course/images/Iamagooddog.png?authuser=19&hl=es-419)
Los transformadores completos consisten en un codificador y un decodificador:
- Un codificador convierte texto de entrada en una representación intermedia. Un codificador es una enorme red neuronal.
- Un decodificador convierte esa representación intermedia en texto útil. Un decodificador también es un red neuronal enorme.
Por ejemplo, en un traductor:
- El codificador procesa el texto de entrada (por ejemplo, una oración en inglés) en alguna representación intermedia.
- El decodificador convierte esa representación intermedia en texto de salida (para ejemplo, la oración francesa equivalente).
![Figura 2: El traductor basado en Transformer comienza con un codificador,
que genera una representación intermedia de un lenguaje
oración. Un decodificador convierte esa representación intermedia en
una oración de salida en francés.](https://developers.google.cn/static/machine-learning/crash-course/images/TransformerBasedTranslator.png?authuser=19&hl=es-419)
¿Qué es la autoatención?
Para mejorar el contexto, los transformadores se basan en gran medida en un concepto llamado autoatención. Efectivamente, en nombre de cada token de entrada, la autoatención pide la siguiente pregunta:
“¿Cuánto afecta cada uno de los otros tokens de entrada a la interpretación de este token?".
El "yo" en "autoatención" se refiere a la secuencia de entrada. Algo de atención ponderan relaciones entre tokens de entrada y tokens en una secuencia de salida, como una traducción o a tokens en alguna otra secuencia. Pero solo la autoatención pondera la importancia de las relaciones entre los tokens en la secuencia de entrada.
Para simplificar las cosas, imagina que cada token es una palabra y el resultado contexto 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 prestando atención a las otras diez, preguntándose cuántas palabras son cada una le importa a sí misma. Por ejemplo, observa que la oración contiene el pronombre eso. Los pronombres suelen ser ambiguos. El pronombre it generalmente se refiere a una nominal o frase nominal reciente, pero en la oración de ejemplo, cuál es el se refiere al animal o a la calle?
El mecanismo de autoatención determina la relevancia de cada palabra cercana para el pronombre it. Los resultados se muestran en la Figura 3: cuanto más azul sea la línea, más importante que esa palabra sea para el pronombre it. Es decir, animal es más importante que street para el pronombre it.
![Figura 3: La relevancia de cada una de las once palabras de la oración:
“El animal no cruzó la calle porque estaba demasiado cansado”.
al pronombre “it”. La palabra "animal" es el más relevante para
el pronombre "it".](https://developers.google.cn/static/machine-learning/crash-course/images/Theanimaldidntcrossthestreet.png?authuser=19&hl=es-419)
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, la autoatención posiblemente calificaría a street como es más relevante que animal para el pronombre it.
Algunos mecanismos de autoatención son bidireccionales, lo que significa que calcular puntuaciones de relevancia para los tokens anteriores y siguientes a la palabra a la que asistió. Por ejemplo, en la Figura 3, observa que hay palabras en ambos lados de it. Por lo tanto, un mecanismo bidireccional de autoatención puede recopilar a partir de palabras a ambos lados de la palabra a la que se atiende. Por el contrario, un El mecanismo unidireccional de autoatención solo puede recopilar el contexto de las palabras en un lado de la palabra a la que se 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. Por este motivo, los codificadores usan autoatención bidireccional, mientras que los decodificadores son unidireccionales.
¿Qué es la autoatención de varias cabezas?
Por lo general, cada capa de autoatención está compuesta por varias cabezas de autoatención. El resultado de una capa es una operación matemática (por ejemplo, promedio ponderado o producto escalar) del resultado de la cabezas diferentes.
Como cada capa de autoatención se inicializa en valores aleatorios, pueden aprender relaciones diferentes entre cada palabra a la que se asiste y las palabras cercanas. Por ejemplo, la capa de autoatención descrita en la sección anterior se enfoca en determinar a qué sustantivo al que hace referencia el pronombre. Sin embargo, otras capas de autoatención podrían aprender la relevancia gramatical del las palabras con las demás, o aprender otras interacciones.
¿Por qué los Transformers son tan grandes?
Los transformadores contienen cientos de miles de millones o incluso billones parámetros. Generalmente, se recomendó crear modelos con tamaños de parámetros con respecto a los que tienen una cantidad mayor. Después de todo, un modelo con pocos parámetros usa menos recursos para hacer predicciones que un modelo con más parámetros. Sin embargo, la investigación muestra que los transformadores con más parámetros superan de manera coherente a los transformadores con menos parámetros.
Pero ¿cómo un LLM genera texto?
Viste cómo los investigadores entrenan los LLM para predecir una o dos palabras faltantes, puede no estar impresionado. Después de todo, predecir una o dos palabras es esencialmente autocompletar integrada en varios mensajes de texto, correo electrónico y software de creación. Tal vez te preguntes cómo los LLM pueden generar oraciones o párrafos, o haikus sobre el arbitraje.
De hecho, los LLM son, en esencia, mecanismos de autocompletado que pueden predecir (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 y, luego, rodar. |
2.9% | Por ejemplo, sabe cómo sentarse, quedarse y y, luego, rodar. |
Un LLM lo suficientemente grande puede generar probabilidades para párrafos y toda ensayos generales. Puedes pensar en las preguntas de un usuario a un LLM como el oración 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.
Otro ejemplo es un LLM entrenado con una gran cantidad de "palabras clave" problemas" pueden dar la apariencia de hacer razonamientos matemáticos sofisticados. Sin embargo, esos LLM solo completan automáticamente la instrucción de un problema de palabra.
Beneficios de los LLM
Los LLM pueden generar texto claro y fácil de entender para un amplio variedad de públicos objetivo. Los LLM pueden hacer predicciones sobre las tareas que se entrenó explícitamente. Algunos investigadores afirman que los LLM también pueden predicciones para entradas con las que no fueron entrenados de forma explícita, pero los investigadores rechazaron esta afirmación.
Problemas con los LLM
El entrenamiento de un LLM implica muchos problemas, como los siguientes:
- Recopilar un conjunto de entrenamiento enorme.
- Consumir varios meses y una enorme cantidad de recursos de procesamiento y electricidad.
- Resolver desafíos de paralelismo
El uso de LLM para inferir predicciones causa los siguientes problemas:
- Los LLM alucinados, lo que significa que sus predicciones suelen contener errores.
- Los LLM consumen enormes cantidades de recursos de procesamiento y electricidad. Entrenar LLM con conjuntos de datos más grandes suele reducir la cantidad de recursos requeridos para la inferencia, aunque el mayor entrenamiento incurren en más recursos de entrenamiento.
- Como todos los modelos de AA, los LLM pueden exhibir todo tipo de sesgo.