group-telegram.com/gonzo_ML/472
Last Update:
Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity
William Fedus, Barret Zoph, Noam Shazeer
Статья: https://arxiv.org/abs/2101.03961
В начале 2021 года Гугл опубликовал статью Switch Transformers, которая в медиа прошла под вывеской “Гугл обучил трансформер с 1.6T параметров и побил GPT-3 со своими 175B параметров!”.
Это в целом не совсем корректный и полный месседж хотя бы, например, потому, что ещё полгода назад у Гугла уже была модель на 600B параметров в работе про GShard с примерно такой же архитектурой, а также потому, что сравнивать архитектуру стандартного трансформера (как в GPT-3) с архитектурой MoE (лежащей в основе Switch Transformer или GShard) по общему числу параметров не очень корректно.
Работа и направление на самом деле интересные. В чём суть?
Начать стоит издалека.
Архитектура под названием Mixture of Experts (MoE) в нейросетях является одним из направлений в рамках подхода conditional computation, суть которого в том, что граф вычислений определяется входными данными. В целом сам подход MoE достаточно старый, прослеживается как минимум с начала 1990-х годов (http://www.cs.toronto.edu/~fritz/absps/jjnh91.pdf) и применялся с разного рода моделями, далеко не только нейросетевыми.
В нейросетевых MoE обычно есть множество “экспертов” (отдельных слоёв или даже целых сетей), в которые направляет данные на обработку специальный механизм роутинга (gating network). Этот механизм по входным данным генерирует распределение вероятностей “подходящих” экспертов (и по сути является обучаемым полносвязным слоем с софтмаксом), из которых обычно выбирается сколько-то (немного) топовых экспертов, и в них отправляются данные. Выходы экспертов суммируются и направляются затем в последующий слой. Остальные невыбранные эксперты ничего не получают и в этот момент не работают. Такой вариант, реализованный в виде слоя, называется Sparsely-Gated Mixture-of-Experts Layer, здесь разреженность относится именно к выбору экспертов.
В начале 2017 года весьма представительный коллектив авторов (включая Хинтона, Джеффа Дина, а также Noam Shazeer, одного из авторов работ про более поздние Switch Transformer и GShard) опубликовал знаковую работу про этот метод (“Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer”, https://arxiv.org/abs/1701.06538), где авторы применили слой MoE между двумя слоями рекурретной сети для задачи языкового моделирования (в целом та же задача, которую решает GPT), а также для машинного перевода.
Надо сказать, уже в той работе января 2017 года появилась модель на 137B параметров и это было почти за полтора года до первой GPT (хронологию GPT можно посмотреть здесь: https://blog.inten.to/gpt-3-language-models-are-few-shot-learners-a13d1ae8b1f9).
Данная модель содержала 131072 эксперта (эксперт представлял собой простую feed-forward сеть с одним скрытым слоем), из которых активными в каждый момент времени были только 4. То есть из этих 137B параметров (относящихся, правда, не только к экспертам, но зато не относящихся к большим матрицам эмбеддингов, которые из этого подсчёта исключены) в реальности в каждый момент времени работает очень небольшое (на порядки меньшее) число. За счёт огромной разреженности по экспертам, такие модели требуют заметно меньше вычислений, чем dense модели с равным числом параметров.
Так что для более адекватного сравнения с “обычными” трансформерами было бы правильно ввести какую-то другую метрику, что-то типа “количество активных весов” или как-то ещё и сравниваться по ней. У обычных трансформеров, кстати, это число тоже может быть сильно меньше полного числа параметров (но всё же не настолько сильно, как у MoE), если они используют функции активации типа ReLU, в таких сетях часть “нейронов” по факту может быть выключена.
Та модель 2017 года показала прекрасные результаты и побила state-of-the-art на языковом моделировании, а также вела себя весьма достойно на машинном переводе.
BY gonzo-обзоры ML статей
Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260
Share with your friend now:
group-telegram.com/gonzo_ML/472