Искусственный интеллект

EfficientViT: Память-Эффективный Видение-Трансформер для Высокоразрешающей Компьютерной Видения

mm

Благодаря своей высокой моделированию способности, модели Видение-Трансформер наслаждались большим успехом в последнее время. Несмотря на их производительность, модели Видение-Трансформер имеют один большой недостаток: их замечательная вычислительная мощность достигается за счет высоких вычислительных затрат, и это причина, по которой Видение-Трансформер не является первым выбором для реальных приложений. Чтобы решить эту проблему, группа разработчиков запустила EfficientViT, семейство высокоскоростных Видение-Трансформер.

Когда работали над EfficientViT, разработчики наблюдали, что скорость текущих моделей Трансформер часто ограничивается неэффективными операциями с памятью, особенно элементными функциями и тензорными перестановками в сети Само-Внимания. Чтобы решить эти неэффективные операции с памятью, разработчики EfficientViT работали над новым строительным блоком, используя композицию макета, т.е. модель EfficientViT использует один слой Само-Внимания между эффективными слоями Сети Подачи, что помогает улучшить эффективность памяти и также повышает общую коммуникацию между каналами. Кроме того, модель обнаруживает, что карты внимания часто имеют высокое сходство между головами, что приводит к вычислительному избытку. Чтобы решить проблему избытка, модель EfficientViT представляет каскадный модуль внимания, который подает головы внимания с разными разделами полной функции. Метод не только помогает сэкономить вычислительные затраты, но также повышает разнообразие внимания модели.

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

Введение в Видение-Трансформер и EfficientViT

Модели Видение-Трансформер остаются одной из самых популярных рамок в индустрии компьютерного зрения, поскольку они предлагают превосходную производительность и высокие вычислительные возможности. Однако с постоянно улучшением точности и производительности моделей Видение-Трансформер, операционные затраты и вычислительные накладные расходы также увеличиваются. Например, текущие модели, известные своей высшей производительностью на наборах данных ImageNet, такие как SwinV2 и V-MoE, используют 3B и 14,7B параметров соответственно. Огромный размер этих моделей, в сочетании с вычислительными затратами и требованиями, делает их практически непригодными для реальных устройств и приложений.

Модель EfficientNet направлена на изучение того, как повысить производительность моделей Видение-Трансформер и найти принципы, лежащие в основе проектирования эффективных и эффективных рамок на основе Трансформер. Модель EfficientViT основана на существующих рамках Видение-Трансформер, таких как Swim и DeiT, и анализирует три основных фактора, влияющих на скорость моделей, включая вычислительное избыток, доступ к памяти и использование параметров. Кроме того, модель наблюдает, что скорость моделей Видение-Трансформер ограничена памятью, что означает, что полное использование вычислительной мощности в CPU/GPU ограничено задержкой доступа к памяти, что отрицательно влияет на скорость выполнения Трансформер. Элементные функции и тензорные перестановки в сети Само-Внимания являются наиболее неэффективными операциями с памятью. Модель также наблюдает некоторое избыток в картах внимания в результате тенденции голов внимания к обучению подобным линейным проекциям.

Модель является окончательным результатом исследований, проведенных для модели EfficientViT. Модель имеет новый блок с композицией макета, который применяет один слой Само-Внимания между слоями Сети Подачи. Этот подход не только уменьшает время, необходимое для выполнения операций с памятью в Само-Внимании, но также делает весь процесс более эффективным с памятью, позволяя более эффективно коммуницировать между различными каналами. Модель также использует новый модуль каскадного внимания, который направлен на то, чтобы сделать вычисления более эффективными, уменьшая вычислительное избыток не только в головах внимания, но и увеличивая глубину сети, что приводит к повышению емкости модели. Наконец, модель расширяет ширину канала основных компонентов сети, включая проекции значений, а также сужает ширину канала компонентов с низкой ценностью, таких как скрытые размерности в слоях Сети Подачи, чтобы перераспределить параметры в рамке.

Как можно увидеть на изображении выше, рамка EfficientViT работает лучше, чем текущие модели CNN и ViT, как по точности, так и по скорости. Но как рамка EfficientViT смогла превзойти некоторые из текущих моделей? Давайте узнаем об этом.

EfficientViT: Улучшение Эффективности Видение-Трансформер

Модель EfficientViT направлена на улучшение эффективности существующих моделей Видение-Трансформер с помощью трех перспектив,

  1. Вычислительное избыток.
  2. Доступ к памяти.
  3. Использование параметров.

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

Доступ к Памяти и Эффективность

Одним из основных факторов, влияющих на скорость модели, является задержка доступа к памяти или MAO. Как можно увидеть на изображении ниже, несколько операторов в Трансформер, включая элементные функции и тензорные перестановки, являются неэффективными операциями с памятью, поскольку они требуют доступа к различным единицам памяти, что является длительным процессом.

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

С другой стороны, рамка EfficientViT направлена на снижение затрат на доступ к памяти, уменьшая количество неэффективных слоев в рамке. Модель масштабирует рамку DeiT-T и Swin-T до небольших под сетей с более высокой скоростью проникновения 1,25X и 1,5X и сравнивает производительность этих под сетей с пропорциями слоев Само-Внимания. Как можно увидеть на изображении ниже, когда реализуется, этот подход повышает точность слоев Само-Внимания на 20-40%.

Вычислительная Эффективность

Слои Само-Внимания имеют тенденцию внедрять входную последовательность в несколько подпространств или голов, и вычисляют карты внимания индивидуально, подход, известный как повышающий производительность. Однако карты внимания не являются вычислительными дешевыми, и чтобы изучить вычислительные затраты, модель EfficientViT исследует, как уменьшить избыток внимания в меньших моделях ViT. Модель измеряет максимальное косинусное сходство каждой головы и остальных голов в каждом блоке, обучая ширину масштабированной модели DeiT-T и Swim-T с 1,25-кратным ускорением вывода. Как можно наблюдать на изображении ниже, существует высокое количество сходства между головами внимания, что говорит о том, что модель несет вычислительное избыток, поскольку многие головы имеют тенденцию к обучению подобным проекциям полной функции.

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

Параметрическая Эффективность

Средние модели ViT наследуют свои стратегии проектирования, такие как использование эквивалентной ширины для проекций, установка коэффициента расширения до 4 в Сети Подачи и увеличение голов по стадиям из NLP-Трансформер. Конфигурации этих компонентов необходимо тщательно спроектировать для легких модулей. Модель EfficientViT развертывает структурированную обрезку Тейлора, чтобы найти основные компоненты в слоях Swim-T и DeiT-T автоматически и исследует лежащие в основе принципы распределения параметров. Под определенным ограничением ресурсов методы обрезки удаляют незначительные каналы и сохраняют критические, чтобы обеспечить наивысшую возможную точность. Изображение ниже сравнивает соотношение каналов к входным вложениям до и после обрезки на рамке Swin-T. Было обнаружено, что: базовая точность: 79,1%; обрезанная точность: 76,5%.

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

Эффективный Видение-Трансформер: Архитектура

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

Строительные Блоки Рамки EfficientViT

Строительный блок для более эффективной сети Видение-Трансформер показан на изображении ниже.

Рамка состоит из каскадного модуля внимания, эффективной композиции макета и стратегии перераспределения параметров, которые направлены на улучшение эффективности модели в отношении вычислений, памяти и параметров. Давайте поговорим об этом более подробно.

Композиция Макета

Модель использует новую композицию макета, чтобы построить более эффективный и эффективный блок памяти для рамки. Композиция макета использует меньше слоев Само-Внимания, ограниченных памятью, и использует более эффективные слои Сети Подачи для коммуникации между каналами. Чтобы быть более конкретным, модель применяет один слой Само-Внимания для пространственного смешивания, который находится между слоями Сети Подачи. Дизайн не только помогает уменьшить время, необходимое для выполнения операций с памятью из-за слоев Само-Внимания, но также позволяет эффективно коммуницировать между различными каналами в сети благодаря использованию слоев Сети Подачи. Модель также применяет дополнительный слой взаимодействия токена перед каждым слоем Сети Подачи, используя DWConv или обманчивую свертку, и повышает емкость модели, вводя индуктивную предвзятость локальной структурной информации.

Каскадное Внимание

Одной из основных проблем с слоями Само-Внимания является избыток в головах внимания, который делает вычисления менее эффективными. Чтобы решить эту проблему, модель предлагает каскадное внимание для Видение-Трансформер, новый модуль внимания, который черпает вдохновение из групповой свертки в эффективных CNN. В этом подходе модель подает индивидуальные головы с разделами полной функции, и таким образом явно разлагает вычисления внимания по головам. Разделение функций вместо подачи полной функции каждой голове экономит вычисления и делает процесс более эффективным, и модель продолжает работать над улучшением точности и емкости, поощряя слои к обучению проекциям на функциях с более богатой информацией.

Перераспределение Параметров

Чтобы улучшить эффективность параметров, модель перераспределяет параметры в сети, расширяя ширину канала критических модулей, а также сужая ширину канала модулей с низкой ценностью. На основе анализа Тейлора модель либо устанавливает небольшие размерности каналов для проекций в каждой голове на каждой стадии, либо позволяет проекциям иметь ту же размерность, что и вход. Коэффициент расширения слоя Сети Подачи также уменьшается до 2 от 4, чтобы помочь с его параметрическим избытком. Предлагаемая стратегия перераспределения, реализованная в рамке EfficientViT, выделяет больше каналов важным модулям, чтобы они могли учиться представлениям в высокоразмерном пространстве лучше, что минимизирует потерю информации о функциях. Кроме того, чтобы ускорить процесс проникновения и повысить эффективность модели еще больше, модель автоматически удаляет избыточные параметры в незначительных модулях.

