Transformers: funcionamiento y beneficios

larissa-dubiella
larissa-dubiella
Compartir

Breve historia de la arquitectura Transformers

Actualmente, nos encontramos en un escenario en el que modelos como GPT pueden entender y generar texto de forma casi humana, respondiendo preguntas complejas y participando en conversaciones naturales.

Cuando ChatGPT se popularizó a mediados de 2022, el tema de la Inteligencia Artificial (IA) se volvió ampliamente conocido. Sin embargo, la ciencia detrás de esta tecnología proviene de largos años de investigación.

Los grandes avances recientes son posibles gracias a una innovación llamada Transformers, una arquitectura que cambió por completo el juego de la Inteligencia Artificial al ser publicada en 2017 e introducir el mecanismo de atención, el cual elevó considerablemente la capacidad de los modelos de lenguaje para comprender el contexto en el lenguaje natural.

En este artículo, exploraremos cómo funcionan los Transformers y por qué esta tecnología está detrás de los avances más impresionantes en IA.

Breve historia de la arquitectura de transformers

La arquitectura Transformers fue propuesta en 2017 en el artículo Attention is All You Need (“La atención es todo lo que necesitas”), escrito por investigadores de Google.

Este trabajo introdujo el uso de una estructura que revolucionó la forma en que se conducía el Aprendizaje Profundo (Deep Learning) hasta ese momento: mecanismos de atención que comprenden el contexto.

Antes de esto, se utilizaban otros tipos de redes neuronales profundas para resolver tareas de Inteligencia Artificial, como las Redes Neuronales Recurrentes (RNN) y las LSTM. Cada modelo necesitaba un entrenamiento supervisado para solucionar una tarea específica, como la clasificación de texto o el análisis de sentimientos. Estos modelos funcionan en una arquitectura sequence-to-sequence (secuencia a secuencia), es decir, trabajan de manera secuencial, analizando una palabra tras otra.

Beneficios de los Transformers

Esas arquitecturas anteriores se siguen utilizando hoy en día y se mantienen muy relevantes, pero los mecanismos de atención de los Transformers aportaron el gran beneficio de la paralelización.

Con la paralelización, la oración completa se procesa al mismo tiempo. Esto aporta una serie de ventajas:

  • Mayor velocidad de entrenamiento
  • Eficiencia en el reconocimiento de dependencias entre palabras
  • Mejora en el reconocimiento de patrones
  • Capacidad para analizar problemas no secuenciales

GPT y BERT

En 2018, un año después de la publicación del artículo que describe la arquitectura Transformers, se lanzaron los modelos GPT y BERT.

  • GPT es el acrónimo de Preentrenamiento Generativo Transformador (Generative Pre-trained Transformer). Este modelo, desarrollado por OpenAI, es la base del GPT ampliamente conocido hoy a través de ChatGPT.
  • BERT, desarrollado por Google, está presente en el día a día de quienes usan los servicios de esta empresa. A partir de 2019, BERT se implementó en los servicios de búsqueda para la optimización de SEO. Desde entonces, se ha integrado en traducciones automáticas, clasificación de correos electrónicos, interacciones del Asistente de Google, entre otros.

GPT y BERT son representantes importantes entre diversos modelos que siguen la arquitectura Transformers. Este fue solo el comienzo de un gran salto en el área de investigación en Aprendizaje Automático (Machine Learning) e Inteligencia Artificial.

Para dimensionar el gran impacto de los modelos Transformers, podemos analizar el número de citaciones que ha recibido el artículo a lo largo de los años desde su lanzamiento.

En 2020, ese número ya estaba en las decenas de miles y, desde entonces, ha crecido rápidamente superando de largo las 100 mil citas.

¿Cómo funciona Transformers?

¡La transformación comienza incluso antes de que el texto entre en la estructura del Transformer!

Imagina que queremos traducir la frase “a Dani le gusta el cafe” al portugues usando el Traductor de Google. Recibimos la respuesta “Dani gosta de café” en un abrir y cerrar de ojos, pero, internamente, suceden muchas cosas.

Cuando se envía el texto de entrada, primero se divide en pequeños fragmentos de palabras que mantienen significado: los tokens. Luego, los tokens deben convertirse a un formato numérico, al que llamamos embeddings.

Un embedding es una secuencia numérica que representa el significado de la palabra, su semántica, posición dentro del texto, contexto, etc. Esta secuencia pasa por diversas transformaciones dentro del modelo.

