group-telegram.com/gonzo_ML/99
Last Update:
Adaptive Attention Span in Transformers
Sainbayar Sukhbaatar, Edouard Grave, Piotr Bojanowski, Armand Joulin
Статья: https://arxiv.org/abs/1905.07799
Бенчмарки: https://paperswithcode.com/paper/adaptive-attention-span-in-transformers
Работа идейно близкая к ACT: давайте теперь сделаем адаптивным attention span трансформера.
Проблема обычного трансформера в том, что размер контекста, по которому считается self-attention, фиксирован и кроме того не может быть большим, потому что вычисления и память растут квадратично. Для увеличения контекста недавно уже было несколько решений, например, Transformer XL или Sparse Transformer. В первом из них ввели нечто вроде рекуррентности по времени, а во втором сильно облегчили матрицу внимания за счёт факторизации. Здесь же авторы (все из FB) вводят адаптивность, слой сам определяет необходимый ему размер контекста, так что это сокращает вычислительную сложность трансформера и позволяет, где надо, иметь большой контекст.
Кроме адаптивности в обычный трансформер вводятся две модификации.
1) Относительные позиционные ембеддинги (из работы Shaw et.al, https://arxiv.org/abs/1803.02155)
2) Механизм кеширования (из работы Dai про Transformer XL, https://arxiv.org/abs/1901.02860)
Далее размер контекста (attention span) каждой головы self-attention’а выучивается независимо от других (это называется adaptive attention span) путём добавления кусочно-линейной невозрастающей функции, маскирующей attention span. Функция состоит из двух кусков: константная единица от нуля до z (выучиваемый параметр) и спадающий до нуля кусок от z до z+R (гиперпараметр).
Усовершенствованным вариантом является dynamic attention span, динамически изменяющий attention span в зависимости от текущего входа. Здесь параметр z является функцией от входа (соответствует одному полносвязному слою с сигмоидальной активацией).
Проверяли на датасетах text8 и enwiki8, пробовали модели двух размеров (маленькая: 12 слоёв и размер внутреннего эмбеддинга 512; и большая: 24 слоя и эмбеддинг 768; везде 8 голов attention’а).
Сравнивались с Transformer XL и с глубоким (64 слоя) символьным трансформером Al-Rfou (https://arxiv.org/abs/1808.04444). Большие модели получили SotA на обоих датасетах с меньшим числом параметров и с меньшими FLOPS’ами.
На практике оказывается, что нижние слои обычно оперируют коротким контекстом, а верхние -- более длинным (несколько голов используют контекст до нескольких тысяч).
В общем прикольно, работает. В целом это довольно прямолинейный перенос идеи ACT.
Всё ещё кипятите? Тогда мы идём к вам. Что там ещё у нас в сетках зашито и не является адаптивным?
BY gonzo-обзоры ML статей
Share with your friend now:
group-telegram.com/gonzo_ML/99