¿Qué es un modelo de transformador?

Autores

Cole Stryker

Staff Editor, AI Models

IBM Think

Dave Bergmann

Senior Staff Writer, AI Models

IBM Think

¿Qué es un modelo de transformador?

El modelo de transformador es un tipo de arquitectura de redes neuronales que destaca en el procesamiento de datos secuenciales, asociado sobre todo a los modelos de lenguaje de gran tamaño (LLM). Los modelos transformadores también han alcanzado un rendimiento de élite en otros campos de la inteligencia artificial (IA), como la visión por ordenador, el reconocimiento de voz y la previsión de series temporales.

La arquitectura del transformador se describió por primera vez en el artículo seminal de 2017 "Attention is All You Need", de Vaswani y otros, que ahora se considera un hito decisivo en el deep learning.

Introducidos originalmente como una evolución de los modelos secuencia a secuencia basados en redes neuronales recurrentes (RNN), utilizadas para la traducción automática, los modelos basados en transformadores han logrado avances de vanguardia en casi todas las disciplinas del machine learning (ML) desde entonces.

A pesar de su versatilidad, los modelos de transformador siguen siendo más habitualmente discutidos en el contexto de casos de uso de procesamiento del lenguaje natural (PLN), como chatbots, generación de texto, resumen, respuesta a preguntas y análisis de sentimiento.

El modelo de codificador-decodificador BERT (representaciones codificadoras bidireccionales a partir de transformadores), introducido por Google en 2019, supuso un hito importante en el campo de los transformadores y sigue siendo la base de la mayoría de las aplicaciones modernas de embedding de palabras, desde las modernas bases de datos vectoriales hasta la búsqueda de Google.

Los LLM de decodificador autorregresivo solo, como el modelo GPT-3 (abreviatura de Generative Pre-Trained Transformer) que impulsó el lanzamiento de ChatGPT de OpenAI, han catalizado la era moderna de la IA generativa.

La capacidad de los modelos de transformador para discernir cómo influye cada parte de una secuencia de datos en las demás y se correlaciona con ellas también les confiere muchos usos multimodales.

Por ejemplo, los transformadores de visión (ViT) suelen superar el rendimiento de las redes neuronales convolucionales (CNN) en la segmentación de imágenes, la detección de objetos y tareas afines. La arquitectura del transformador también impulsa muchos modelos de difusión utilizados para la generación de imágenes, la conversión multimodal de texto a voz (TTS) y los modelos de lenguaje visual (VLM).

¿Por qué son importantes los modelos de transformador?

La característica central de los modelos de transformador es su mecanismo de autoatención, del que deriva su impresionante capacidad para detectar las relaciones (o dependencias) entre cada parte de una secuencia de entrada. A diferencia de las arquitecturas RNN y CNN que la precedieron, la arquitectura del transformador utiliza únicamente capas de atención y capas prealimentadas estándar.

Los beneficios de la autoatención, y en concreto la técnica de atención multicabezal que emplean los modelos de transformador para calcularla, son las que permiten a estos superar el rendimiento de las RNN y las CNN, que hasta ahora habían sido lo último en tecnología.

Antes de la introducción de los modelos de transformador, la mayoría de las tareas de PLN se basaban en redes neuronales recurrentes (RNN). La forma en que las RNN procesan los datos secuenciales es serializada de forma intrínseca: ingieren los elementos de una secuencia de entrada de uno en uno y en un orden específico.

Esto dificulta su capacidad para captar dependencias de largo alcance, por lo que solo pueden procesar eficazmente secuencias de texto cortas.
Esta limitación se solucionó en cierta medida con la introducción de las redes de memoria a corto plazo (LSTM), pero sigue siendo un defecto fundamental de las RNN.

Por el contrario, los mecanismos de atención pueden examinar toda una secuencia simultáneamente y decidir cómo y cuándo centrarse en pasos temporales concretos de esa secuencia.

Además de mejorar significativamente la capacidad de comprender las dependencias de largo alcance, esta cualidad de los transformadores también permite la paralelización, es decir, la capacidad de realizar muchos pasos computacionales a la vez en lugar de hacerlo de forma serializada.

