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