Connect with us

Modelos de Lenguaje Grande Basados en Decodificador: Una Guía Completa

Inteligencia artificial

Modelos de Lenguaje Grande Basados en Decodificador: Una Guía Completa

mm
Decoder-Based Large Language Models: A Complete Guide

Modelos de Lenguaje Grande (LLM) han revolucionado el campo del procesamiento de lenguaje natural (NLP) al demostrar capacidades remarables en la generación de texto similar al humano, responder preguntas y ayudar con una amplia gama de tareas relacionadas con el lenguaje. En el núcleo de estos modelos poderosos se encuentra la arquitectura de transformador de decodificador solo, una variante de la arquitectura de transformador original propuesta en el papel seminal “La atención es todo lo que necesitas” de Vaswani et al.

En esta guía integral, exploraremos el funcionamiento interno de los LLM basados en decodificador, profundizando en los bloques de construcción fundamentales, innovaciones arquitectónicas y detalles de implementación que han impulsado a estos modelos al frente de la investigación y las aplicaciones de NLP.

La Arquitectura de Transformador: Un Recordatorio

Antes de sumergirnos en los detalles específicos de los LLM basados en decodificador, es esencial revisitar la arquitectura de transformador, la base sobre la que se construyen estos modelos. El transformador introdujo un enfoque novedoso para el modelado de secuencias, confiando únicamente en mecanismos de atención para capturar dependencias de largo alcance en los datos, sin la necesidad de capas recurrentes o convolucionales.

Arquitectura de Transformadores

Arquitectura de Transformadores

La arquitectura de transformador original consta de dos componentes principales: un codificador y un decodificador. El codificador procesa la secuencia de entrada y genera una representación contextualizada, que luego es consumida por el decodificador para producir la secuencia de salida. Esta arquitectura se diseñó inicialmente para tareas de traducción automática, donde el codificador procesa la oración de entrada en el lenguaje de origen y el decodificador genera la oración correspondiente en el lenguaje de destino.

Atención Propia: La Clave del Éxito del Transformador

En el corazón del transformador se encuentra el mecanismo de atención propia, una técnica poderosa que permite al modelo ponderar y agregar información de diferentes posiciones en la secuencia de entrada. A diferencia de los modelos de secuencia tradicionales, que procesan los tokens de entrada secuencialmente, la atención propia permite al modelo capturar dependencias entre cualquier par de tokens, independientemente de su posición en la secuencia.

Atención de multi-consulta

Atención de multi-consulta

La operación de atención propia se puede desglosar en tres pasos principales:

  1. Proyecciones de Consulta, Clave y Valor: La secuencia de entrada se proyecta en tres representaciones separadas: consultas (Q), claves (K) y valores (V). Estas proyecciones se obtienen multiplicando la entrada con matrices de pesos aprendidas.
  2. Cálculo de Puntuaciones de Atención: Para cada posición en la secuencia de entrada, se calculan puntuaciones de atención tomando el producto escalar entre el vector de consulta correspondiente y todos los vectores de clave. Estas puntuaciones representan la relevancia de cada posición para la posición actual que se está procesando.
  3. Suma Ponderada de Valores: Las puntuaciones de atención se normalizan utilizando una función softmax, y los pesos de atención resultantes se utilizan para calcular una suma ponderada de los vectores de valor, produciendo la representación de salida para la posición actual.

La atención de multi-cabeza, una variante del mecanismo de atención propia, permite al modelo capturar diferentes tipos de relaciones calculando puntuaciones de atención a través de múltiples “cabezas” en paralelo, cada una con su propia conjunto de proyecciones de consulta, clave y valor.

Variantes y Configuraciones Arquitectónicas

Si bien los principios básicos de los LLM basados en decodificador permanecen consistentes, los investigadores han explorado diversas variantes y configuraciones arquitectónicas para mejorar el rendimiento, la eficiencia y las capacidades de generalización. En esta sección, profundizaremos en las diferentes opciones arquitectónicas y sus implicaciones.