Al estar bien adaptados al paralelismo, los modelos de transformador pueden aprovechar al máximo la potencia y velocidad que ofrecen las GPU tanto durante el entrenamiento como durante la inferencia. Esta posibilidad ha permitido, a su vez, aprovechar la oportunidad de entrenar modelos de transformador en conjuntos de datos masivos sin precedentes mediante el aprendizaje autosupervisado.

Especialmente en lo que respecta a los datos visuales, los transformadores también ofrecen algunas ventajas con respecto a las redes neuronales convolucionales. Las CNN son intrínsecamente locales, ya que utilizan convoluciones para procesar de uno en uno subconjuntos más pequeños de datos de entrada.

Por eso, las CNN tienen dificultades para discernir dependencias de largo alcance, como correlaciones entre palabras (en texto) o píxeles (en imágenes) que no se encuentran próximos entre sí. Los mecanismos de atención no están sujetos a esta limitación.

Mixture of Experts | 12 de diciembre, episodio 85

Descifrar la IA: resumen semanal de noticias

Únase a nuestro panel de ingenieros, investigadores, responsables de producto y otros profesionales de talla mundial que se abren paso entre el bullicio de la IA para ofrecerle las últimas noticias y conocimientos al respecto.

¿Qué es la autoatención?

Comprender el concepto matemático de atención, y más concretamente de autoatención, es esencial para entender el éxito de los modelos de transformador en tantos campos. Los mecanismos de atención son, en esencia, algoritmos diseñados para determinar a qué partes de una secuencia de datos debe "prestar atención" un modelo de IA en un momento dado.

Pensemos en un modelo lingüístico que interpreta el texto ingléson Friday, the judge issued a sentence. "

  • La palabra precedente a "the " sugiere que "judge " actúa como sustantivo, es decir, como una persona que preside un juicio, y no como verbo que significa valorar o formarse una opinión.
  • En este contexto, la palabra "judge " sugiere que "sentence " probablemente se refiera a una sanción legal más que a una unidad gramatical.
  • La palabra "issued " implica, además, que "sentence " se refiere al concepto jurídico, no al gramatical.
  • Por lo tanto, al interpretar la palabra "sentence ", el modelo debe prestar mucha atención a "judge " y a "issued. También debe prestar cierta atención a la palabra "the ". Puede pasar más o menos por alto las demás palabras.

¿Cómo funciona la autoatención?

En resumen, las capas de atención de un modelo de transformador evalúan y utilizan el contexto específico de cada parte de una secuencia de datos en cuatro pasos:

  1. El modelo "lee" secuencias de datos sin procesar y las convierte en embeddings vectoriales, en los que cada elemento de la secuencia está representado por su/s propio/s vector/es de características que reflejan numéricamente cualidades como el significado semántico.

  2. El modelo determina las similitudes, correlaciones y otras dependencias (o falta de ellas) entre cada vector y el resto. En la mayoría de los modelos de transformador, la importancia relativa de un vector respecto a otro se determina al calcular el producto escalar entre cada vector. Si los vectores están bien alineados, al multiplicarlos se obtiene un valor elevado. Si no están alineados, el producto escalar será bajo o negativo.

  3. Estas "puntuaciones de alineación" se convierten en ponderaciones de atención. Esto se consigue mediante el uso las puntuaciones de alineación como entradas a una función de activación softmax, que normaliza todos los valores dentro de un rango entre 0 y 1, de forma que la suma de todos ellos sea 1. Así, por ejemplo, asignar un peso de atención de 0 al "vector A" y al "vector B" significa que el "vector B" debe ser ignorado a la hora de hacer predicciones sobre el "vector A". Asignar una ponderación de atención de 1 al "vector B" implica que debe recibir el 100 % de la atención del modelo a la hora de tomar decisiones sobre el "vector A".

  4. Estas ponderaciones de atención se utilizan para enfatizar o restar importancia a la influencia de elementos de entrada específicos en un momento concreto. En otras palabras, las ponderaciones de atención ayudan a los modelos de transformador a centrarse en una información específica o a ignorarla en un momento concreto.

Antes del entrenamiento, un modelo de transformador aún no "sabe" cómo generar embeddings vectoriales y puntuaciones de alineación óptimas. Durante el entrenamiento, el modelo realiza predicciones a partir de millones de ejemplos extraídos de sus datos de entrenamiento y una función de pérdida cuantifica el error de cada predicción.

