Как стать автором
Обновить
24
0
Денис Кузнеделев @19blackadder97

Сжимаю нейросети я ради забавы

Отправить сообщение

О «Гипотезе Лотерейного Билета»

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров6.8K

Глубокие нейронные сети добились ошеломительного успеха во множестве областей и применений благодаря способности улавливать самые сложные и нетривиальные закономерности в данных. Однако, выдающиеся способности современных моделей сопровождаются существенными вычислительными затратами, что усложняет и ограничивает их применимость в прикладных задачах, поэтому огромное количества труда и усилий было потрачено на разработку разнообразных методов по сжатию сетей без значительной просадки в качестве - прунинга (структурированному и неструктурированному), квантизации, матричных и тензорных разложений, knowledge distillation и многих других. Тема сегодняшнего разговора будет наиболее близка по смыслу к неструктурированному прунингу - определению весов, которые можно выбросить из модели с минимальными негативными последствиями.

Может возникнуть вопрос - если существует избыточность в количестве параметров, то почему бы просто не взять модель поменьше?

Но разреженная сеть может обладать значительно меньшим числом параметров, чем исходная плотная, и тем не менее не сильно проигрывать ей в качестве. Значит, в сети существует некоторая подсеть, которая способна воспроизвести целевую зависимость. Возможно ли, хотя бы гипотетически, обнаружить данную подсеть и обучить разреженную модель за тоже число шагов до сопоставимого качества? Как будто если бы некий высший разум мог подсветить неоновым свечением веса в этой подсети. Или получение эффективной разреженной сети возможно только из обученной плотной модели?

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

Ответы на обозначенные выше вопросы дает серия работ, посвященных Гипотезе Лотерейнего Билета (The Lottery Ticket Hypothesis / LTH) .

Поехали!
Всего голосов 17: ↑17 и ↓0+17
Комментарии3

Token Pruning или «Первое слово съела корова»

Время на прочтение11 мин
Количество просмотров2K

Начнем повествование с приевшейся, шаблонной, клишированной фразы, мотивирующей сжатие нейронных сетей:

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

Поэтому по мере бурного прогресса и развития новых архитектур параллельно идет активная разработка разнообразных подходов по сжатию и повышению эффективности нейронных сетей.

И cегодня я бы хотел рассказать об одном методе, специфичном для популярной нынче архитектуры Transformer.

Поехали!
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

Flash attention is all you need

Время на прочтение5 мин
Количество просмотров9.4K

Всем привет. 

Характерной тенденцией последних нескольких лет в глубоком обучении является проникновение трансформера в различные сферы деятельности, где только можно и нельзя (но если очень хочется, то можно) применить нейронные сети. Универсальность архитектуры позволяет работать с самыми разнообразными данными, предварительно превращая их в последовательность токенов, будь то текст, картинки, аудио, видео или даже состояние среды.

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

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

И на днях вышла работа Flash Attention, где был предложен способ существенно ускорить вычисление attention на GPU, причем никак не меняя конечный результат. То есть делается то же самое, что и раньше, но по-другому.

Читать далее
Всего голосов 6: ↑5 и ↓1+6
Комментарии1

ViT — на кухне фаворит

Время на прочтение15 мин
Количество просмотров14K

Прошедший 2021-й год ознаменовался настоящей революцией в области компьютерного зрения.

Трансформеры, подобно новым штамма Ковида, вытеснившие конкурентов в области обработки естественного языка (NLP) и задачах, связанных с обработкой звука, добрались и до компьютерного зрения.

Сверточные сети, чье место на Олимпе в различных бенчмарках компьютерного зрения и первые места в топах на PapersWithCode казались незыблемы (в том смысле, что против лома нет приема, если нет другого лома) были сброшены с них рядом архитектур частично или полностью основанных на механизме внимания.

В данном обзоре я хотел бы рассказать о нескольких самых ярких прорывах и идеях в совершенствовании архитектур и обучении ViT-ов (Visual Transformers).

Читать далее
Всего голосов 22: ↑22 и ↓0+22
Комментарии22

Прунинг нейронных сетей (фитнес бывает полезен не только людям)

Время на прочтение15 мин
Количество просмотров14K

Всем привет! В данном посте я хотел бы рассказать про весьма интересную и важную деятельность в области глубокого обучения как прореживание (прунинг) нейронных сетей. На просторах сети есть неплохие материалы по данной теме, например, статья на Хабре трехлетней давности.

Здесь будет приведен общий обзор основных методик прореживания нейронных сетей, разработанных человечеством в его (почти) безграничной изобретательности, а в последующем я планирую рассмотреть некоторые подходы более подробно. Вообще говоря, идей на самом деле существует гораздо больше, чем будет рассмотрено ниже, здесь я приведу самые популярные подходы в подробностях, пропорциональных пониманию автором конкретного метода.

Поехали!

Читать далее
Всего голосов 16: ↑16 и ↓0+16
Комментарии10

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность