Middle+
Milyen figyelmi típus csökkenti az O(n²) alatti összetettséget?
sobes.tech MI
Válasz az MI-től
A figyelem (attention) számítási összetettségének csökkentése érdekében (amely eredetileg kvadratikus O(n²)), különböző spars vagy lineáris figyelmi típusokat alkalmaznak. Egyik népszerű megközelítés a Linformer.
A Linformer csökkenti a figyelmi mátrixok méretét azzal, hogy kulcsokat és értékeket alacsonyabb dimenziós térbe vetít, így a komplexitás O(n)-re csökken.
Más módszerek:
- Performer — véletlenszerű vetítéseket és magokat használva közelítőleg számítja ki a figyelmet lineáris komplexitással.
- Reformer — helyi figyelmet és hash-elést alkalmazva csökkenti a számításokat.
- Longformer — helyi és globális figyelmet kombinálva csökkenti a komplexitást.
Példa a lineáris figyelem koncepciójára:
# Pszeudokód a lineáris figyelemhez
Q = kérdőmátrix
K = kulcsmátrix
V = értékmátrix
# K és V vetítése alacsonyabb dimenzióba
K_proj = vetítési_mátrix @ K
V_proj = vetítési_mátrix @ V
# Csökkentett dimenziójú figyelem számítása
attention = softmax(Q @ K_proj.T) @ V_proj
Így a számítások és a memória mennyisége csökken, lehetővé téve hosszabb szekvenciák feldolgozását.