tgoop.com/quant_prune_distill/128
Last Update:
Monarch Mixer: A Simple Sub-Quadratic GEMM-Based Architecture
[Статья][Код есть, но непричесан]
Введение
Линейные слои и свертки имеют в общем случае квадратичную сложность по числу каналов в сети. Аналогично, операции, обрабатывающие глобальный контекст - Attention, свертки с большим ядром, пространственные проекции в MLP-миксерах квадратичны по длине последовательности / пространственной размерности.
Для специальных классов матриц / преобразований можно добиться субквадратичной сложности - разреженных, блочно-диагональных или обладающих определенной структурой. И в качестве иллюстративного примера уместно привести быстрое преобразование Фурье, имеющее сложность O(N log N)
.
Однако, логично ожидать, что специальные классы матриц будут обладать меньшей выразительностью по сравнению с линейными преобразованиями общего вида, потому хочется найти такой класс - который бы с одной стороны давал существенную экономию по вычислениям, и в то же время не терял в качестве.
И в этой работе, авторы предлагают заменить трансформерные блоки на поканальные и пространственные проекции, параметризованные матрицами Monarch.
Метод
Матрицы Monarch впервые появились в работе. Идея довольно простая - каждая матрица параметризуется последовательностью блочно-диагональных матриц, между которыми вставлены матрицы перестановок. Перестановочные матрицы эффективно обеспечивают dilation между размерностями матрицы. Вообще говоря, можно рассматривать последовательность нескольких dilation вида 1, N^{1/p}, … N^{p-1/p} ,
но в данной для простоты работают с p = 2. Количество параметров в такой матрице и сложность вычислений пропорциональна O(N^{3/2})
.
В исходной статье про Monarch замена стандартных линейных слоев на Monarch в трансформерах сработала весьма недурно.
А в этой статье пошли дальше и используют монархов для обработки последовательности.
M2-миксер состоит из Sequence Mixer, содержащего длинные свертки и gating, и Dimension Mixer - обычная MLP с монархами в качестве линейных слоев.
BY КПД
Share with your friend now:
tgoop.com/quant_prune_distill/128