Size: a a a

gonzo-обзоры ML статей

2021 December 09
gonzo-обзоры ML статей
источник
2021 December 14
gonzo-обзоры ML статей
ExT5: Towards Extreme Multi-Task Scaling for Transfer Learning
Vamsi Aribandi, Yi Tay, Tal Schuster, Jinfeng Rao, Huaixiu Steven Zheng, Sanket Vaibhav Mehta, Honglei Zhuang, Vinh Q. Tran, Dara Bahri, Jianmo Ni, Jai Gupta, Kai Hui, Sebastian Ruder, Donald Metzler
Статья: https://arxiv.org/abs/2111.10952
Код: https://github.com/google-research/text-to-text-transfer-transformer
Модель: вроде как нет

В семействе трансформеров T5 пополнение. Уже были базовый T5 (и улучшенный T5.1.1, https://github.com/google-research/text-to-text-transfer-transformer/blob/main/released_checkpoints.md#t511), мультиязычный mT5 (https://t.me/gonzo_ML/442), байтовый byT5 (https://arxiv.org/abs/2105.13626), а теперь вот мультизадачный ExT5. Следующим должен стать мультиязычный мультизадачный, а там и до байтового мультизадачного мультиязычного недалеко.

Семейство T5 в целом как-то недооценено. И вообще почему-то полные encoder-decoder трансформеры недооценены, что T5, что семейство BART (https://t.me/gonzo_ML/153). Топ применений, кажется, собрали половинки трансформеров, или энкодеры (семейство BERT), или декодеры (семейство GPT, https://t.me/gonzo_ML/305). Хотя полные трансформеры в принципе более богаты, так как декодер полного трансформера имеет возможность “смотреть” на эмбеддинги энкодера через encoder-decoder self-attention (а в чистом декодере типа GPT этот блок выпилен), а это как бы увеличивает эффективный attention span и в трансформер можно загнать больше данных. И кроме того полная архитектура позволяет комбинировать разные энкодеры и декодеры, в том числе и архитектурно различные, если надо.

Мультизадачное обучение — это очень прикольная область. Из предыдущих экспериментов мы неоднократно слышали, что с одной стороны дополнительные задачи помогают улучшить качество решения имеющихся задач, причём, положительный эффект дают порой совершенно не связанные друг с другом задачи, как было, например, в любопытной работе “One Model To Learn Them All” (https://arxiv.org/abs/1706.05137, кстати, её авторами являются авторы исходной работы про трансформеры, появившейся одновременно с этой, но трансформеры эту работу затмили). В этой работе задаче парсинга, например, неожиданно помогали задача классификации картинок ImageNet, а также (более ожидаемо) задачи машинного перевода и описания картинок. С другой стороны не редкость и случай негативного трансфера, когда одни задачи мешают другим.

В текущей работе авторы заходят со стороны ещё большего мультитаскинга, чем обычно. Для этого они собрали датасет ExMix (Extreme Mixture), включающий 107 различных supervised NLP задач и 18М примеров суммарно. Это примерно в два раза больше, чем в предыдущем самом большом исследовании. Авторы считают, что несмотря на возможный негативный трансфер, большой и разнообразный датасет лучше, чем дорогой процесс курирования датасета и поиска лучшей комбинации задач.

Напомним, что для T5 все задачи (что перевод, что классификация, что регрессия) формулируются в виде seq2seq задач трансформации одной последовательности в другую с обычным кросс-энтропийным лоссом. Это позволяет избавиться от специализированных голов и лоссов под разные задачи, а также прочих ухищрений.

Задачи ExMix грубо делятся на следующие семейства: классификация одиночного сегмента, natural language inference по двум сегментам, reading comprehension, closed-book QA, commonsense reasoning, semantic parsing, dialogue, summarization, но также есть ещё по мелочи и другие типы задач, перенос стиля, например.

Собственно ExT5 предобучается на миксе из supervised задач ExMix и self-supervised задачи span denoising на датасете C4. При обучении задачи выбираются пропорционально размерам индивидуальных датасетов с отсечкой сверху, чтобы слишком тяжёлые датасеты не доминировали.
источник
gonzo-обзоры ML статей
Авторы поэкспериментировали, какой перенос наблюдается внутри и между семействами. Делалось это через cotraining, когда модель обучалась на миксе задач двух типов и сравнивалась с независимо обученными на каждом из типов моделями. Есть и позитивный и негативный перенос, например, задачи суммаризации отрицательно влияют на многие другие семейства.

Далее отобрали микс из 48 задач по среднему относительному улучшению других задач при совместном обучении, но оказалось, что случайный микс 55 задач даёт большее улучшение, а включение всех задач вообще ещё лучше.

Также проверяли, что лучше работает, предобучение (pre-training, всё замешали и предобучили модель, чтобы дальше файнтюнить на другие задачи) или преднастройка (pre-finetuning, промежуточный отдельный шаг обучения, между обычным предобучением и последующим файнтюнингом на задачу). Мультизадачное предобучение на всём оказалось лучше.

Оптимальным сочетанием задач из C4 и ExMix оказалось две задачи из C4 на одну задачу из ExMix.

Также на больших батчах большее количество задач в предобучении приносит бОльшую пользу.

Ещё из интересного оказалось, что предобучение на ExMix более sample-efficient относительно стандартного предобучения.

Собственно на обнаруженных лучших параметрах и обучили модель ExT5 и сравнили её с T5.1.1. Далее полученные модели файнтюнили на задачи SuperGLUE, GEM, Rainbow, MsMarco, CBQA.

ExT5 стабильно обходит аналогичные по размеру бейзлайны на T5.1.1. В том числе и на задачах за пределами встречавшихся в ExMix, например, на машинном переводе, ответах на вопросы на ARC, и на задаче NER.

В общем мы получили/подтвердили иной вариант скейлинга модели — по числу задач предобучения. Это ещё одна ось в дополнение к размеру модели, датасету, вычислительному бюджету или числу экспертов в случае MoE. Интересно и полезно.

Обещают мультиязычную модель ExT5. Ждём с нетерпением. Надеюсь, опубликуют.
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
2021 December 19
gonzo-обзоры ML статей
MLP-Mixer: An all-MLP Architecture for Vision
Ilya Tolstikhin, Neil Houlsby, Alexander Kolesnikov, Lucas Beyer, Xiaohua Zhai, Thomas Unterthiner, Jessica Yung, Andreas Steiner, Daniel Keysers, Jakob Uszkoreit, Mario Lucic, Alexey Dosovitskiy
Статья: https://arxiv.org/abs/2105.01601  
Код: https://github.com/google-research/vision_transformer  
Модели: https://github.com/google-research/vision_transformer#available-mixer-models

Что мы всё про трансформеры, да про трансформеры. За пределами трансформеров тоже много жизни и она не менее интересная. И сами любители трансформеров тоже так считают. Вот, например, вышедшая в мае 2021 года работа от авторов ViT (https://t.me/gonzo_ML/434), где они собрали модель на основе полносвязных сетей (или MLP, multi-layer perceptron) и показали, что полносвязные сети неожиданно тоже могут давать очень высокое качество на изображениях. Модель назвали MLP-Mixer.

Всё это движение, от CNN к ViT и теперь к MLP — это движение ко всё большему устранению inductive biases из модели и переход к выучиванию нужных biases из данных. В каком-то смысле это продолжает движение от классического ML к DL, когда мы отказались от предрассчитанных фич и стали выучивать их из данных. Но отказались мы тогда не полностью, потому что, например, в картинках, где оно и выстрелило первоначально, мы заложились на встроенные в архитектуру решения, те самые inductive biases, которые в случае свёрточных сетей (CNN) были про локальность фич и некоторую  инвариантность к перемещению. Trade-off здесь везде понятен -- для выучивания чего-то из данных, нужно больше данных, поэтому переход к новым моделям с меньшим числом (или с менее специфичными) biases требует больше данных для достижения того же качества. Что мы и наблюдали в случае ViT — он начинал круто работать на датасетах, существенно больше ImageNet’а. В случае MLP-Mixer этот тренд логично продолжается.

Разберём, что у неё внутри.

Как и ViT, модель принимает на вход последовательность патчей изображения, те же самые неперекрывающиеся кусочки, скажем 16x16 пикселей, они же токены, которые на входе в модель линейно преобразуются в эмбеддинги фиксированного размера (C). К каждому токену применяется одна и та же матрица преобразований и далее весь вход может быть представлен как матрица размером патчи*каналы (S*C), и эта размерность сохраняется внутри модели.

Далее модель состоит из одинаковых блоков (Mixer layer), которые сначала применяют token-mixing MLP, а потом channel-mixing MLP. Первый работает на столбцах матрицы (и как бы перемешивает все токены в пределах одного канала), а второй на строках (и перемешивает каналы в пределах токена, то есть позиции). Матрицы общие, в первом случае на столбцы, а во втором на строки.

На выходе модели global average pooling и обычная классификационная полносвязная голова.

Каждый из этих MLP состоит в свою очередь из двух полносвязных слоёв, между которыми стоит нелинейность GELU. Скрытые размерности внутри этих MLP (D_s и D_c соответственно) задаются независимо (в работе D_c это 4xC, а D_s это C/2), и ничего из этого не зависит от размера последовательности, то есть сложность модели линейная относительно входа, что было не так для ViT с его квадратичной сложностью.

Также в модели есть skip-connections и используется LayerNorm. Никаких позиционных эмбеддингов как в ViT нету, так как token-mixing MLP и так чувствителен к порядку входных элементов.

Модель также как и ViT написана на JAX/Flax, и выложена в том же репозитории.

В экспериментах обучили семейство моделей с аналогичным ViT именованием. Например, модель B/16 — это модель Base (12 слоёв) с размером патча 16x16 пикселей. Самая тяжёлая модель — H/14 в 431M параметров.

Модели предобучали на датасетах разного размера (ILSVRC2021 ImageNet, ImageNet-21k, а также на проприетарном JFT-300M) в разрешении 224^2 с различными аугментациями и регуляризациями (RandAugment, mixup, dropout, stochastic depth). Затем модели файнтюнили на задачи классификации (ImageNet оригинальный и чищенный ReaL, CIFAR-10/100, Oxford-IIIT Pets, Oxford Flowers-102, VTAB-1k).
источник
gonzo-обзоры ML статей
Меряли качество классификации, пропускную способность (картинок в секунду) и общее время обучения на TPUv3.

В результате получили очень высокий перформанс. Чуть хуже SoTA, но всё равно весьма сильно, что было неожиданно для MLP. Модель хорошо оверфитится, поэтому регуляризация очень важна.

По скорости Mixer-H/14 в 2.5 раза быстрее ViT-H/14 и почти в два раза быстрее BiT-R152x4.

В целом по качеству MLP-Mixer сидит на Парето фронте и он чуть хуже ViT/BiT на малых размерах датасетов и малом вычислительном бюджете, но выходит вперёд на больших числах. Снова The Bitter Lesson.

Модель проверяют на перестановках пикселей, глобальной (по всему изображению, общая перестановка для всех изображений) и патчи+пиксели внутри патча (снова общая для всех). Ожидаемо, на патчи+пиксели Mixer вообще не деградирует, но что интересно, при глобальной перестановке Mixer деградирует меньше (на 45%), чем ResNet (75%).

Авторы визуализировали фичи, среди них есть как глобальные на всё изображение, так и вполне локальные, в том числе одни фичи в разных фазах.

Интересно, что буквально в то же время (через 1-3 дня) на arxiv запостили ещё несколько очень близких работ, например “Beyond Self-attention: External Attention using Two Linear Layers for Visual Tasks” от Tsinghua University (https://arxiv.org/abs/2105.02358), “Do You Even Need Attention? A Stack of Feed-Forward Layers Does Surprisingly Well on ImageNet” из Оксфорда (https://arxiv.org/abs/2105.02723) и “ResMLP: Feedforward networks for image classification with data-efficient training” из FB/Сорбонны/INRIA (https://arxiv.org/abs/2105.03404). Другая китайская работа конца мая 2021 “Can Attention Enable MLPs To Catch Up With CNNs?” (https://arxiv.org/abs/2105.15078) кратко анализирует эти разные решения.

Оксфордская работа практически такая же, только порядок слоёв обратный, сначала фичи, потом патчи. В ResMLP в первом блоке про token-mixing один слой вместо двух и везде афинные преобразования вместо LayerNorm. В китайской работе self-attention вроде как заменяется на external attention, реализуемый через простые линейные слои.

Такие вот дела. Не совсем понимаю, откуда такая точная синхронизация разных работ по времени.
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник
gonzo-обзоры ML статей
источник