Con los embeddings creados, estamos listos para entrar propiamente en la arquitectura Transformers.

La arquitectura se compone de dos mecanismos principales: el encoder (codificador) y el decoder (decodificador). En términos sencillos, el encoder procesa la entrada (por ejemplo, una oración) y el decoder genera la salida (que puede ser una traducción, la continuación de un texto, etc.).

Cada uno de estos mecanismos se repite varias veces, formando un conjunto de encoders y otro conjunto de decoders que procesan la información de manera sucesiva. Esta repetición hace que el resultado final sea de mayor calidad, ya que con cada iteración los resultados son más precisos.

Además de estos dos componentes, también tenemos una capa llamada language modeling head (cabeza de modelado de lenguaje), responsable del procesamiento final del texto.

Dato curioso: Los modelos basados en Transformers no siempre utilizan todos los componentes. BERT, por ejemplo, utiliza solo el encoder, mientras que GPT utiliza únicamente el decoder.

El proceso de codificación - Encoder

La función del encoder es “entender” el texto de entrada. Para ello, dentro del encoder existen dos capas principales:

  1. Self-Attention (Autoatención): el mecanismo de atención que identifica qué palabras de una oración están más relacionadas entre sí.
  2. Feed Forward: una red neuronal tradicional que procesa la información extraída de la capa de self-attention, refinando la comprensión del contexto.

Además de estas, tenemos dos capas auxiliares:

  • Normalización: un cálculo que mantiene las salidas de una capa en el formato adecuado para la siguiente.
  • Conexiones residuales: un mecanismo que “rescata” la entrada original, garantizando que el contexto inicial no se pierda a lo largo del procesamiento.

El embedding inicial pasa por la capa de self-attention, se normaliza y recibe conexiones residuales. A continuación, pasa por la capa feed-forward, donde nuevamente se normaliza y recibe conexiones residuales.

Mecanismo de Self-Attention

El mecanismo de atención permite que el modelo capture las sutilezas de contexto y significado de un texto.

De manera simultánea, calcula la relación de cada palabra individual con todas las demás palabras de la frase. Por ejemplo, en la frase:

“Dani gusta mucho del café, pero solo si es filtrado.”

El modelo necesita entender que "filtrado" está relacionado con "café", y no con "Dani" o "gusta", que están más fuertemente relacionadas entre sí. Atribuye pesos diferentes a cada palabra según estas relaciones. En este caso, "filtrado" recibe un peso mayor en relación con "café", porque esas palabras están conectadas directamente en el contexto de la oración.

El bloque de self-attention funciona como si el modelo observara diferentes aspectos del contexto al mismo tiempo, enfocándose cada uno en detalles específicos. Este mecanismo se llama multi-headed attention (atención de múltiples cabezas): en lugar de calcular la relevancia de una palabra para el contexto una sola vez, el modelo lo hace varias veces, analizando la frase desde diferentes perspectivas.

Normalización y Conexiones Residuales

Una vez realizado el procesamiento en las "múltiples cabezas de atención", cada una genera una salida individual desde su punto de vista con información semántica y contextual.

Como la siguiente capa necesita una entrada única, la normalización compacta toda esa información al formato estándar de las capas de codificación.

En esta etapa también actúan las conexiones residuales: los embeddings iniciales sin procesar se suman a las salidas de los mecanismos de atención. Así, el siguiente bloque recibe tanto la información procesada por la atención como la estructura original del texto, evitando que el contexto inicial se diluya.

Mecanismo Feed Forward

La red neuronal Feed Forward es una de las arquitecturas más antiguas de Machine Learning. La información fluye en una sola dirección a través de múltiples capas de neuronas. En el Transformer, esta capa refina las salidas de los mecanismos de atención, enfocándose en el procesamiento de los datos capturados más que en el análisis de contexto.

Tras pasar por la red Feed Forward, se aplica la normalización de nuevo y el proceso se repite en cada uno de los encoders apilados en el modelo.

El momento de la decodificación - Decoder

Estructurado de forma similar al encoder, el decoder se encarga de generar la respuesta mediante los siguientes componentes:

  1. Self-Attention Parcial (Mascara de atención): se enfoca solo en las palabras generadas previamente.
  2. Encoder-Decoder Attention: mecanismo de atención que recibe la información proveniente del conjunto de encoders.
  3. Feed Forward: red neuronal que refina las salidas.
  4. Normalización y Conexiones Residuables: mantienen la estabilidad de los datos y el contexto acumulado.

A diferencia del encoder (que procesa la entrada en paralelo), el decoder genera las palabras una a una, de forma secuencial.

Aquí tienes la traducción del texto al español, manteniendo los términos técnicos y conceptuales del área de Inteligencia Artificial:

Self-Attention (Autoatención)

En esta capa, el mecanismo de self-attention realiza un comportamiento llamado autorregresivo.

La atención se enfoca únicamente en las palabras que ya han sido generadas previamente por el decoder (decodificador).

Volviendo al ejemplo de la traducción de la frase "Dani gosta de café" al español, en cada procesamiento el mecanismo de atención tendrá una visión diferente:

  • Token especial para iniciar la generación de texto
  • "A"
  • "A Dani"
  • "A Dani le"
  • "A Dani le gusta"
  • "A Dani le gusta el"
  • "A Dani le gusta el café"
  • Token especial para finalizar el procesamiento.

Mientras tanto, los embeddings de las palabras que aún no han sido generadas están enmascarados, es decir, ocultos, para que el modelo no vea información futura durante la generación. De esta forma, el modelo respeta el orden de generación del texto.

Encoder-Decoder Attention (Atención Codificador-Decodificador)

Este es el componente que recibe toda la información que proviene del encoder (codificador), el cual procesó la entrada completa.

La atención también se dirige a las palabras que ya fueron generadas, pero con la gran responsabilidad de transformar el contexto inicial del comando en una respuesta consistente y coherente.

Normalización, Conexiones Residuales y Feed Forward

Estas capas funcionan de manera similar a lo que ocurre en el encoder. El cálculo de normalización mantiene los embeddings en un formato adecuado y el mecanismo feed forward realiza el refinamiento.

Las conexiones residuales tienen una ligera diferencia. En el decoder, continúan entre las capas principales (self-attention, encoder-decoder attention y feed forward) y conectan la información que fue procesada previamente dentro del propio decoder.

Esta secuencia de procesamiento se repite en todos los decoders apilados en el modelo. La salida final es una serie de representaciones numéricas de la interpretación del modelo sobre las palabras que deben ser generadas.

Language Modeling Head

Es la última capa del Transformer y se compone de dos partes:

  • Linear (Lineal): mapea las representaciones matemáticas complejas (vectores) generadas por los decoders contra todo el vocabulario disponible en el modelo, asignando una puntuación a cada palabra posible.
  • Softmax: convierte las puntuaciones en probabilidades porcentuales. La palabra con la probabilidad más alta es elegida como la siguiente en la secuencia.

Parámetros y Configuración: El número de capas, cabezas de atención, tamaño del vocabulario y selección de probabilidades son hiperparámetros configurables durante el entrenamiento que determinan el rendimiento final del modelo.

¿Cómo se entrena el modelo?

  1. Entrenamiento Autosupervisado (Base): El modelo aprende a partir de grandes volúmenes de texto sin procesar ni etiquetado humano, identificando patrones estadísticos del lenguaje (predicción de palabras faltantes o siguientes).
  2. Transfer Learning / Aprendizaje por Transferencia (Ajuste Fino): El modelo base se ajusta mediante datos etiquetados por humanos para realizar tareas específicas como traducción, clasificación o respuestas a preguntas.
  3. Retroalimentación Humana (RLHF): Muchas arquitecturas modernas aplican técnicas de refinamiento continuo basadas en la evaluación e interacción de usuarios humanos.

Recursos e Infraestructura

Los modelos Transformers son masivos. Por ejemplo, modelos de la escala de GPT-4 requieren cientos de terabytes de datos de texto y procesan billones de parámetros, demandando semanas o meses de entrenamiento sobre infraestructuras de cómputo de alto rendimiento.

En este ámbito, plataformas como Hugging Face juegan un rol clave al alojar repositorios de modelos preentrenados y bibliotecas de código abierto (como la librería transformers en Python), facilitando la reutilización de estos modelos sin necesidad de entrenarlos desde cero.

Aunque nacieron para el Procesamiento del Lenguaje Natural (PLN), hoy los Transformers se aplican con éxito en:

  • Visión por Computadora: Clasificación de imágenes y video (ej. Vision Transformer).
  • Procesamiento de Audio: Conversión de voz a texto y asistentes virtuales.
  • Generación de Código: Asistentes de programación.
  • Ciberseguridad y Finanzas: Detección de fraudes y búsquedas semánticas.
larissa-dubiella

larissa-dubiella

Ver otros artículos sobre Data Science