gonzo-обзоры ML статей
24.4K subscribers
3.03K photos
3 videos
3 files
1.49K links
Авторы:
Гриша Сапунов, ранее руководитель разработки Яндекс-Новостей, ныне CTO Intento. Области интересов: AI/ML/DL, биоинформатика.
Лёша Тихонов, ранее аналитик в Яндексе, автор Автопоэта, Нейронной Обороны... Области интересов: discrete domain, NLP, RL.
Download Telegram
Интересно, что на TruthfulQA Gopher первый, кто улучшает результат от увеличения размера модели. GPT-2, 3, J и T5 наоборот деградируют. И вообще модель с 280B первая, кто существенно превосходит случайное угадывание.

В работе большая секция про токсичность и bias’ы. В целом токсичность сгенерированного текста хорошо коррелирует с токсичностью промпта, который в неё подали, и большие модели реагируют сильнее. Но при отсутствии токсичности на входе, она низка и на выходе и не увеличивается с ростом модели.

Bias’ы ожидаемо присутствуют, рост модели их не устраняет. Из интересного, качество модели на малопредставленных в датасете диалектах (African American) хуже на всех размерах модели.

Также модель попробовали в диалоге. Хоть она на такие задачи и не обучалась, есть примеры прям хорошие. Но и плохие она тоже умеет генерить.

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

Попробовали разные варианты файнтюнинга: полный, верхние 40% слоёв или только смещения. Для заданного вычислительного бюджета файнтюнинг полной модели работает лучше.

Попробовали дистилляцию, для начала классическую, предсказывающую выходы модели и из большой модели в меньшую. Модель-студент получалась лучше, чем если её обучать с нуля, но всё равно далеко до оригинальной более тяжёлой модели. Также пробовали добавлять в дистилляцию внимание, было чуть получше, но возни очень много, процедуру сильно усложняло.

Сделали прунинг, классический на основе магнитуды весов, но особого профита не получили. Также попробовали динамическое разреженное обучение RigL (https://t.me/gonzo_ML/204), также получили минимальный профит.

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

Неплохо сработало то, что авторы называют warm starting, когда начинают с маленькой модели, а потом её расширяют, каким-то образом заполняя новые веса — лучше всего сработала процедура, когда с увеличением глубины слои реплицируют, а с увеличением ширины делают tiling (больше деталей в приложении G.3.3). Это сработало лучше, чем новая инициализация, с сохранением распределения или же очень малыми значениями для сохранения поведения модели.

Это вот интересный блок подходов, здесь ещё явно поле непаханное.

Отдельная работа (https://deepmind.com/research/publications/2021/improving-language-models-by-retrieving-from-trillions-of-tokens) посвящена другому интересному ответвлению — специальному варианту языковой модели под названием Retro (Retrieval-Enhanced Transformer), которая умеет делать conditioning на куски текста, поднятые из обучающего датасета по похожести на входную последовательность.

Короче, результат интересный, но для нас, простых смертных, до кого эта модель скорее всего ни в каком виде не долетит, ограниченно полезный. Из Gopher’а foundation model не получится, останется в закромах. Хотя всё про масштабы скейлинга всё равно ценно.
👍1
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. При обучении задачи выбираются пропорционально размерам индивидуальных датасетов с отсечкой сверху, чтобы слишком тяжёлые датасеты не доминировали.
Авторы поэкспериментировали, какой перенос наблюдается внутри и между семействами. Делалось это через 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. Ждём с нетерпением. Надеюсь, опубликуют.