Обзор рамки EfficientViT можно объяснить на изображении выше, где части,

  1. Архитектура EfficientViT,
  2. Блок композиции макета,
  3. Каскадное внимание.

 

EfficientViT: Архитектуры Сети

Изображение выше суммирует архитектуру рамки EfficientViT. Модель вводит перекрывающееся вложение патчей [20,80], которое внедряет патчи 16×16 в токены размера C1, что повышает способность модели к лучшему обучению представлений низкого уровня. Архитектура модели состоит из трех стадий, каждая из которых складывает предложенные строительные блоки рамки EfficientViT, и количество токенов на каждой подсэмплирующей слое (2-кратное подсэмплирование разрешения) уменьшается в 4 раза. Чтобы сделать подсэмплирование более эффективным, модель предлагает блок подсэмплирования, который также имеет предложенную композицию макета, за исключением того, что инвертированный остаточный блок заменяет слой внимания, чтобы уменьшить потерю информации во время выборки. Кроме того, вместо традиционной LayerNorm (LN) модель использует BatchNorm (BN), поскольку BN может быть сложен в предыдущий линейный или сверточный слой, что дает ему преимущество в runtime над LN.

 

Семейство Моделей EfficientViT

Семейство моделей EfficientViT состоит из 6 моделей с разными глубинами и ширинами масштабирования, и для каждой стадии выделено определенное количество голов. Модели используют меньше блоков на начальных стадиях по сравнению с последними стадиями, процесс, подобный тому, который используется в рамке MobileNetV3, поскольку процесс ранней стадии обработки с более крупными разрешениями является длительным. Ширина увеличивается по стадиям с небольшим коэффициентом, чтобы уменьшить избыток в последних стадиях. Таблица, прикрепленная ниже, предоставляет архитектурные детали семейства моделей EfficientViT, где C, L и H обозначают ширину, глубину и количество голов на определенной стадии.

EfficientViT: Реализация Модели и Результаты

Модель EfficientViT имеет общий размер партии 2048, построена с помощью Timm и PyTorch, обучена с нуля в течение 300 эпох с использованием 8 Nvidia V100 GPU, использует планировщик скорости обучения косинуса, оптимизатор AdamW и проводит эксперимент по классификации изображений на наборе данных ImageNet-1K. Входные изображения случайным образом обрезаются и изменяются до разрешения 224×224. Для экспериментов, включающих классификацию изображений, модель EfficientViT дообучает модель в течение 300 эпох и использует оптимизатор AdamW с размером партии 256. Модель использует RetineNet для обнаружения объектов на наборе данных COCO и продолжает обучать модели в течение дополнительных 12 эпох с теми же настройками.

Результаты на ImageNet

Чтобы проанализировать производительность EfficientViT, ее сравнивают с текущими моделями ViT и CNN на наборе данных ImageNet. Результаты сравнения представлены на следующем изображении. Как можно увидеть, семейство моделей EfficientViT превосходит текущие рамки в большинстве случаев и достигает идеального баланса между скоростью и точностью.

Сравнение с Эффективными CNN и Эффективными ViT

Модель сначала сравнивает свою производительность с эффективными CNN, такими как EfficientNet, и традиционными CNN, такими как MobileNets. Как можно увидеть, когда сравнивается с рамками MobileNet, модели EfficientViT получают лучший балл точности, одновременно работая в 3,0 раза и 2,5 раза быстрее на процессоре Intel и GPU V100 соответственно.

Изображение выше сравнивает производительность модели EfficientViT с крупномасштабными моделями ViT, работающими на наборе данных ImageNet-1K.

Классификация Изображений

Модель EfficientViT применяется к различным задачам, чтобы изучить способности модели к передаче обучения, и изображение ниже суммирует результаты эксперимента. Как можно наблюдать, модель EfficientViT-M5 достигает лучших или подобных результатов на всех наборах данных, сохраняя при этом более высокую скорость. Единственное исключение – набор данных Cars, где модель EfficientViT не может достичь точности.

Обнаружение Объектов

Чтобы проанализировать способность модели EfficientViT к обнаружению объектов, ее сравнивают с эффективными моделями на задаче обнаружения объектов на наборе данных COCO, и изображение ниже суммирует результаты сравнения.

Окончательные Мысли

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

"Инженер по профессии, писатель по сердцу". Кунал - технический писатель с глубокой любовью и пониманием ИИ и МО, посвященный упрощению сложных концепций в этих областях посредством своей увлекательной и информативной документации.