Qual è la complessità in memoria e in tempo dell'auto-attenzione?
sobes.tech AI
Risposta dell'AI
L'attenzione automatica nei trasformatori calcola le relazioni tra tutti gli elementi della sequenza di input, influenzando la complessità dell'algoritmo.
Supponiamo che la lunghezza della sequenza sia N e la dimensione delle caratteristiche sia d.
-
Complessità temporale: O(N² * d)
Ciò è dovuto al fatto che, per ciascuno dei N elementi, è necessario calcolare l'attenzione a ciascuno degli N elementi, e poi applicare operazioni di dimensione d.
-
Complessità spaziale: O(N²)
È necessario memorizzare una matrice di pesi di attenzione di dimensione N×N.
A causa della dipendenza quadratica dalla lunghezza della sequenza, l'auto-attenzione diventa un collo di bottiglia quando si lavora con input molto lunghi, stimolando lo sviluppo di ottimizzazioni e architetture alternative (ad esempio, attenzione sparsa).