Моделі та платформи ШІ

EfficientViT: Ефективний трансформер бачення для високороздільної комп’ютерної візії

mm
Додайте Unite.AI до бажаних джерел у Google

Через свою високу ємність моделі, моделі трансформерів бачення мали великий успіх в останні часи. Незважаючи на свою продуктивність, моделі трансформерів бачення мають одну велику ваду: їхня видатна обчислювальна потужність супроводжується високими обчислювальними витратами, і це причина, чому трансформери бачення не є першим вибором для реальних застосунків. Щоб подолати цю проблему, група розробників запустила EfficientViT, сім’ю високошвидкісних трансформерів бачення.

Під час роботи над EfficientViT розробники спостерігали, що швидкість поточних моделей трансформерів часто обмежена неефективними операціями з пам’яттю, особливо елементно-між операціями та перетворення тензорів в мережі самоповного уваги. Щоб подолати ці неефективні операції з пам’яттю, розробники EfficientViT працювали над новим будівельним блоком, використовуючи композиційний макет, тобто модель EfficientViT використовує один пам’ятний самоповний шар між ефективними шарами прямої зв’язку, що допомагає покращити ефективність пам’яті та підвищити загальну комунікацію між каналами. Крім того, модель виявила, що карти уваги часто мають високу схожість між головами, що призводить до обчислювальної надмірності. Щоб подолати проблему надмірності, модель EfficientViT пропонує каскадний модуль уваги, який годує голови уваги різними частинами повної особливості. Метод не тільки допомагає заощаджувати обчислювальні витрати, але також підвищує різноманітність уваги моделі.

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

Введення в трансформери бачення та EfficientViT

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

Модель EfficientNet спрямована на дослідження того, як покращити продуктивність моделей трансформерів бачення та знайти принципи, що лежать в основі проектування ефективних та ефективних трансформерних архітектур. Модель EfficientViT базується на існуючих рамках трансформерів бачення, таких як Swim та DeiT, і аналізує три основні фактори, що впливають на швидкість моделей, включаючи обчислювальну надмірність, доступ до пам’яті та використання параметрів. Крім того, модель спостерігає, що швидкість моделей трансформерів бачення обмежена пам’яттю, тобто повне використання обчислювальної потужності в CPU/GPU обмежене затримкою доступу до пам’яті, що негативно впливає на швидкість виконання трансформерів. Елементно-між операції та перетворення тензорів в мережі самоповного уваги є найбільш неефективними операціями з пам’яттю. Модель також спостерігає деяку надмірність у картах уваги внаслідок схильності голів уваги до вивчення схожих лінійних проєкцій.

Модель є кінцевим результатом досліджень для EfficientViT. Модель пропонує новий блок з композиційним макетом, який застосовує один пам’ятний самоповний шар між шарами прямої зв’язку. Підхід не тільки зменшує час виконання пам’ятних операцій, але також робить весь процес більш ефективним з пам’яттю, дозволяючи більш ефективну комунікацію між каналами. Модель також використовує новий каскадний модуль уваги, який спрямований на підвищення ефективності обчислень, зменшуючи обчислювальну надмірність не тільки в головах уваги, але також збільшуючи глибину мережі та підвищуючи її потужність. Нарешті, модель розширює ширину каналу критичних компонентів мережі, таких як проєкції значення, а також зменшує ширину каналу компонентів з низькою вартістю, таких як приховані розміри в шарах прямої зв’язку, щоб перерозподіляти параметри в рамці.

Як можна побачити на зображенні вище, рамка EfficientViT працює краще, ніж поточні моделі CNN та ViT, як за точністю, так і за швидкістю. Але як рамка EfficientViT змогла перевершити деякі з поточних моделей? Давайте дізнаємося.

EfficientViT: покращення ефективності трансформерів бачення

Модель EfficientViT спрямована на покращення ефективності існуючих моделей трансформерів бачення з трьох точок зору:

  1. Обчислювальна надмірність.
  2. Доступ до пам’яті.
  3. Використання параметрів.

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

Доступ до пам’яті та ефективність

Одним з основних факторів, що впливають на швидкість моделі, є затримка доступу до пам’яті. Як можна побачити на зображенні нижче, кілька операторів у трансформері, включаючи елементно-між операції, нормалізацію та часте перетворення тензорів, є неефективними операціями з пам’яттю, оскільки вони вимагають доступу до різних одиниць пам’яті, що є тривалим процесом.

Хоча існують деякі існуючі методи, які можуть спростити стандартні обчислення самоповного уваги, такі як низькорангове наближення та розріджена увага, вони часто пропонують обмежене прискорення та погіршують точність.