Tipos de Arquitectura

Los LLM basados en decodificador se pueden clasificar ampliamente en tres tipos principales: arquitectura codificador-decodificador, decodificador causal y decodificador de prefijo. Cada tipo de arquitectura exhibe patrones de atención distintos.

Arquitectura Codificador-Decodificador

Basada en el modelo de Transformador vanilla, la arquitectura codificador-decodificador consiste en dos pilas: un codificador y un decodificador. El codificador utiliza capas de atención propia de multi-cabeza apiladas para codificar la secuencia de entrada y generar representaciones latentes. El decodificador luego realiza una atención cruzada en estas representaciones para generar la secuencia de destino. Aunque es efectiva en diversas tareas de NLP, pocos LLM, como Flan-T5, adoptan esta arquitectura.

Arquitectura Decodificador Causal

La arquitectura decodificador causal incorpora una máscara de atención unidireccional, que permite que cada token de entrada atienda solo a tokens pasados y a sí mismo. Tanto los tokens de entrada como los tokens de salida se procesan dentro del mismo decodificador. Modelos notables como GPT-1, GPT-2 y GPT-3 se basan en esta arquitectura, con GPT-3 mostrando capacidades de aprendizaje en contexto remarables. Muchos LLM, incluyendo OPT, BLOOM y Gopher, han adoptado ampliamente decodificadores causales.

Arquitectura Decodificador de Prefijo

También conocida como la arquitectura de decodificador no causal, la arquitectura decodificador de prefijo modifica el mecanismo de enmascaramiento de los decodificadores causales para permitir una atención bidireccional sobre tokens de prefijo y una atención unidireccional sobre tokens generados. Al igual que la arquitectura codificador-decodificador, los decodificadores de prefijo pueden codificar la secuencia de prefijo bidireccionalmente y predecir tokens de salida de manera autoregresiva utilizando parámetros compartidos. LLM basados en decodificadores de prefijo incluyen GLM130B y U-PaLM.

Los tres tipos de arquitectura pueden extenderse utilizando la técnica de mezcla de expertos (MoE), que activa esparsamente un subconjunto de pesos de la red neuronal para cada entrada. Este enfoque ha sido empleado en modelos como Switch Transformer y GLaM, con un aumento en el número de expertos o el tamaño total de parámetros que muestra mejoras significativas en el rendimiento.

Transformador de Decodificador Solo: Aceptando la Naturaleza Autoregresiva

Si bien la arquitectura de transformador original se diseñó para tareas de secuencia a secuencia como la traducción automática, muchas tareas de NLP, como el modelado de lenguaje y la generación de texto, se pueden enmarcar como problemas autoregresivos, donde el modelo genera un token a la vez, condicionado a los tokens generados previamente.

Entonces, entra el transformador de decodificador solo, una variante simplificada de la arquitectura de transformador que retiene solo el componente de decodificador. Esta arquitectura es particularmente adecuada para tareas autoregresivas, ya que genera tokens de salida uno a uno, aprovechando los tokens generados previamente como contexto de entrada.

La diferencia clave entre el transformador de decodificador solo y el decodificador de transformador original radica en el mecanismo de atención propia. En el entorno de decodificador solo, la operación de atención propia se modifica para evitar que el modelo atienda a tokens futuros, una propiedad conocida como causalidad. Esto se logra mediante una técnica llamada “atención propia enmascarada”, donde las puntuaciones de atención correspondientes a posiciones futuras se establecen en negativa infinita, efectivamente enmascarándolas durante el paso de normalización softmax.

Componentes Arquitectónicos de LLM Basados en Decodificador

Si bien los principios básicos de la atención propia y la atención propia enmascarada permanecen iguales, los LLM modernos basados en decodificador han introducido varias innovaciones arquitectónicas para mejorar el rendimiento, la eficiencia y las capacidades de generalización. Exploraremos algunos de los componentes y técnicas clave empleados en LLM de vanguardia.

