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

Yannic Kilcher 35,2 тыс. 50 мин 3 мин 11.06.2020
Главное

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

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

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

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

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

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

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

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

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

⚙️ Как работает Linformer 28:07

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

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

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

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

🌍 Этический аспект 48:14

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

💬 Цитаты

«В современных трансформерах эта матрица имеет низкий ранг, и именно это эксплуатирует данная статья.»

Янник Кильхер 07:46

«Linformer работает на уровне стандартных трансформеров, будучи при этом гораздо более эффективным по памяти и времени.»

Янник Кильхер 08:26
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Self-attention
Механизм, позволяющий модели связывать информацию между всеми токенами в последовательности.
Softmax
Функция, преобразующая вектор значений в распределение вероятностей (сумма всех элементов равна 1).
Сингулярное разложение (SVD)
Математический метод факторизации матрицы на три отдельные матрицы.
Лемма Джонсона — Линденштраусса
Теорема, утверждающая возможность проецирования высокоразмерных данных в низкоразмерное пространство с сохранением расстояний между точками.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Linformer Yannic Kilcher self-attention transformer