¿Qué es Linformer y por qué logra una complejidad lineal?
sobes.tech AI
Respuesta de la IA
Linformer es una arquitectura de transformador que reduce la complejidad computacional de la atención de cuadrática (O(n²)) a lineal (O(n)) en la longitud de la secuencia.
La idea clave de Linformer es aproximar la matriz de atención mediante una representación de bajo rango. En lugar de calcular la atención completa entre todos los pares de tokens, Linformer proyecta las claves y valores en un espacio de menor dimensión mediante proyecciones lineales entrenables.
Esto permite:
- Reducir la dimensión de las claves y valores,
- Disminuir la cantidad de cálculos en la multiplicación de matrices,
- Reducir el consumo de memoria.
De esta manera, la complejidad lineal se logra mediante el uso de una dimensión de proyección fija, que no depende de la longitud de la secuencia de entrada, haciendo que Linformer sea eficiente para textos largos y secuencias grandes.
Se puede imaginar aproximadamente así:
- En lugar de calcular la atención: Attention(Q, K, V) = softmax(QKᵀ / sqrt(d)) V
- Linformer calcula: Attention(Q, E K, F V), donde E y F son matrices de proyección entrenables que reducen la dimensión de K y V.
Esto simplifica los cálculos y reduce la complejidad a O(n).