# Linformer: как аппроксимация матриц низкого ранга ускоряет трансформеры

Источник: https://www.youtube.com/watch?v=-_2AF9Lhweo
Канал: Yannic Kilcher
Опубликовано: 11.06.2020

---

## Linformer: Эффективная альтернатива классическим трансформерам
[[JUMP:0:00]]

Исследователи из Facebook AI представили архитектуру Linformer, которая радикально меняет подход к вычислениям механизма внимания (self-attention) в трансформерах. Главная проблема классических моделей заключается в квадратичной зависимости сложности от длины последовательности ($N^2$), что делает их использование для очень длинных текстов крайне затратным. Авторы доказывают, что матрицу внимания можно аппроксимировать матрицей низкого ранга, что позволяет снизить вычислительную сложность с $O(N^2)$ до линейной $O(N)$.

### 🧠 Проблема квадратичной сложности
[[JUMP:1:08]]

Стандартный механизм self-attention в трансформерах требует вычисления матриц весов для каждого токена по отношению ко всем остальным токенам в последовательности.

*   Для последовательности длиной $N$ количество операций составляет $N^2$.
*   Информация маршрутизируется через скалярное произведение запросов (queries) и ключей (keys), которые затем проходят через операцию softmax.
*   В современных трансформерах используется многоголовое внимание (multi-head attention), где вектор размерности $D$ разбивается на множество под-векторов меньшей размерности.

Янник Кильхер отмечает, что хотя полная размерность матрицы может быть, например, $512 \times 512$, фактически она часто содержит много избыточной информации, будучи матрицей низкого ранга.

### 📉 Эмпирическое исследование ранга
[[JUMP:10:32]]

Для проверки гипотезы о низком ранге авторы проанализировали модель RoBERTa на наборах данных Wiki103 и IMDB. Исследователи изучили спектр собственных значений матрицы внимания $P$:

1.  Если матрица имеет высокий ранг, значения собственных чисел распределены равномерно.
2.  Если матрица низкого ранга, информация концентрируется в небольшом количестве измерений, соответствующих самым высоким собственным числам.

По словам Кильхера, по мере углубления в сеть трансформера, информация в матрицах маршрутизации концентрируется во все меньшем количестве измерений. Хотя сам ведущий указывает, что наличие такого эффекта может быть частично связано с особенностями работы функции softmax, он признает, что общее утверждение о низкоранговой природе матриц остается верным.

### ⚙️ Как работает Linformer
[[JUMP:28:07]]

Linformer предлагает проецировать ключи (keys) и значения (values) в пространство меньшей размерности $K$, где $K \ll N$.

*   Вместо классического умножения $N \times N$, модель выполняет операции в размерности $N \times K$.
*   Входной сигнал размерности $N \times D$ проецируется до длины последовательности $K$, проходит через внимание, а затем проецируется обратно до исходной длины $N$.
*   Матрицы проекций в Linformer являются фиксированными и не обучаются, что избавляет от необходимости вычислять SVD (сингулярное разложение) на каждом шаге.

### 📊 Теоретические гарантии и производительность
[[JUMP:35:42]]

Теоретическое обоснование работы метода опирается на лемму Джонсона — Линденштраусса (JL-лемма). Суть метода заключается в том, что высокоразмерные данные можно спроецировать в пространство низкого размерности с сохранением расстояний между точками.

*   В первой версии анализа авторы пришли к зависимости $K$ от логарифма длины последовательности ($O(N \log N)$), что было недостаточно для линейной масштабируемости.
*   В теореме 2 (подробно разобранной в приложении к статье) они показывают, что при правильном выборе проекций можно достичь независимости $K$ от $N$, что обеспечивает настоящую линейную сложность $O(N)$.

Кильхер замечает, что при сравнении на языковых моделях Linformer демонстрирует производительность на уровне стандартных трансформеров, при этом будучи гораздо более эффективным по памяти и времени. Тем не менее, на некоторых задачах классические трансформеры всё же могут незначительно превосходить Linformer по качеству (perplexity).

### 🌍 Этический аспект
[[JUMP:48:14]]

В заключение Кильхер положительно оценивает раздел статьи о «широком воздействии» (broader impact statement). Авторы подчёркивают, что работа делает глубокое обучение более эффективным и экологичным, не неся при этом специфических этических угроз, помимо тех, что присущи нейросетям в целом. Ведущий отмечает, что это редкий пример адекватного отношения к требованиям современных конференций указывать «негативные последствия».