Middle — Senior
Čo je Linformer a prečo mu sa darí dosiahnuť lineárnu zložitosť?
sobes.tech AI
Odpoveď od AI
Linformer je architektúra transformátora, ktorá znižuje výpočtovú zložitosť pozornosti z kvadratickej (O(n²)) na lineárnu (O(n)) podľa dĺžky sekvencie.
Kľúčovou myšlienkou Linformeru je približovanie matice pozornosti pomocou nízko-rangovej reprezentácie. Namiesto výpočtu úplnej pozornosti medzi všetkými pármi tokenov Linformer projekciou klúčov a hodnôt do priestoru s menším rozmerom pomocou trénovateľných lineárnych projekcií.
Toto umožňuje:
- znížiť rozmer klúčov a hodnôt,
- znížiť počet výpočtov pri násobení matíc,
- znížiť spotrebu pamäti.
Takto sa dosahuje lineárna zložitosť použitím pevnej projekčnej dimenzie, ktorá nezávisí od dĺžky vstupnej sekvencie, čo robí Linformer efektívnym pre dlhé texty a veľké sekvencie.
Približne si to možno predstaviť takto:
- Namiesto výpočtu pozornosti: Attention(Q, K, V) = softmax(QKᵀ / sqrt(d)) V
- Linformer počíta: Attention(Q, E K, F V), kde E a F sú trénovateľné projekčné matice, ktoré znižujú rozmer K a V.
Toto zjednodušuje výpočty a znižuje zložitosť na O(n).