A través de un ciclo iterativo de predicciones y actualización de los pesos del modelo mediante retropropagación y descenso de gradiente, el modelo "aprende" a generar embeddings vectoriales, puntuaciones de alineación y ponderaciones de atención que conducen a outputs precisos.

¿Cómo funcionan los modelos de transformador?

Los modelos de transformador, como las bases de datos relacionales, generan vectores de consulta, clave y valor para cada parte de una secuencia de datos, y los utilizan para calcular las ponderaciones de atención mediante una serie de multiplicaciones matriciales.

Las bases de datos relacionales están diseñadas para simplificar el almacenamiento y la recuperación de datos relevantes: asignan un identificador único ("clave") a cada dato, y cada clave se asocia con un valor correspondiente. El documento "Attention is All You Need" aplicó ese marco conceptual al tratamiento de las relaciones entre cada token de una secuencia de texto.

  • El vector de consulta representa la información que un token específico está “buscando”. En otras palabras, el vector de consulta de un token se utiliza para calcular la influencia de otros tokens en su significado, conjugación o connotaciones en el contexto.
  • Los vectores clave representan la información que contiene cada token. La alineación entre la consulta y la clave se utiliza para calcular las ponderaciones de atención, que reflejan lo relevantes que son en el contexto de esa secuencia de texto.
  • El valor (o vector de valores) "devuelve" la información de cada vector de claves, escalada por su respectiva ponderación de atención. Las contribuciones de las claves que están más alineadas con una consulta tienen un mayor peso, mientras que las contribuciones de las claves que no son relevantes para una consulta tienen un peso más cercano a cero.

Para un modelo LLM, la "base de datos" es el vocabulario de tokens que ha aprendido a partir de las muestras de texto de sus datos de entrenamiento. Su mecanismo de atención utiliza la información de esta base de datos para comprender el contexto lingüístico.

Tokenización y embeddings de entradas

Mientras que los caracteres (letras, números o signos de puntuación) son la unidad básica que utilizamos los humanos para representar el lenguaje, la unidad más pequeña del lenguaje que utilizan los modelos de IA es un token. A cada token se le asigna un número de identificación, y estos números son la forma en que los LLM navegan por su "base de datos" de vocabulario, en lugar de las palabras o incluso los propios tokens. Esta tokenización del lenguaje reduce significativamente la potencia computacional necesaria para procesar el texto.

Para generar vectores de consulta y clave que alimenten las capas de atención del transformador, el modelo necesita un embedding inicial de vectores sin contexto para cada token. Estos embeddings de tokens iniciales pueden aprenderse durante el entrenamiento o tomarse de un modelo de embedding de palabras entrenado previamente.

Codificación posicional

El orden y la posición de las palabras pueden influir significativamente en su significado semántico. Mientras que la naturaleza serializada de las RNN conserva de forma inherente la información sobre la posición de cada token, los modelos de transformador deben añadir explícitamente información posicional para que el mecanismo de atención la tenga en cuenta.

Con la codificación posicional, el modelo añade un vector de valores al embedding de cada token, derivado de su posición relativa, antes de que la entrada entre en el mecanismo de atención. Cuanto más cerca estén los 2 tokens, ás parecidos serán sus vectores posicionales y, por tanto, mayor será su puntuación de alineación al añadir información posicional. De este modo, el modelo aprende a prestar más atención a los tokens cercanos.

Generación de vectores de consulta, clave y valor

Cuando se ha añadido información posicional, cada embedding de token actualizado se utiliza para generar tres nuevos vectores. Estos vectores de consulta, clave y valor se generan al hacer pasar los embeddings de tokens originales por cada una de las tres capas paralelas de la red neuronal prealimentada que preceden a la primera capa de atención. Cada subconjunto paralelo de esa capa lineal tiene una única matriz de ponderaciones, que se aprende mediante preentrenamiento autosupervisado en un conjunto masivo de datos de texto.

  • Los embeddings se multiplican por la matriz de ponderación WQ para obtener los vectores de consulta (Q), que tienen dk dimensiones
  • Los embeddings se multiplican por la matriz de ponderación WK para obtener el vector clave (K), también con dimensiones dk 
  • Los embeddings se multiplican por la matriz de ponderación WV para obtener los vectores de valores (V), con dimensiones dv