Representación de Entrada

Antes de procesar la secuencia de entrada, los LLM basados en decodificador emplean técnicas de tokenización y incrustación para convertir el texto crudo en una representación numérica adecuada para el modelo.

incrustación de vector

incrustación de vector

Tokenización: El proceso de tokenización convierte el texto de entrada en una secuencia de tokens, que pueden ser palabras, subpalabras o incluso caracteres individuales, dependiendo de la estrategia de tokenización empleada. Técnicas de tokenización populares para LLM incluyen Codificación de Pares de Bytes (BPE), SentencePiece y WordPiece. Estos métodos apuntan a equilibrar el tamaño del vocabulario y la granularidad de la representación, permitiendo al modelo manejar palabras poco comunes o fuera del vocabulario de manera efectiva.

Incrustaciones de Token: Después de la tokenización, cada token se asigna a una representación vectorial densa llamada incrustación de token. Estas incrustaciones se aprenden durante el proceso de entrenamiento y capturan relaciones semánticas y sintácticas entre tokens.

Incrustaciones de Posición: Los modelos de transformador procesan la secuencia de entrada completa simultáneamente, careciendo de la noción inherente de posición de token presente en los modelos recurrentes. Para incorporar información de posición, se agregan incrustaciones de posición a las incrustaciones de token, permitiendo al modelo distinguir entre tokens en función de sus posiciones en la secuencia. Los primeros LLM utilizaron incrustaciones de posición fijas basadas en funciones sinusoidales, mientras que los modelos más recientes han explorado incrustaciones de posición aprendidas o técnicas de codificación de posición alternativas como incrustaciones de posición rotativas.

Bloques de Atención de Multi-Cabeza

Los bloques de construcción básicos de los LLM basados en decodificador son capas de atención de multi-cabeza, que realizan la operación de atención propia enmascarada descrita anteriormente. Estas capas se apilan múltiples veces, con cada capa atendiendo a la salida de la capa anterior, lo que permite al modelo capturar dependencias y representaciones cada vez más complejas.

Cabezas de Atención: Cada capa de atención de multi-cabeza consta de múltiples “cabezas de atención“, cada una con su propio conjunto de proyecciones de consulta, clave y valor. Esto permite al modelo atender a diferentes aspectos de la entrada simultáneamente, capturando relaciones y patrones diversos.

Conexiones Residuales y Normalización de Capa: Para facilitar el entrenamiento de redes profundas y mitigar el problema de gradiente desvaneciente, los LLM basados en decodificador emplean conexiones residuales y técnicas de normalización de capa. Las conexiones residuales suman la entrada de una capa a su salida, lo que permite que los gradientes fluyan más fácilmente durante la propagación hacia atrás. La normalización de capa ayuda a estabilizar las activaciones y los gradientes, lo que mejora aún más la estabilidad del entrenamiento y el rendimiento.

Capas de Alimentación Adelantada

Además de las capas de atención de multi-cabeza, los LLM basados en decodificador incorporan capas de alimentación adelantada, que aplican una red neuronal de alimentación adelantada simple a cada posición en la secuencia. Estas capas introducen no linealidades y permiten al modelo aprender representaciones más complejas.

Funciones de Activación: La elección de la función de activación en las capas de alimentación adelantada puede afectar significativamente el rendimiento del modelo. Mientras que los LLM más antiguos confiaban en la función de activación ReLU ampliamente utilizada, los modelos más recientes han adoptado funciones de activación más sofisticadas como la Unidad Lineal de Error Gaussiano (GELU) o la activación SwiGLU, que han demostrado un mejor rendimiento.

Atención Esparsa y Transformadores Eficientes

Si bien el mecanismo de atención propia es poderoso, viene con una complejidad computacional cuadrática con respecto a la longitud de la secuencia, lo que lo hace computacionalmente costoso para secuencias largas. Para abordar este desafío, se han propuesto varias técnicas para reducir los requisitos computacionales y de memoria de la atención propia, permitiendo el procesamiento eficiente de secuencias más largas.

Atención Esparsa: Las técnicas de atención esparsa, como la empleada en el modelo GPT-3, atienden selectivamente a un subconjunto de posiciones en la secuencia de entrada, en lugar de calcular puntuaciones de atención para todas las posiciones. Esto puede reducir significativamente la complejidad computacional mientras mantiene un rendimiento razonable.

Atención de Ventana Deslizante: Introducida en el modelo Mistral 7B, la atención de ventana deslizante (SWA) es una técnica simple pero efectiva que restringe el alcance de atención de cada token a un tamaño de ventana fijo. Este enfoque aprovecha la capacidad de las capas de transformador para transmitir información a través de múltiples capas, efectivamente aumentando el alcance de atención sin la complejidad cuadrática de la atención propia completa.

Cache de Búfer de Rodillo: Para reducir aún más los requisitos de memoria, especialmente para secuencias largas, el modelo Mistral 7B emplea un cache de búfer de rodillo. Esta técnica almacena y reutiliza los vectores de clave y valor calculados para un tamaño de ventana fijo, evitando cálculos redundantes y minimizando el uso de memoria.

Atención de Consulta Agrupada: Introducida en el modelo LLaMA 2, la atención de consulta agrupada (GQA) es una variante del mecanismo de atención de multi-consulta que divide las cabezas de atención en grupos, cada uno compartiendo una matriz de clave y valor común. Este enfoque equilibra la eficiencia de la atención de multi-consulta y el rendimiento de la atención propia estándar, proporcionando tiempos de inferencia mejorados mientras mantiene resultados de alta calidad.

Atención de consulta agrupada

Atención de consulta agrupada

Tamaño de Modelo y Escalado

Una de las características definitorias de los LLM modernos es su escala, con el número de parámetros que varía desde miles de millones hasta cientos de miles de millones. Aumentar el tamaño del modelo ha sido un factor crucial para lograr un rendimiento de vanguardia, ya que los modelos más grandes pueden capturar patrones y relaciones más complejos en los datos.

Cuenta de Parámetros: El número de parámetros en un LLM basado en decodificador se determina principalmente por la dimensión de incrustación (d_model), el número de cabezas de atención (n_heads), el número de capas (n_layers) y el tamaño del vocabulario (vocab_size). Por ejemplo, el modelo GPT-3 tiene 175 mil millones de parámetros, con d_model = 12288, n_heads = 96, n_layers = 96 y vocab_size = 50257.

Paralelismo de Modelo: Entrenar y desplegar modelos tan masivos requiere recursos computacionales sustanciales y hardware especializado. Para superar este desafío, se han empleado técnicas de paralelismo de modelo, donde el modelo se divide en múltiples GPU o TPUs, con cada dispositivo responsable de una parte de los cálculos.

Mezcla de Expertos: Otro enfoque para escalar LLM es la arquitectura de mezcla de expertos (MoE), que combina múltiples modelos de expertos, cada uno especializado en un subconjunto específico de los datos o la tarea. El modelo Mixtral 8x7B es un ejemplo de un modelo MoE que utiliza el Mistral 7B como su modelo base, logrando un rendimiento superior mientras mantiene la eficiencia computacional.

Inferencia y Generación de Texto

Uno de los usos principales de los LLM basados en decodificador es la generación de texto, donde el modelo genera texto coherente y con un sonido natural basado en una entrada o contexto determinado.

Decodificación Autoregresiva: Durante la inferencia, los LLM basados en decodificador generan texto de manera autoregresiva, prediciendo un token a la vez basado en los tokens generados previamente y la entrada de prompt. Este proceso continúa hasta que se cumple un criterio de detención predeterminado, como alcanzar una longitud de secuencia máxima o generar un token de fin de secuencia.

Estrategias de Muestreo: Para generar texto diverso y realista, se pueden emplear varias estrategias de muestreo, como muestreo top-k, muestreo top-p (también conocido como muestreo de núcleo) o escalado de temperatura. Estas técnicas controlan el equilibrio entre la diversidad y la coherencia del texto generado ajustando la distribución de probabilidad sobre el vocabulario.

Ingeniería de Prompt: La calidad y la especificidad de la entrada de prompt pueden impactar significativamente el texto generado. La ingeniería de prompt, el arte de crear prompts efectivos, ha surgido como un aspecto crucial para aprovechar los LLM en diversas tareas, permitiendo a los usuarios guiar el proceso de generación del modelo y lograr resultados deseados.

Decodificación con Intervención Humana: Para mejorar aún más la calidad y la coherencia del texto generado, se han empleado técnicas como Aprendizaje de Refuerzo con Retroalimentación Humana (RLHF). En este enfoque, los evaluadores humanos proporcionan retroalimentación sobre el texto generado por el modelo, que luego se utiliza para ajustar el modelo, efectivamente alineándolo con las preferencias humanas y mejorando sus salidas.

Avances y Direcciones Futuras

El campo de los LLM basados en decodificador está evolucionando rápidamente, con nuevos avances y logros que continúan empujando los límites de lo que estos modelos pueden lograr. A continuación, se presentan algunos avances notables y posibles direcciones futuras:

Variantes Eficientes de Transformador: Mientras que la atención esparsa y la atención de ventana deslizante han hecho avances significativos en la eficiencia de los LLM basados en decodificador, los investigadores están explorando activamente arquitecturas de transformador alternativas y mecanismos de atención para reducir aún más los requisitos computacionales mientras se mantiene o mejora el rendimiento.

Modelos de Lenguaje Multimodales: Ampliar las capacidades de los LLM más allá del texto, los modelos multimodales apuntan a integrar múltiples modalidades, como imágenes, audio o video, en un marco unificado. Esto abre posibilidades emocionantes para aplicaciones como la generación de subtítulos de imágenes, la respuesta a preguntas visuales y la generación de contenido multimedia.

Generación Controlada: Permitir un control detallado sobre el texto generado es una dirección desafiante pero importante para los LLM. Técnicas como la generación de texto controlada y el ajuste de prompt apuntan a proporcionar a los usuarios un control más granular sobre varios atributos del texto generado, como estilo, tono o requisitos de contenido específicos.

Conclusión

Los LLM basados en decodificador han surgido como una fuerza transformadora en el campo del procesamiento de lenguaje natural, empujando los límites de lo que es posible con la generación y comprensión del lenguaje. Desde sus humildes comienzos como una variante simplificada de la arquitectura de transformador, estos modelos han evolucionado hasta convertirse en sistemas altamente sofisticados y poderosos, aprovechando técnicas y innovaciones arquitectónicas de vanguardia.

A medida que continuamos explorando y avanzando en los LLM basados en decodificador, podemos esperar presenciar logros aún más notables en tareas relacionadas con el lenguaje, así como la integración de estos modelos en una amplia gama de aplicaciones y dominios. Sin embargo, es crucial abordar las consideraciones éticas, los desafíos de interpretación y los posibles sesgos que pueden surgir del despliegue generalizado de estos modelos poderosos.

Al mantenernos a la vanguardia de la investigación, fomentar la colaboración abierta y mantener un fuerte compromiso con el desarrollo de IA responsable, podemos desbloquear el verdadero potencial de los LLM basados en decodificador, asegurando que se desarrollen y utilicen de manera segura, ética y beneficiosa para la sociedad.

He pasado los últimos cinco años sumergiéndome en el fascinante mundo del Aprendizaje Automático y el Aprendizaje Profundo. Mi pasión y experiencia me han llevado a contribuir a más de 50 proyectos de ingeniería de software diversos, con un enfoque particular en AI/ML. Mi curiosidad continua también me ha llevado hacia el Procesamiento de Lenguaje Natural, un campo que estoy ansioso por explorar más a fondo.