group-telegram.com/gonzo_ML/381
Last Update:
Big Bird: Transformers for Longer Sequences
Manzil Zaheer, Guru Guruganesh, Avinava Dubey, Joshua Ainslie, Chris Alberti, Santiago Ontanon, Philip Pham, Anirudh Ravula, Qifan Wang, Li Yang, Amr Ahmed
Статья: https://arxiv.org/abs/2007.14062
Чего-то мы про Big Bird не написали, а это непорядок. Во-первых, потому что это ещё один персонаж Улицы Сезам (следующий полезный трансформер определённо надо назвать Mr. Snuffleupagus, https://muppet.fandom.com/wiki/Mr._Snuffleupagus). Во-вторых, потому что это развитие ETC (https://www.group-telegram.com/br/gonzo_ML.com/299) от тех же (в основном) авторов.
В двух словах идея такая: сделаем sparse attention таким, чтобы сложность механизма внимания стала линейной.
Для этого внимание разбирают на три части:
- глобальные токены g (смотрят на всю последовательность полным вниманием)
- случайные токены r (ключи, на которые смотрит каждый query)
- блок локальных соседей вправо и влево, всего w
Если про конкретику, то на задачах QA весь контекст имеет длину 4096 токенов, w=192..252, g=128..430, r=192.
В ETC не было рандомной части.
Доказывают, что Big Bird обладает всеми известными теоретическими свойствами полного трансформера (а заодно он Тьюринг-полный). Показывают на практике, что он реально рулит и бьёт другие модели на разных NLP задачах.
Для получения всего этого счастья заходят со стороны спарсификации графов и того, что случайные графы (здесь Эрдёш-Реньи, где каждое ребро независимо выбирается с фиксированной вероятностью) могут аппроксимировать полные графы в некоторых конкретных контекстах, включая их спектральные свойства. Здесь важным оказывается то, что информация между любыми двумя узлами может передаваться быстро.
Вторая идея — важность локального внимания, но она была уже в ETC.
Но экспериментально показывают, что этих двух вещей недостаточно для достижения качества полного трансформера, зато с глобальными токенами всё становится в порядке (отдельные глобальные токены недавно мы тоже рассматривали с Мишей Бурцевым в нашем Memory Transformer, https://arxiv.org/abs/2006.11527). Глобальные токены бывают двух типов: “внутренние” (какие-то из имеющихся токенов нарекаются глобальными), это называется ITC, Internal Transformer Construction; или “внешние” (добавляются к последовательности), это называется ETC, Extended Transformer Construction.
Доказывают попутно теорему про то, что если механизм разреженного внимания определяется графом, содержащим звезду (по сути старый добрый Star-Transformer, https://arxiv.org/abs/1902.09113), то он является универсальным аппроксиматором.
Полученный трансформер работает, и в отличие от Longformer (https://www.group-telegram.com/br/gonzo_ML.com/292), который обучался на Quadro RTX8000 с 48 гигов памяти, этот обучают на карточке с 16 гигами на чип (но похоже, что уже на TPU).
Предобучают с MLM objective на нескольких датасетах с длинными документами (Books, википедия, Stories, CC-News), стартуют с чекпойнта Роберты. Получают предсказание пропущенных токенов с лучшим качеством (в терминах BPC), чем у роберты и лонгформера.
Далее файнтюнят на Quenstion Answering, тоже получается хорошо. И на классификации больших документов тоже многих побеждают.
Это были encoder-only задачи. Из encoder-decoder задач выбирают суммаризацию, в ней разреженный оставляют только энкодер, а декодер обычный. Типа саммари всё равно короткое, в отличие от входа. На суммаризации тоже всё хорошо.
Из интересного, применяют к биологической задаче из геномики. Там тоже сначала предобучают на MLM задаче по человеческому референсному геному (GRCh37), причём делают хитрость, чтобы контекст можно было сделать ещё пошире -- работают не на уровне букв-нуклеотидов, а проходятся Sentencpiece токенизатором и получают словарь в 32К токенов со средней длиной в 8.78 букв. И затем файнтюнят на задачи предсказания промоторов и профиля хроматина. Тоже получается хорошо.
Код, кажется, пока ещё не выложен, в huggingface тоже модели ещё нет (https://github.com/huggingface/transformers/issues/6113).
BY gonzo-обзоры ML статей
Share with your friend now:
group-telegram.com/gonzo_ML/381