Un diagrama simplificado del mecanismo de atención del transformador: las incrustaciones vectoriales originales para los tokens de una entrada se multiplican por matrices de peso W, K y V para obtener sus respectivos vectores W, K y V. Diagrama del mecanismo de atención de un modelo de transformador.

Computación de la autoatención

La función principal del mecanismo de atención del transformador es asignar pesos de atención precisos a los emparejamientos del vector de consulta de cada token con los vectores clave de todos los demás tokens de la secuencia. Así, se puede pensar en cada token x  tiene ahora un vector correspondiente de ponderaciones de atención, en el que cada elemento de ese vector representa hasta qué punto debe influirle algún otro token.

  • El vector de valor de cada token se multiplica ahora por su ponderación de atención respectivo.
  • Estos vectores de valores ponderados por la atención se suman. El vector resultante representa la información contextual agregada proporcionada al token x por todos los demás tokens de la secuencia.
  • Por último, el vector resultante de los cambios ponderados por la atención de cada token se añade al embedding vectorial de codificación posposicional original del token x.

Básicamente, el embedding vectorial de x se ha actualizado para reflejar mejor el contexto proporcionado por los otros tokens de la secuencia.

Atención multicabezal

Para captar las múltiples formas en que los tokens pueden relacionarse entre sí, los modelos de transformador implementan la atención multicabezal en varios bloques de atención .

Antes de introducirlo en la primera capa de avance, cada embedding de tokens de entrada original se divide en subconjuntos de tamaño equivalente. Cada fragmento del embedding se introduce en una de las h matrices paralelas de ponderaciones Q, K y V, cada una de las cuales se denomina cabezal de consulta, cabezal de clave o cabezal de valor. Los vectores generados por cada una de estas tripletas paralelas de cabezales de consulta, clave y valor se introducen en un subconjunto correspondiente de la siguiente capa de atención, denominada cabezal de atención.

Diagrama de atención multicabezal El diagrama simplificado de atención multicabezal que se hizo famoso en "Attention is All You Need"

En las capas finales de cada bloque de atención, los outputs de estos circuitos paralelos h se concatenan finalmente antes de ser enviados a la siguiente capa de procesamiento en línea. En la práctica, el entrenamiento de modelos da como resultado que cada circuito aprenda diferentes ponderaciones que capturan un aspecto separado de los significados semánticos.

Concatenación en atención multicabezal Los resultados "Z" de cada cabezal de atención se concatenan. En este ejemplo, h = 8.

Conexiones residuales y normalización de capas

En algunas situaciones, la transmisión del output del embedding, actualizado contextualmente por el bloque de atención, puede provocar una pérdida inaceptable de información de la secuencia original.

Para solucionar este problema, los modelos de transformador suelen equilibrar la información contextual proporcionada por el mecanismo de atención con el significado semántico original de cada token. Una vez concatenados los subconjuntos actualizados del embedding del token, el vector actualizado se añade al vector embedding original del token (codificado en posición). El embedding original del token procede de una conexión residual entre esa capa y una capa anterior de la red.

El vector resultante se introduce en otra capa lineal prealimentada, donde se normaliza a un tamaño constante antes de pasar al siguiente bloque de atención. Juntas, estas medidas ayudan a mantener la estabilidad durante el entrenamiento y a garantizar que el significado original del texto no se pierda a medida que los datos se introducen en la red neuronal.

Generar resultados

Finalmente, el modelo dispone de suficiente información contextual para determinar sus salidas finales. La naturaleza y la función de la capa de output dependerán de la tarea específica para la que se haya diseñado el modelo de transformador.

En los LLM autorregresivos, la capa final utiliza una función softmax para determinar la probabilidad de que la siguiente palabra coincida con cada token de la "base de datos" de su vocabulario. En función de los hiperparámetros de muestreo específicos, el modelo utiliza esas probabilidades para determinar el siguiente token de la secuencia de output.

Modelos de transformador en el procesamiento del lenguaje natural (PLN)

Los modelos de transformador suelen asociarse al PLN, ya que se desarrollaron originalmente para casos de uso de traducción automática. En particular, la arquitectura del transformador dio lugar a los modelos de lenguaje de gran tamaño (LLM), que catalizaron la llegada de la IA generativa.

