Mi az a Linformer és miért sikerül neki lineáris összetettséget elérni?
sobes.tech MI
Válasz az MI-től
A Linformer egy transzformer architektúra, amely a figyelem számítási összetettségét a négyzetes (O(n²)) helyett lineárisra (O(n)) csökkenti a szekvencia hosszában.
A Linformer kulcsötlete, hogy a figyelmi mátrixot alacsony rangú reprezentációval közelíti meg. Ahelyett, hogy minden tokenpár között teljes figyelmet számítana ki, a Linformer a kulcsokat és értékeket tanulható lineáris projekciók segítségével kisebb dimenziójú térbe vetíti.
Ez lehetővé teszi:
- a kulcsok és értékek dimenziójának csökkentését,
- a mátrixszorzás során végzett számítások számának csökkentését,
- a memóriafelhasználás csökkentését.
Így a lineáris összetettség egy fix projekciós méret használatával érhető el, amely nem függ a bemeneti szekvencia hosszától, így a Linformer hatékony hosszú szövegek és nagy szekvenciák esetén.
Körülbelül így lehet elképzelni:
- A figyelem számítása helyett: Attention(Q, K, V) = softmax(QKᵀ / sqrt(d)) V
- A Linformer számít: Attention(Q, E K, F V), ahol E és F tanulható projekciós mátrixok, amelyek csökkentik K és V méretét.
Ez leegyszerűsíti a számításokat és csökkenti a komplexitást O(n)-re.