Sparse-MLP Архитектура полностью MLP с условным вычислением Vision MLP
Оригинальный документ:у-у-у. yuque.com/pulllingheads/papers…
Читать статью из аннотации
Mixture-of-Experts (MoE) with sparse conditional computation has been proved an effective architecture for scaling attention-based models to more parameters with comparable computation cost. In this paper, we propose Sparse-MLP, scaling the recent MLP-Mixer model with sparse MoE layers, to achieve a more computation-efficient architecture.
В этой статье представлена идея MoE и используется условный расчет для реализации повторного расширения параметров, и в то же время он также может гарантировать, что стоимость расчета не слишком высока.
We replace a subset of dense MLP blocks in the MLP-Mixer model with Sparse blocks. In each Sparse block, we apply two stages of MoE layers:
- one with MLP experts mixing information within channels along image patch dimension,
- one with MLP experts mixing information within patches along the channel dimension.
MoE используется для преобразования как для пространственного MLP, так и для канального MLP.
Besides, to reduce computational cost in routing and improve expert capacity, we design Re-represent layers in each Sparse block. These layers are to re-scale image representations by two simple but effective linear transformations.
Здесь вводится структура, которая масштабирует размер объекта, чтобы уменьшить объем вычислений.
When pre-training on ImageNet-1k with MoCo v3 algorithm, our models can outperform dense MLP models by 2.5% on ImageNet Top-1 accuracy with fewer parameters and computational cost. On small-scale downstream image classification tasks, i.e., Cifar10 and Cifar100, our Sparse-MLP can still achieve better performance than baselines.
основное содержание
- Техника MoE введена в модель MLP для замены исходного уровня MLP. Среди них за счет построения нескольких экспертов с разными весами емкость и выразительная способность модели расширяются, а количество фактически используемых экспертов ограничивается механизмом закрытой маршрутизации, то есть так называемым условным вычислением. Чтобы не приносить слишком много вычислительных затрат и потери времени.
- Из-за большой разницы между количеством исходных пространственных токенов и количеством каналов это приведет к несбалансированным вычислительным затратам при маршрутизации и экспертном прямом расчете Сбалансированный (перепроецированный с линейными слоями), что гарантирует более сбалансированный и эффективный процесс расчета .
Смесь экспертов
основная операция
Здесь слева направо содержитсяОперация агрегирования уровней MoE экспертов для сети шлюзов, которая вычисляет веса маршрутизации, обусловленные входными данными (нормализованные веса генерируются с использованием softmax, здесь вводится шумдля изучения лучших стратегий распределения), ислой экспертов.
Похожие работы
- Идея MoE в основном исходит из статьи в ICLR 2017: НЕВЕРОЯТНО БОЛЬШИЕ НЕЙРОННЫЕ СЕТИ: РЕДКИЙ СБОРНЫЙ СМЕШАННЫЙ СЛОЙ ЭКСПЕРТОВ (Noam Shazeer, Azalia Mirhoseini, Krzysztof Maziarz, Andy Davis, Quoc Le, Geoffrey Hinton and Jeff Dean), в котором упоминается, что «The capacity of a neural network to absorb information is limited by its number of parameters. Conditional computation, where parts of the network are active on a per-example basis, has been proposed in theory as a way of dramatically increasing model capacity without a proportional increase in computation.В этом документе эксперты обучаются через обучаемую вентильную сеть, вставляя несколько экспертных структур в середину LSTM.редкая комбинация, тем самым увеличивая мощность модели более чем в 1000 раз с небольшой потерей эффективности. За исключением того, что основная идея аналогична этой статье, стратегия оптимизации структуры MoE в основном такая же.
- Кроме того, у этой работы SparseMLP есть потенциальные общие черты с работой авторов по улучшению ViT, «Иди шире, а не глубже».
Go Wider Instead of Deeper
- Конечно, с точки зрения функции потерь это больше похоже на статью «Масштабирование видения с помощью разреженной смеси экспертов». Форма функции потерьочень похожий.
Подробности этой статьи
В этой статье в основном заменяются последние несколько слоев пространства и канала MLP в Mixer-MLP структурой MoE (включая структуры пространства и канала). Такая настройка помогает ввести больше параметров и улучшить возможности модели.
Обучение мультиэкспертных моделей — дело непростое. Основная причина заключается в том, что не все эксперты могут быть полностью обучены из-за разреженного механизма шлюзованной маршрутизации, который представляет собой так называемую проблему дисбаланса нагрузки. Поэтому большинство методов, использующих мультиэкспертные настройки, требуют специальных потерь для целенаправленной обработки.
Для функции потерь в этом документе продолжают настройку предыдущей работы и применяются потери балансировки нагрузки. Эта потеря способствует равномерному распределению информации между экспертами.
Убыток состоит из двух частей:
- Потеря важности: цель состоит в том, чтобы максимально приблизить важность каждого эксперта в процессе распространения информации, чтобы гарантировать, что каждый эксперт может быть выбран в максимально возможной степени и полностью обучен.
- С этой целью вводится определение значимости экспертов:.
- ВесаПредставляет матрицу весов стробирования слоя MoE, которая преобразует входныеобъемныйсопоставляется с количеством экспертов, каждый образец получается после обработки softmaxВес, присвоенный каждому эксперту. здесь будет сВеса, соответствующие каждому вводу, относящемуся к каждому эксперту, суммируются для получения их ввода для партии.мера важности. Это может отражать относительную роль каждого эксперта в процессе назначения и обработки общего ввода по сравнению с другими экспертами.
- Поэтому, чтобы максимально уравновесить важность каждого эксперта, чтобы каждый мог «выступить» лучше, важность каждого эксперта должна быть максимально сбалансирована. Затем используйте квадрат коэффициента вариации важности (the squared coefficient of variation of the importance distribution over experts) как потеря значимости:.
бумагаScaling Vision with Sparse Mixture of Expertsтаблицы 4
- Потеря нагрузки: Потеря важности направлена на то, чтобы все эксперты имели в среднем одинаковые веса маршрутизации. Но, к сожалению, нетрудно представить себе эти конфигурации маршрутизации, которые, кажется, имеют в целом сбалансированные веса, и все же небольшое количество экспертов получает все назначения (см. таблицу выше, хотя сумма весов экспертов 1~4 равно 2, но в финальном отборе выбираются только эксперты 1 и 3, а 2 не может быть изучен должным образом).
- Для этого здесь вводится определение экспертной нагрузки:.
- , с указанием экспертаСумма вероятностей для каждой выборки, которая будет выбрана (стробированный маршрут больше порога, т. е. в топе k экспертов с максимальными весами) при вводе пакетных данных.
- Эта вероятность не кажется простой в обращении, но авторы ввели здесь нормальное распределение шума, чтобы все можно было вычислить, примерно следующим образом, и, наконец, вычисление вероятности нормально распределенной переменной:
- Потеря нагрузки выражается как квадрат коэффициента вариации распределения нагрузки:.
Таким образом, потери на уровне MoE:. Гиперпараметры здесьИспользуется для управления балансом дополнительных потерь при поощрении маршрутизации между экспертами, а также для обеспечения того, чтобы они не превышали исходные потери модели. На самом деле он установлен на 0,01, как и в предыдущей рабочей настройке. Согласно предыдущей работе, влияние этого параметра на производительность неочевидно.
Помимо настройки самого уровня с несколькими экспертами, учтите, что в исходном MLP-Mixer метод обработки токенов на основе исправлений приводит к тому, что количество пространственных токенов составляет менее 1/3 от количества каналов. Для MOE, то есть уровня MOE на пространственном уровне, это приведет к несбалансированным затратам на вычисления между частью маршрутизации и экспертной частью. Поэтому авторы вводят слой репрезентации для масштабирования пространственных и канальных измерений ввода и вывода MOE. Среди них в основном обрабатывается через специальный линейный слой, псевдокод выглядит следующим образом:
фактическая установка.
Здесь есть два слоя, один для вывода и один для ввода. Они объединены в пару, чтобы сбалансировать работу MOE, заключенных в середине (уменьшить количество каналов и увеличить количество пространственных патчей при расчете MOE).
Результаты экспериментов
We find that scaling MLP models in parameters and training them from scratch with limited training data will lead to an overfitting problem. Such finding is consistent with previous work on MLP models (Tolstikhin et al. 2021) and attention based models (Chen, Xie, and He 2021; Dosovitskiy et al. 2020; Xue et al. 2021).
In order to better obtain model capacity, we adopt MoCo v3 algorithm as our default self-supervised training algorithm (He et al. 2019; Chen et al. 2020b; Chen, Xie, and He 2021), and fine-tune models on downstream image classification tasks.
Все модели контролируются с помощью MoCo V3.
Эксперименты по абляции в статье в основном обсуждают следующие четыре момента:
- Влияние количества экспертов
Здесь мы фиксируем MoEs и MoEc соответственно для проведения эксперимента.Можно видеть, что увеличение MoEs может привести к улучшению производительности. Однако MoEc приведет к уменьшению, которое, по мнению авторов, вызвано переоснащением (о феномене, согласно которому увеличение числа экспертов по характеристикам канала приводит к переоснащению в предыдущей работе авторов).Go Wider Instead of Deeperтакже отражено в).
- Количество экспертов для маршрутизации K
Здесь пробуются разные значения K для разных позиций, и здесь все эксперименты основаны на структуре B. Видно, что для специалистов по каналам необходимо применять больше приложений одновременно, и достаточно одного места.
- Расположение разреженных блоков, т. е. расположение структуры МО.
Для структуры B исходные разреженные блоки были размещены на последних двух этапах, и здесь проводится сравнение Видно, что такую структуру можно разместить в модели для достижения лучших результатов.
- Роль слоя повторной характеристики
Видно, что хотя скорость и улучшается после использования слоя перехарактеризации, производительность не снижается, а улучшается. Это интересное явление. Но разумного объяснения и анализа автор не дал. Достаточно упомянуть его роль в балансировке маршрутизации и вычислительных затрат экспертов. Будет ли такая структура напрямую использоваться в MLP-Mixer для улучшения?
Ссылка на ссылку
- Sparse-MLP: A Fully-MLP Architecture with Conditional Computation: АР Вест V.org/PDF/2109.02…
- OUTRAGEOUSLY LARGE NEURAL NETWORKS: THE SPARSELY-GATED MIXTURE-OF-EXPERTS LAYER: АР Вест V.org/PDF/1701.06…
- Go Wider Instead of Deeper: АР Вест V.org/PDF/2107.11…
- Scaling Vision with Sparse Mixture of Experts: АР Вест V.org/PDF/2106.05…