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.
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.
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.
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].
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.
- 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.
- Entonces cada cabeza obtendrá su parte de Qi, Ki, VI
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.
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]
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.
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.
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.
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.