Sobes.tech
Middle — Senior

Τι είναι το Linformer και γιατί καταφέρνει να έχει γραμμική πολυπλοκότητα;

sobes.tech AI

Απάντηση από AI

Το Linformer είναι μια αρχιτεκτονική μετασχηματιστή που μειώνει την υπολογιστική πολυπλοκότητα της προσοχής από τετραγωνική (O(n²)) σε γραμμική (O(n)) μήκος της ακολουθίας.

Η βασική ιδέα του Linformer είναι η προσεγγιστική αναπαράσταση του πίνακα προσοχής με χαμηλό βαθμό. Αντί να υπολογίζει την πλήρη προσοχή μεταξύ όλων των ζευγών tokens, το Linformer προβάλλει τα κλειδιά και τις τιμές σε έναν χώρο μικρότερου διαστάσεων μέσω εκπαιδεύσιμων γραμμικών προεκτάσεων.

Αυτό επιτρέπει:

  • τη μείωση του μεγέθους των κλειδιών και των τιμών,
  • τη μείωση των υπολογισμών κατά τον πολλαπλασιασμό των πινάκων,
  • τη μείωση της κατανάλωσης μνήμης.

Έτσι, επιτυγχάνεται γραμμική πολυπλοκότητα με τη χρήση μιας σταθερής διαστάσεως προεκτάσεως, η οποία δεν εξαρτάται από το μήκος της εισερχόμενης ακολουθίας, καθιστώντας το Linformer αποτελεσματικό για μεγάλα κείμενα και μεγάλες ακολουθίες.

Μπορεί να φανταστεί κανείς περίπου έτσι:

  • Αντί να υπολογίζει την προσοχή: Attention(Q, K, V) = softmax(QKᵀ / sqrt(d)) V
  • Το Linformer υπολογίζει: Attention(Q, E K, F V), όπου E και F είναι εκπαιδεύσιμες μήτρες προεκτάσεων που μειώνουν το μέγεθος του K και V.

Αυτό απλοποιεί τους υπολογισμούς και μειώνει την πολυπλοκότητα σε O(n).