Sobes.tech
Middle — Senior

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).