Sobes.tech
Middle — Senior

Qu'est-ce que Linformer et pourquoi parvient-il à une complexité linéaire?

sobes.tech IA

Réponse de l'IA

Linformer est une architecture de transformateur qui réduit la complexité de calcul de l'attention de quadratique (O(n²)) à linéaire (O(n)) en longueur de séquence.

L'idée clé de Linformer est d'approximer la matrice d'attention à l'aide d'une représentation à faible rang. Au lieu de calculer l'attention complète entre toutes les paires de tokens, Linformer projette les clés et valeurs dans un espace de dimension inférieure à l'aide de projections linéaires entraînables.

Cela permet de:

  • Réduire la dimension des clés et valeurs,
  • Diminuer le nombre de calculs lors de la multiplication matricielle,
  • Réduire la consommation de mémoire.

Ainsi, la complexité linéaire est atteinte grâce à l'utilisation d'une dimension de projection fixe, qui ne dépend pas de la longueur de la séquence d'entrée, rendant Linformer efficace pour les textes longs et les grandes séquences.

On peut l'imaginer ainsi :

  • Au lieu de calculer l'attention : Attention(Q, K, V) = softmax(QKᵀ / sqrt(d)) V
  • Linformer calcule : Attention(Q, E K, F V), où E et F sont des matrices de projection entraînables qui réduisent la dimension de K et V.

Cela simplifie les calculs et réduit la complexité à O(n).