З іншого боку, рамка EfficientViT спрямована на зменшення витрат на доступ до пам’яті, зменшуючи кількість неефективних шарів у рамці. Модель масштабує вниз DeiT-T та Swin-T до малих субмереж, зі збільшенням пропускної здатності на 1,25Х та 1,5Х, та порівнює продуктивність цих субмереж з часткою шарів MHSA. Як можна побачити на зображенні нижче, коли реалізовано, підхід підвищує точність шарів MHSA на 20-40%.

Обчислювальна ефективність

Шари MHSA схильні вкладувати вхідну послідовність у декілька підпросторів або голів, та обчислюють карти уваги окремо, підхід, який відомий тим, що підвищує продуктивність. Однак карти уваги не є обчислювально дешевими, та щоб дослідити обчислювальні витрати, модель EfficientViT досліджує, як зменшити надмірну увагу у менших моделях ViT. Модель вимірює максимальну косинусну схожість кожної голови та решти голів у кожному блоці шляхом навчання ширини масштабованої моделі DeiT-T та Swim-T з прискоренням на 1,25Х. Як можна спостерігати на зображенні нижче, існує висока схожість між головами уваги, що свідчить про те, що модель зазнає обчислювальної надмірності, оскільки численні голови схильні вивчати схожі проєкції повної особливості.

Щоб заохотити голови до вивчення різних закономірностей, модель явно застосовує інтуїтивне рішення, у якому кожна голова годується лише частиною повної особливості, техніка, яка нагадує ідею групової конволюції. Модель тренує різні аспекти масштабованих моделей, які мають модифіковані шари MHSA.

Ефективність параметрів

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

Зображення нижче вказує на те, що перші дві стадії рамки зберігають більше розмірів, тоді як останні дві стадії зберігають значно менше розмірів. Це може означати, що типова конфігурація каналів, яка подвоює канал після кожної стадії або використовує еквівалентні канали для всіх блоків, може призвести до суттєвої надмірності у кінцевих блоках.

Ефективний трансформер бачення: архітектура

На основі висновків, отриманих під час вищезгаданого аналізу, розробники працювали над створенням нової ієрархічної моделі, яка пропонує швидку інтерференцію, модель EfficientViT. Давайте детально вивчимо структуру рамки EfficientViT. Фігура нижче дає вам загальне уявлення про рамку EfficientViT.

Будівельні блоки рамки EfficientViT

Будівельний блок для більш ефективної мережі трансформерів бачення зображено на фігурі нижче.

Рамка складається з каскадного модуля уваги, пам’ятного композиційного макету та стратегії перерозподілу параметрів, які спрямовані на покращення ефективності моделі з точки зору обчислень, пам’яті та параметрів відповідно. Давайте поговоримо про них детальніше.

Композиційний макет

Модель використовує новий композиційний макет для побудови більш ефективного та ефективного блоку пам’яті для рамки. Композиційний макет використовує менше пам’ятних шарів самоповного уваги та використовує більш пам’ятні шари прямої зв’язку для комунікації між каналами. Щоб бути більш конкретним, модель застосовує один самоповний шар для просторового змішування, який знаходиться між шарами прямої зв’язку. Дизайн не тільки допомагає зменшити час витрат на пам’ять через шари самоповного уваги, але також дозволяє ефективну комунікацію між каналами завдяки використанню шарів прямої зв’язку. Модель також застосовує додатковий шар взаємодії перед кожним шаром прямої зв’язку, використовуючи децептивну конволюцію, та підвищує потужність моделі, вводячи індуктивний біас локальної структури інформації.

Каскадний модуль уваги

Одним з основних питань шарів MHSA є надмірність у головах уваги, яка робить обчислення неефективними. Щоб вирішити цю проблему, модель пропонує каскадний модуль уваги для трансформерів бачення, новий модуль уваги, який черпає ідеї з групової конволюції в ефективних CNN. У цьому підході модель годує окремі голови частинами повної особливості, та явно розкладає обчислення уваги між головами. Розкладання особливостей замість годування повної особливості кожній голові зберігає обчислювальні витрати та робить процес більш ефективним, та модель продовжує працювати над покращенням точності та потужності.

Перерозподілення параметрів

