Detrás de la magia: cómo los tensores impulsan los transformadores

Los transformadores han cambiado la forma en que funciona la inteligencia artificial, especialmente para comprender el lenguaje y el aprendizaje de los datos. En el núcleo de estos modelos están tensores (Un tipo generalizado de matrices matemáticas que ayudan a procesar información). A medida que los datos se mueven a través de las diferentes partes de un transformador, estos tensores están sujetos a diferentes transformaciones que ayudan al modelo a dar sentido a cosas como oraciones o imágenes. Aprender cómo funcionan los tensores dentro de los transformadores puede ayudarlo a comprender cómo los sistemas de IA más inteligentes de hoy realmente funcionan y piensan.

Lo que cubre este artículo y lo que no

Este artículo trata sobre:

  • El flujo de tensores de entrada a salida dentro de un modelo de transformador.
  • Garantizar la coherencia dimensional en todo el proceso computacional.
  • Las transformaciones paso a paso que los tensores sufren en varias capas de transformadores.

Este artículo no se trata de:

  • Una introducción general a los transformadores o el aprendizaje profundo.
  • Arquitectura detallada de modelos de transformadores.
  • Proceso de entrenamiento o ajuste de hiper-parámetro de transformadores.

Cómo actúan los tensores dentro de los transformadores

Un transformador consta de dos componentes principales:

  • Codificador: Procesa datos de entrada, capturando relaciones contextuales para crear representaciones significativas.
  • Descifrador: Utiliza estas representaciones para generar salida coherente, prediciendo cada elemento secuencialmente.

Los tensores son las estructuras de datos fundamentales que pasan por estos componentes, experimentando múltiples transformaciones que garantizan la coherencia dimensional y el flujo de información adecuado.

Imagen del documento de investigación: Arquicectura estándar de transformador

Capa de incrustación de entrada

Antes de ingresar al transformador, los tokens de entrada sin procesar (palabras, subvenciones o caracteres) se convierten en representaciones vectoriales densas a través del capa de incrustación. Esta capa funciona como una tabla de búsqueda que mapea cada vector de token, capturando relaciones semánticas con otras palabras.

Imagen del autor: Tensores que pasan por la capa de incrustación

Para un lote de cinco oraciones, cada una con una longitud de secuencia de 12 tokens y una dimensión de incrustación de 768, la forma del tensor es:

  • Forma tensor: [batch_size, seq_len, embedding_dim] → [5, 12, 768]

Después de incrustar, codificación posicional se agrega, asegurando que la información del pedido se preserve sin alterar la forma del tensor.

Imagen modificada del trabajo de investigación: Situación del flujo de trabajo

Mecanismo de atención múltiple

Uno de los componentes más críticos del transformador es el Mecanismo de atención múltiple (MHA). Funciona en tres matrices derivadas de incrustaciones de entrada:

  • Consulta (Q)
  • Clave (k)
  • Valor (v)

Estas matrices se generan utilizando matrices de peso aprendibles:

  • WQ, WK, WV de forma [embedding_dim, d_model] (p.ej, [768, 512]).
  • Las matrices Q, K, V resultantes tienen dimensiones
    [batch_size, seq_len, d_model].
Imagen de Autor: Tabla que muestra las formas/dimensiones de la incrustación, Q, K, V Tensores

Dividir Q, K, V en múltiples cabezas

Para una paralelización efectiva y un mejor aprendizaje, MHA divide Q, K y V en múltiples cabezas. Supongamos que tenemos 8 cabezas de atención:

  • Cada cabeza opera en un subespacio de d_model / head_count.
Imagen del autor: Atención múltiple
  • Las dimensiones del tensor remodelado son [batch_size, seq_len, head_count, d_model / head_count].
  • Ejemplo: [5, 12, 8, 64] → reorganizado a [5, 8, 12, 64] Para asegurarse de que cada cabeza reciba una porción de secuencia separada.
Imagen del autor: Reestructura de los tensores
  • Entonces cada cabeza obtendrá su parte de Qi, Ki, VI
Imagen por autor: Cada Qi, Ki, VI enviado a diferente cabeza

Cálculo de atención

Cada cabeza calcula la atención utilizando la fórmula:

Una vez que se calcula la atención para todas las cabezas, las salidas se concatenan y se pasan a través de una transformación lineal, restaurando la forma del tensor inicial.

Imagen del autor: Concatenando la salida de todos los cabezales
Imagen modificada del trabajo de investigación: Situación del flujo de trabajo

Conexión residual y normalización

Después del mecanismo de atención múltiple, un conexión residual se agrega, seguido de normalización de la capa:

  • Conexión residual: Output = Embedding Tensor + Multi-Head Attention Output
  • Normalización: (Output − μ) / σ para estabilizar el entrenamiento
  • Permanece la forma del tensor [batch_size, seq_len, embedding_dim]
Imagen del autor: conexión residual

Red de avance de alimentación (FFN)

En el decodificador, Atención enmascarada de múltiples cabezas Asegura que cada token atiende solo a tokens anteriores, evitando la fuga de información futura.

Imagen modificada del documento de investigación: atención múltiple enmascarada

Esto se logra usando una máscara de forma triangular inferior [seq_len, seq_len] con -inf valores en el triángulo superior. La aplicación de esta máscara asegura que la función Softmax anule posiciones futuras.

Imagen del autor: Mask Matrix

Atención cruzada en decodificación

Dado que el decodificador no comprende completamente la oración de entrada, utiliza entrega cruzada para refinar predicciones. Aquí:

  • El decodificador genera consultas (QD) de su entrada ([batch_size, target_seq_len, embedding_dim]).
  • La salida del codificador sirve como claves (Ke) y valores (Ve).
  • El decodificador calcula la atención entre QD y Kinextrayendo el contexto relevante de la salida del codificador.
Imagen modificada del trabajo de investigación: atención de la cabeza cruzada

Conclusión

Uso de transformadores tensores Para ayudarlos a aprender y tomar decisiones inteligentes. A medida que los datos se mueven a través de la red, estos tensores pasan por diferentes pasos, como convertirse en números, el modelo puede entender (incrustarse), centrarse en partes importantes (atención), mantenerse equilibrado (normalización) y pasar a través de capas que aprenden patrones (avance de alimentación). Estos cambios mantienen los datos en la forma correcta todo el tiempo. Al comprender cómo los tensores se mueven y cambian, podemos tener una mejor idea de cómo Modelos de IA trabajar y cómo pueden entender y crear un lenguaje humano.