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