Щоб покращити ефективність параметрів, модель перерозподіляє параметри в мережі, розширюючи ширину каналу критичних компонентів, а також зменшуючи ширину каналу компонентів з низькою вартістю. На основі аналізу Тейлора, модель або встановлює малий розмір каналу для проєкцій у кожній голові на кожній стадії, або дозволяє проєкціям мати той самий розмір, що й вхідні вкладення. Коефіцієнт розширення шару прямої зв’язку також зменшується до 2 з 4, щоб допомогти з надмірністю параметрів. Запропонована стратегія перерозподілу, яку реалізує рамка EfficientViT, призначає більше каналів важливим модулям, щоб дозволити їм вивчати представлення у високому вимірному просторі краще, що мінімізує втрату інформації про особливості. Крім того, щоб прискорити процес інтерференції та підвищити ефективність моделі ще більше, модель автоматично видаляє надмірні параметри у незначимих модулях.

Огляд рамки EfficientViT можна пояснити на зображенні нижче, де частини:

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

 

EfficientViT: архітектури мережі

Зображення нижче підсумовує архітектуру мережі рамки EfficientViT. Модель вводить перекриваюче вкладення патчів [20,80], яке вкладує патчі 16×16 у токени розміру C1, що підвищує здатність моделі до низькорівневого візуального навчання. Архітектура моделі складається з трьох стадій, кожна з яких складається з пропонованих будівельних блоків рамки EfficientViT, та кількість токенів на кожній підсамплінговій стадії (2-кратне підсамплінг розширення) зменшується у 4 рази. Щоб зробити підсамплінг більш ефективним, модель пропонує блок підсамплінгу, який також має пропонований композиційний макет, з виключенням того, що інвертований залишковий блок замість шару уваги зменшує втрату інформації під час зразування. Крім того, замість традиційної нормалізації шару (LN), модель використовує нормалізацію批 (BN), оскільки BN можна об’єднати з попереднім лінійним або конволюційним шаром, що дає їй перевагу в часі виконання над LN.

 

Сім’я моделей EfficientViT

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

EfficientViT: реалізація моделі та результати

Модель EfficientViT має загальний розмір批 2 048, побудована з Timm та PyTorch, тренується з нуля протягом 300 епох, використовуючи 8 графічних процесорів Nvidia V100, використовує косинусний графік швидкості навчання, оптимізатор AdamW, та проводить експеримент з класифікацією зображень на наборі даних ImageNet-1K. Вхідні зображення випадково обрізаються та масштабуються до розширення 224×224. Для експериментів, які включають подальшу класифікацію зображень, рамка EfficientViT донастроює модель протягом 300 епох, та використовує оптимізатор AdamW з розміром批 256. Модель використовує RetineNet для виявлення об’єктів на наборі даних COCO, та продовжує тренувати моделі протягом додаткових 12 епох з ідентичними налаштуваннями.

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

Щоб проаналізувати продуктивність EfficientViT, її порівнюють з поточними моделями ViT та CNN на наборі даних ImageNet. Результати порівняння зображено на фігурі нижче. Як можна побачити, сім’я моделей EfficientViT перевершує поточні рамки в більшості випадків, та досягає оптимального компромісу між швидкістю та точністю.

Порівняння з ефективними CNN та Efficient ViT

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

Зображення нижче порівнює продуктивність моделі EfficientViT з великомасштабними моделями ViT, які працюють на наборі даних ImageNet-1K.

Пізня класифікація зображень

Модель EfficientViT застосовується до різних пізніх завдань, щоб вивчити здатність моделі до переносу знань. Зображення нижче підсумовує результати експерименту. Як можна побачити, модель EfficientViT-M5 досягає кращої або подібної продуктивності на всіх наборах даних, зберігаючи при цьому вищу пропускну здатність. Єдина виняток – набір даних Cars, де модель EfficientViT не може забезпечити високу точність.

Виявлення об’єктів

Щоб проаналізувати здатність моделі EfficientViT до виявлення об’єктів, її порівнюють з ефективними моделями на задачі виявлення об’єктів COCO, та зображення нижче підсумовує результати порівняння.

Заключні думки

У цій статті ми говорили про EfficientViT, сім’ю швидких трансформерів бачення, які використовують каскадний модуль уваги та забезпечують ефективні операції з пам’яттю. Комплексні експерименти, проведені для аналізу продуктивності EfficientViT, показали перспективні результати, оскільки модель EfficientViT перевершує поточні моделі CNN та трансформерів бачення в більшості випадків. Ми також спробували надати аналіз факторів, які впливають на швидкість інтерференції трансформерів бачення.

Kunal Kejriwal — бекенд‑інженер, який спеціалізується на Python, PostgreSQL, Redis та хмарній інфраструктурі в GCP і AWS. Має три роки досвіду у створенні та масштабуванні виробничих систем, пише про інфраструктуру ШІ, розподілені системи та архітектуру розгортання навантажень машинного навчання.