Quelle est la complexité en mémoire et en temps de l'auto-attention?
sobes.tech IA
Réponse de l'IA
L'attention auto dans les transformateurs calcule les relations entre tous les éléments de la séquence d'entrée, ce qui influence la complexité de l'algorithme.
Supposons que la longueur de la séquence soit N et la dimension des caractéristiques soit d.
-
Complexité temporelle : O(N² * d)
Cela est dû au fait que, pour chacun des N éléments, il faut calculer l'attention à chaque N éléments, puis appliquer des opérations de dimension d.
-
Complexité spatiale : O(N²)
Il faut stocker une matrice de poids d'attention de taille N×N.
En raison de la dépendance quadratique à la longueur de la séquence, l'attention auto devient un goulot d'étranglement lors du traitement d'entrées très longues, ce qui stimule le développement d'optimisations et d'architectures alternatives (par exemple, attention sparse).