Sobes.tech
Middle — Senior

O que é o Linformer e por que é que consegue uma complexidade linear?

sobes.tech IA

Resposta da IA

Linformer é uma arquitetura de transformador que reduz a complexidade computacional da atenção de quadrática (O(n²)) para linear (O(n)) em comprimento de sequência.

A ideia principal do Linformer é aproximar a matriz de atenção usando uma representação de baixo rank. Em vez de calcular a atenção completa entre todos os pares de tokens, o Linformer projeta chaves e valores em um espaço de menor dimensão usando projeções lineares treináveis.

Isso permite:

  • Reduzir a dimensão de chaves e valores,
  • Diminuir a quantidade de cálculos na multiplicação de matrizes,
  • Reduzir o consumo de memória.

Assim, a complexidade linear é alcançada usando uma dimensão de projeção fixa, que não depende do comprimento da sequência de entrada, tornando o Linformer eficiente para textos longos e grandes sequências.

Pode-se imaginar aproximadamente assim:

  • Em vez de calcular a atenção: Attention(Q, K, V) = softmax(QKᵀ / sqrt(d)) V
  • O Linformer calcula: Attention(Q, E K, F V), onde E e F são matrizes de projeção treináveis que reduzem a dimensão de K e V.

Isso simplifica os cálculos e reduz a complexidade para O(n).