Sobes.tech
Middle — Senior

Co je Linformer a proč mu jde lineární složitost?

sobes.tech AI

Odpověď od AI

Linformer je architektura transformátoru, která snižuje výpočetní složitost pozornosti z kvadratické (O(n²)) na lineární (O(n)) podle délky sekvence.

Klíčovou myšlenkou Linformeru je přiblížit matici pozornosti pomocí nízkorangové reprezentace. Místo výpočtu úplné pozornosti mezi všemi páry tokenů Linformer projekcí klíčů a hodnot do prostoru menší dimenze pomocí trénovatelných lineárních projekcí.

To umožňuje:

  • zmenšit rozměr klíčů a hodnot,
  • snížit počet výpočtů při násobení matic,
  • snížit spotřebu paměti.

Tím je dosaženo lineární složitosti použitím pevné projekční dimenze, která nezávisí na délce vstupní sekvence, což činí Linformer efektivním pro dlouhé texty a velké sekvence.

Přibližně si to lze představit takto:

  • Místo výpočtu pozornosti: Attention(Q, K, V) = softmax(QKᵀ / sqrt(d)) V
  • Linformer počítá: Attention(Q, E K, F V), kde E a F jsou trénovatelné projekční matice snižující rozměr K a V.

To zjednodušuje výpočty a snižuje složitost na O(n).