Pull to refresh
24
0
Денис Кузнеделев @19blackadder97

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

Send message

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

Level of difficultyMedium
Reading time14 min
Views6.8K

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

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

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

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

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

Поехали!
Total votes 17: ↑17 and ↓0+17
Comments3

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

Reading time11 min
Views2K

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

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

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

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

Поехали!
Total votes 5: ↑5 and ↓0+5
Comments0

Flash attention is all you need

Reading time5 min
Views9.4K

Всем привет. 

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

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

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

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

Читать далее
Total votes 6: ↑5 and ↓1+6
Comments1

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

Reading time15 min
Views14K

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

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

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

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

Читать далее
Total votes 22: ↑22 and ↓0+22
Comments22

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

Reading time15 min
Views14K

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

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

Поехали!

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments10

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity