Seguridad

“Attention is all you need”: La investigación que revolucionó la Inteligencia Artificial con los Transformers (Parte 2)

En la primera parte de este artículo hablamos un poco de la historia de la Inteligencia Artificial, pasando por las Redes Neuronales Recurrentes y Convolucionales, el Machine Learning y las técnicas de Data Mining, las SVN, para llegar a las GANs y por último al artículo de “Attention Is All You Need” de Ashish Vaswani y su equipo en 2017, que dió origen a los Transformers. En esta parte del artículo vamos a ver cómo funcionan estos Transformers.

Figura 8: “Attention is all you need”: La investigación que revolucionó
la Inteligencia Artificial con los Transformers (Parte 2).
(Recreación de Transformers de ficción y reales usando DallE-3)

Vamos a centrarnos ahora en los Transformer. A diferencia de las arquitecturas anteriores como las Redes Neuronales Recurrentes (RNN) y las Convolucionales (CNN), recordemos que los Transformers no procesan secuencias de texto de manera secuencial (como ya hemos comentado en la primera parte de este artículo). En cambio, utilizan una estructura que permite procesar toda la secuencia de entrada simultáneamente, lo que se traduce en una mayor eficiencia y capacidad para manejar dependencias a larga distancia.

Ahora vamos a ver cómo funciona un Transformer partiendo su arquitectura básica. Voy a intentar resumirlo de la forma más sencilla basándome en la arquitectura del artículo y que podéis ver en la imagen anterior.


Estructura del Transformer

Inputs (Entradas):

  • Las entradas son las palabras o subpalabras que han sido convertidas en vectores mediante procesos de tokenización y posteriormente transformadas a incrustaciones (embeddings). Estos embeddings contienen la información semántica de las palabras en un formato que el modelo puede procesar.


Positional Encoding (Codificación Posicional):

  • Debido a que los Transformers no procesan secuencias de manera secuencial, necesitan una manera de tener en cuenta el orden de las palabras. La codificación posicional añade información sobre la posición relativa o absoluta de los tokens en la secuencia. Esto se suma a los embeddings de entrada para que el modelo pueda preservar el concepto de orden de las palabras.

Multi-Head Attention (Atención de Cabezas Múltiples):

  • Es un mecanismo que permite al modelo centrarse en diferentes partes de la secuencia de entrada para cada ‘cabeza’ de atención. Cada cabeza aprende a atender a diferentes partes de la secuencia, lo que permite al modelo capturar varios aspectos del contexto y las relaciones entre palabras.

Add & Norm (Adición y Normalización):

  • Después de la atención de múltiples cabezas, se suma la entrada original a la salida de la atención (conexiones residuales), y luego se normaliza. Esto ayuda a estabilizar los valores numéricos a través de la red, facilitando el aprendizaje y manteniendo la información original a lo largo del procesamiento.


Feed Forward (Red de Alimentación Directa):

  • Cada posición en la salida de la atención pasa por una red de alimentación directa que consiste en dos capas lineales con una activación no lineal entre ellas. Esto permite al modelo realizar transformaciones adicionales a los datos.

Nx:

  • Indica que los bloques de “Multi-Head Attention” y “Feed Forward” con sus respectivas “Add & Norm” se repiten N veces. Esto significa que el modelo tiene N capas de codificación que pueden aprender patrones más complejos y relaciones a distintos niveles.


Output Embedding (Incrustación de Salida) y

Positional Encoding (Codificación Posicional)
  • Similar a las entradas, las salidas son procesadas por embeddings y codificación posicional. Sin embargo, en el lado de la salida, las palabras se desplazan hacia la derecha para garantizar que la predicción para una posición dada solo pueda depender de las palabras conocidas anteriormente en la secuencia.


Masked Multi-Head Attention

(Atención de Múltiples Cabezas Enmascarada):

  • Es similar a la atención de múltiples cabezas, pero evita que el modelo vea las partes futuras de la secuencia durante el entrenamiento. Esto se hace típicamente en tareas de predicción secuencial como la generación de texto.

Linear (Lineal):

  • Una capa lineal es una capa de red neuronal que realiza una transformación lineal. En el contexto del Transformer, esta capa lineal suele convertir la representación de alta dimensión de la red en una representación del tamaño del vocabulario.


Softmax:

  • La función Softmax se utiliza en la última capa de la red para convertir los logits (salidas de la capa lineal) en probabilidades. La salida es un vector de probabilidades que indica la probabilidad de cada palabra siguiente en la secuencia.

Output Probabilities (Probabilidades de Salida):

  • Es el vector final de probabilidades generado por la capa Softmax. Cada elemento del vector representa la probabilidad de que una palabra específica del vocabulario sea la siguiente en la secuencia.

Después de estas definiciones y explicaciones, simplificando un poco el proceso, vamos a ver cómo se analiza por ejemplo la frase “El gato está en el tejado” cuando pasa por cada uno de los elementos de la arquitectura:

Figura 11: Análisis del paso por los componentes de la arquitectua

Y aquí tenéis otra tabla donde simulamos los valores para ver un poco más en detalle el proceso con los valores generados en cada operación:

Figura 12: Valores generados en cada operación
Espero que este ejemplo os haya aclarado un poco cómo funcionan los Transformers, que son la clave de los Large Language Models (LLM) que utilizan los sistemas de Generative AI más populares de hoy en día.

Conclusión

El impacto de los Transformers en la IA va más allá del NLP mejorando la precisión y calidad en muchas otras tareas. Veremos qué nuevas arquitecturas o implementaciones de uso de los mismos Transformers nos encontramos en el 2024. En este año, donde tenemos la base en Europa para regular este tipo de tecnologias.
Estos modelos de IA también presentan desafíos como la necesidad de grandes cantidades de datos para entrenamiento y demandas significativas de recursos computacionales, lo que plantea preguntas sobre sostenibilidad, accesibilidad y también la ética (no olvidemos nunca estos tres términos a la hora de implementar IA).
En nuestro lago, la parte que tiene que ver con Ciberseguridad y Hacking son muy importantes, por supuesto, y hace falta mucha investigación aún para resolver muchos de los retos que tienen estos modelos de GenAI. En la charla de Hacker & Developer in the Age of GenAI LLM Apps & Services nuestro compañero Chema Alonso explica muchos de estos retos.
A pesar de estos desafíos, los Transformers continúan impulsando la innovación en IA, abriendo nuevas vías de investigación y aplicaciones lo que les convierte, junto a los modelos difusión, en uno de los pilares de la IA Generativa y del avance de la IA en general. Tengo ganas de ver qué nos depara este 2024, seguro que será increíble.
Happy Hacking, Hackers!!!
 
Autor:

Fran Ramírez es investigador de seguridad y miembro del equipo de Ideas Locas en CDO en Telefónica, co-autor del libro “Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)“, del libro “Docker: SecDevOps“, también de “Machine Learning aplicado a la Ciberseguridad” además del blog CyberHades. Puedes contactar con Fran Ramirez en MyPublicInbox.

 Contactar con Fran Ramírez en MyPublicInbox

Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.