Какво е Linformer и защо му се удава линейна сложност?
sobes.tech AI
Отговор от AI
Linformer е архитектура на трансформатор, която намалява изчислителната сложност на вниманието от квадратична (O(n²)) на линейна (O(n)) по дължината на последователността.
Ключовата идея на Linformer е да приближи матрицата на вниманието с помощта на нискорангово представяне. Вместо да изчислява пълното внимание между всички двойки токени, Linformer проектира ключовете и стойностите в пространство с по-малка размерност чрез обучаеми линейни проекции.
Това позволява:
- намаляване на размерността на ключовете и стойностите,
- намаляване на броя на изчисленията при умножение на матрици,
- намаляване на потреблението на памет.
По този начин, линейната сложност се постига чрез използване на фиксирана размерност на проекцията, която не зависи от дължината на входната последователност, което прави Linformer ефективен за дълги текстове и големи последователности.
Приблизително това може да се представи така:
- Вместо изчисляване на вниманието: Attention(Q, K, V) = softmax(QKᵀ / sqrt(d)) V
- Linformer изчислява: Attention(Q, E K, F V), където E и F са обучаеми матрици за проекция, които намаляват размерността на K и V.
Това опростява изчисленията и намалява сложността до O(n).