Цель этой статьи — подвести итоги работы Performers [1]. В статье выделены ключевые детали и приведены некоторые личные комментарии в конце. В предыдущей статье представлено ручное понимание Исполнителей с использованием аналогии с хешированием.

Vanilla Transformers использует слои само-внимания, определенные следующим образом.

Эта формула имеет квадратичную пространственную сложность O(L²), где L — длина входной последовательности. Это затрудняет преобразование длинных входных последовательностей, например,, длинных текстовых последовательностей, изображений с высоким разрешением и длинных белковых последовательностей.

Чтобы решить эту проблему, Choromanski et al. [1] предложили Исполнителям оценивать внимание полного ранга через Fast Aвнимание Via Положительные Oортогональные Rизображения (FAVOR+). Термин FAVOR+ состоит из трех частей:

  1. Быстрое внимание (FA),
  2. Положительныйположительный случайный признак (+/PRF),
  3. Ортогональные случайные признаки (ORF).

В этой статье каждая часть представлена ​​отдельно, а затем представлены количественные оценки

  1. Быстрое внимание (FA)

Хороманский и др. [1] рассматривают механизм «внимание-softmax» через кернелизацию. Конкретно, внимание-softmax SM(Q, K) — это ядро, которое можно аппроксимировать с помощью карт случайных признаков ϕ. Рис. 2 резюмирует эту идею.

При правильном ϕисходную формулировку само-внимания (рис. 1) можно переформулировать следующим образом

Изменяя порядок умножения матриц, эта формулировка позволяет избежать пространственной сложности O(L²) и уменьшить временную сложность с O(L² d) до O(Lrd) как показано на рис. 4.

Учитывая этот трюк с ядром, возникает следующий вопрос: как аппроксимировать ядро ​​softmax? Конкретно, что такое правильно ϕ?

2. Положительный случайный признак (PRF)

Хороманский и др. [1] предлагают следующую формулу для ϕ

Эта формула может моделировать большинство используемых на практике ядер, где w_1, .. ,w_mявляются случайными векторами, выбранными из распределения D. При установке (h, l и f) эта формула аппроксимирует различные ядра. Таб. 1 приведены некоторые из предложенных значений для (h, l и f) и соответствующие ядра

Ядро Softmax SM^{trig} — третье ядро ​​в Таблице 1 — должно приблизительно соответствовать софтмаксу, используемому при самоконтроле. Однако есть предостережение. В этом приближении используются функции sin и cos, которые могут генерировать отрицательные значения. Это противоречит ванильной функции softmax, которая всегда возвращает положительные значения ≥0, как показано на рис. 2. Choromanski et al. [1] обнаружил, что SM^{trig} нестабилен, особенно когда оценка ядра близка к 0, то есть токены с низкой релевантностью. Низкая релевантность указывает на большой угол (низкое сходство) между токенами, а высокая релевантность указывает на небольшой угол (высокое сходство) между токенами.

Чтобы решить вышеупомянутую проблему стабильности, Choromanski et al. [1] аппроксимируйте ядро ​​softmax, используя положительные случайные признаки (PRF)с функциями exp,т. е. вместо этого sin/cos. Это приводит к SM^{+} и SM^{hyp+}, как показано в Табл. 1. Чтобы количественно оценить эти положительные случайные признаки, в статье показано отношение среднеквадратичной ошибки (MSE) между SM^{trig} и SM^{+}, как показано на рис. 6.

3. Ортогональные случайные функции (ORF)

Теперь ванильный софтмакс можно аппроксимировать, используя как прием кернелизации (FA), так и положительные случайные признаки (PRF). И все же, сколько случайных функций r необходимо? Можем ли мы обойтись небольшим числом r?

Чтобы уменьшить как дисперсию ядра, так и количество случайных признаков r, Choromanski et al. [1] используют ортогональные случайные признаки (ORF). Поскольку (w_1,…, w_m) — это объекты, выбранные случайным образом, Choromanski et al. [1] используют процедуру ортогонализации Грама-Шмидта. Грамма-Шмидта — это процедура линейной алгебры для ортонормирования набора векторов. На рис. 7 показан игрушечный пример Грама-Шмидта, в котором два случайных вектора (v_1, v_2) ортонормированы в (u_1, u_2).

В то время как (1) FA, (2) PRF и (3) ORF являются основными идеями статьи, в статье есть второстепенные приемы для повышения надежности: (1) карты случайных признаков периодически перерисовываются; (2) регуляризованное ядро ​​softmax SMREG. Для тех, кто интересуется этими трюками, пожалуйста, прочитайте статью.

Теперь, когда мы представили FAVOR+ (он же Performers), переходим к экспериментам. Начнем с оценки вычислительных затрат как при прямом, так и при обратном проходе. На рис. 8 ванильные трансформеры сравниваются с исполнителями с использованием моделирования последовательности дальнего действия. Performer достигает почти линейного времени и субквадратичного потребления памяти. При больших последовательностях L эффективность использования памяти и обратного прохода позволяет обучать большие пакеты и сократить время настенных часов соответственно.

Исполнители сначала оцениваются с использованием двух языковых тестов: (1) тест малого диапазона LM1B; (2) эталон большой дальности PG-19. Исполнители не могут заменить ванильное внимание из коробки. Рис. 9 (слева) показывает, что исполнитель достигает более низкой точности (0,07) при замене ванильного внимания даже на тесте LM1B малого диапазона. К счастью, путем точной настройки небольшого числа шагов градиента точность можно восстановить. На тесте большого диапазона PG-19 (рис. 9 справа) тригонометрический softmax SM^{trig} становится крайне нестабильным. Даже с положительными картами признаков положительный софтмакс (SM^{+}) останавливается на более низком недоумении. Чтобы соответствовать ванильному вниманию, положительный softmax (SM^{+}) нуждается в других трюках, таких как (1) перерисовка и (2) SMREG.

