Sobes.tech
Middle — Senior

Ce este Linformer și de ce reușește să aibă o complexitate liniară?

sobes.tech AI

Răspuns de la AI

Linformer este o arhitectură de transformator care reducează complexitatea calculului atenției de la cuadratică (O(n²)) la liniară (O(n)) în lungimea secvenței.

Ideea principală a Linformer este de a aproxima matricea de atenție folosind o reprezentare cu rang redus. În loc să calculeze atenția completă între toate perechile de tokeni, Linformer proiectează cheile și valorile într-un spațiu de dimensiune mai mică folosind proiecții liniare antrenabile.

Aceasta permite:

  • Reducerea dimensiunii cheilor și valorilor,
  • Reducerea numărului de calcule în multiplicarea matricelor,
  • Reducerea consumului de memorie.

Astfel, complexitatea liniară se atinge prin utilizarea unei dimensiuni fixe de proiecție, care nu depinde de lungimea secvenței de intrare, făcând Linformer eficient pentru texte lungi și secvențe mari.

Se poate imagina aproximativ astfel:

  • În loc să calculeze atenția: Attention(Q, K, V) = softmax(QKᵀ / sqrt(d)) V
  • Linformer calculează: Attention(Q, E K, F V), unde E și F sunt matrici de proiecție antrenabile care reduc dimensiunea lui K și V.

Aceasta simplifică calculele și reduce complexitatea la O(n).