La mayoría de los LLM con los que el público está más familiarizado, desde modelos de código cerrado como la serie GPT de OpenAI y los modelos Claude de Anthropic hasta modelos de código abierto como Meta Llama o IBM Granite, son LLM de solo decodificador autorregresivo.

Los LLM autorregresivos están diseñados para la generación de texto, que también se extiende naturalmente a tareas adyacentes como el resumen y la respuesta a preguntas. Se entrenan mediante el aprendizaje autosupervisado, en el que al modelo se le proporciona la primera palabra de un pasaje de texto y se le asigna la tarea de predecir iterativamente la siguiente palabra hasta el final de la secuencia.

La información proporcionada por el mecanismo de autoatención permite al modelo extraer contexto de la entrada y mantener la coherencia y la continuidad de su output.

Los modelos de lenguaje enmascarado (MLM) codificador-decodificador, como BERT y sus numerosos derivados, representan la otra rama evolutiva principal de los LLM basados en transformadores. En el entrenamiento, se proporciona a un MLM una muestra de texto con algunos tokens enmascarados (ocultos) y se le encarga completar la información que falta.

Aunque esta metodología de entrenamiento no es tan eficaz para generar textos, ayuda a los MLM a destacar en tareas que requieren información contextual sólida, como la traducción, la clasificación de textos y el aprendizaje de embeddings.

Modelos de transformador en otros ámbitos

Aunque los modelos de transformador se diseñaron originalmente para el procesamiento del lenguaje natural y todavía se asocian con casos de uso relativos a este campo, pueden utilizarse en casi cualquier situación que implique datos secuenciales. Esto ha llevado al desarrollo de modelos basados en transformadores en otros campos, como el fine-tuning de los LLM en sistemas multimodales, los modelos dedicados de previsión de series temporales y los transformadores de visión (ViT) para la visión artificial.

Algunas modalidades de datos son más adecuadas naturalmente para la representación secuencial compatible con el transformador que otras. Las series temporales, los datos de audio y vídeo son inherentemente secuenciales, mientras que los datos de imagen no lo son. A pesar de esto, los ViT y otros modelos basados en la atención han logrado resultados vanguardistas para muchas tareas de visión artificial, incluido el subtitulado de imágenes, la detección de objetos, la segmentación de imágenes y la respuesta visual a preguntas.

El uso de modelos de transformador para datos que no se consideran "secuenciales" de forma convencional requiere una solución conceptual para representarlos como una secuencia. Por ejemplo, para utilizar mecanismos de atención para comprender datos visuales, los ViT utilizan embeddings de parches para que los datos de imágenes puedan interpretarse como secuencias.

  • En primer lugar, una imagen se divide en una serie de parches. Por ejemplo, una imagen de 224x224 píxeles puede subdividirse en 256 parches de 14x14 píxeles, lo que reduce drásticamente el número de pasos computacionales necesarios para procesarla.
  • A continuación, una capa de proyección lineal asigna cada parche a un embedding vectorial.
  • A cada uno de estos embeddings de parches se añade información posicional similar a la codificación posicional descrita anteriormente en este artículo.
  • Estos embeddings de parche pueden funcionar ahora esencialmente como una secuencia de embeddings de token, lo que permite que la imagen sea interpretada por un mecanismo de atención.
Soluciones relacionadas
IBM watsonx.ai

Entrene, valide, ajuste e implemente IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de nueva generación para desarrolladores de IA. Cree aplicaciones de IA en menos tiempo y con menos datos.

Descubra watsonx.ai
Soluciones de inteligencia artificial

Ponga la IA a trabajar en su negocio con la experiencia líder en IA del sector de IBM y junto a su cartera de soluciones.

Explore las soluciones de IA
Consultoría y servicios de IA

Reinvente las operaciones y flujos de trabajo críticos añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.

Explore los servicios de IA
Dé el siguiente paso

Obtenga acceso único a capacidades que abarcan el ciclo de vida de desarrollo de la IA. Produzca potentes soluciones de IA con interfaces intuitivas, flujos de trabajo y acceso a API y SDK estándar del sector.

Explore watsonx.ai Solicite una demostración en directo