Помимо языковых моделей, Performers ценны для белковых последовательностей с L=1024. С помощью эталонного теста Trembl на рис. 10 оцениваются исполнители с 36-уровневой моделью. Линформер — альтернативный эффективный трансформатор — сильно страдает. Тем не менее, Performer-Softmax и Performer-RELU обеспечивают высочайшую точность. Стоит отметить, что это первый эксперимент по внедрению и оценке Performer-RELU.

Наконец, Choromanski et al. [1] оцените Performer в задаче создания изображений с помощью эталонного теста ImageNet64. В этой задаче генерируются изображения размером 64x64x3, т. е. L=12288, что невыполнимо для обычных трансформеров. Таким образом, на рис. 11 оцениваются только исполнители и реформаторы. Performer/6-layers соответствует Reformer/12-layers, а Performer/12-layers соответствует Reformer/24-layers.

На рис. 12 оцениваются различные ядра Performer (RELU и Softmax) на одном и том же тесте ImageNet64. Performer-softmax с положительными характеристиками достигает того же результата, что и Performer-ReLU.

Комментарии

  1. Мне нравится эта статья, но ее можно было бы написать/представить лучше:

а. Одни и те же символы (ϕ, l, r) имеют несколько значений; ϕобозначает карты случайных признаков в разделе 2.3, но также обозначает угол между маркерами на рис. 2; lобозначает количество функций в уравнении. 5, но также обозначает длину вектора на рис. 2; r обозначает размер карт случайных признаков в разделе 2.2, но также обозначает отношение среднеквадратичных ошибок (MSE) оценок на рис. 2.

б. В статье подробно рассматриваются приближения ядра softmax и оценка MSE (разделы 2 и 3). Тем не менее, статья похоже делает вывод, что ядро ​​RELU лучше (раздел 4.4) прямо перед заключительным разделом! Если RELU действительно лучше, было бы лучше подробнее остановиться на этом. Ядро RELU определено нечетко, т. е. h(x) явно не упоминается. К счастью, код статьи был выпущен как для JAX [8], так и для PyTorch [9]. Таким образом, можно сделать вывод о недостающих деталях.

2. Нужны ли нам Performers для пространственных данных высокого разрешения? CoAt-Net [2] утверждает, что понижающая дискретизация (объединение) пространственного ввода (изображения) с высоким разрешением в изображение с низким разрешением, а затем выполнение ванильного внимания — на низком разрешении — достаточно хорошо. Хотя этот трюк с понижением частоты дискретизации работает для естественных изображений, понижение частоты дискретизации предложения или белковой последовательности нетривиально. Кроме того, меня беспокоит этот подход с понижением разрешения, когда изображение содержит крошечный интересующий объект, например, злокачественную ткань на медицинском снимке или морской корабль на спутниковом снимке.

3. С точки зрения подобных методов, работа лаборатории профессора Криса Ре [3-4] выглядит интересной с многообещающими результатами.

4. С точки зрения приложений для зрения, эти подходы к моделированию с длительным сроком действия представляют большую ценность для спутниковых изображений [5–6] и медицинских изображений [7].

5. Забавный анекдот: метод Грама-Шмидта — это простой метод с одной основной идеей. Если Грэм придумал эту идею, что сделал Шмидт?! :)

Ссылки

[1] Хоромански К., Лихошерстов В., Дохан Д., Сонг Х., Гейн А., Сарлос Т., Хокинс П., Дэвис Дж., Мохиуддин А., Кайзер, Л. и Беланже Д., 2020 г. Переосмысление внимания с исполнителями.

[2] Дай, З., Лю, Х., Ле, К.В. и Тан, М., 2021 г. Coatnet: объединение свертки и внимания для данных любого размера. Достижения в области нейронных систем обработки информации

[3] Gu, A., Goel, K. and Ré, C., 2021. Эффективное моделирование длинных последовательностей со структурированными пространствами состояний. Препринт arXiv arXiv:2111.00396.

[4] Дао, Т., Фу, Д.Ю., Сааб, К.К., Томас, А.В., Рудра, А. и Ре, К., 2022. Голодные голодные бегемоты: на пути к языковому моделированию с помощью моделей пространства состояний. Препринт arXiv arXiv:2212.14052.

[5] Zhang, Z., Zhang, L., Wang, Y., Feng, P. и He, R., 2021. ShipRSImageNet: крупномасштабный набор данных для обнаружения судов в высоком разрешении. изображения оптического дистанционного зондирования. Журнал IEEE по избранным темам прикладных наблюдений за Землей и дистанционного зондирования

[6] Лам Д., Кузьма Р., МакГи К., Дули С., Лайелли М., Кларик М., Булатов Ю. и МакКорд Б., 2018. xview: Объекты в контексте на изображениях сверху. Препринт arXiv arXiv:1802.07856.

[7] Таха, А., Чыонг Ву, Ю. Н., Момбуркетт, Б., Мэтьюз, Т. П., Су, Дж. и Сингх, С., 2022 г., сентябрь. Deep — это роскошь, которой у нас нет. В области вычислений медицинских изображений и компьютерных вмешательств — MICCAI 2022: 25-я международная конференция.

[8] https://github.com/google-research/google-research/blob/master/performer/fast_attention/jax/fast_attention.py

[9] https://github.com/lucidrains/performer-pytorch