Middle — Senior
Jaka jest złożoność pamięciowa i czasowa self-attention?
sobes.tech AI
Odpowiedź od AI
Samoczynna uwaga w transformatorach oblicza powiązania między wszystkimi elementami wejściowej sekwencji, co wpływa na złożoność algorytmu.
Załóżmy, że długość sekwencji to N, a wymiar cech to d.
-
Złożoność czasowa: O(N² * d)
Wynika to z faktu, że dla każdego z N elementów trzeba obliczyć uwagę do każdego z N elementów, a następnie zastosować operacje o wymiarze d.
-
Złożoność przestrzenna: O(N²)
Należy przechowywać macierz wag uwagi o rozmiarze N×N.
Ze względu na kwadratową zależność od długości sekwencji, samoczynna uwaga staje się wąskim gardłem przy pracy z bardzo długimi wejściami, co stymuluje rozwój optymalizacji i alternatywnych architektur (np. sparse attention).