Як зменшити обчислювальні витрати Visual Transformer? Підхід тимчасової надмірності дивує

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

Джерело зображення: створено Unbounded AI

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

Основним недоліком візуального трансформатора є його висока обчислювальна вартість. Для обробки типових згорткових мереж (CNN) потрібні десятки ГФлопс на зображення, тоді як візуальні трансформатори часто вимагають на порядок більше, досягаючи сотень ГФлопс на зображення. Під час обробки відео ця проблема ще більш серйозна через величезну кількість даних. Високі обчислювальні витрати ускладнюють розгортання Visual Transformer на пристроях з обмеженими ресурсами або строгими вимогами до затримки, що обмежує сценарії застосування цієї технології, інакше ми вже мали б кілька захоплюючих програм.

У недавній статті троє дослідників з Університету Вісконсіна-Медісон, Метью Датсон, Їн Лі та Мохіт Гупта, вперше запропонували використовувати часову надлишковість між наступними входами для зниження вартості візуальних трансформаторів у відеододатках. Вони також випустили код моделі, який включає модуль PyTorch, який використовується для створення Eventful Transformer.

* Адреса паперу:

  • адреса проекту:

Тимчасова надмірність: спочатку припустимо, що існує візуальний трансформатор, який може обробляти відеопослідовність кадр за кадром або відеокліп за відеокліпом. Цей трансформатор може бути простою покадровою моделлю обробки (наприклад, детектором об’єктів) або проміжним етапом просторово-часової моделі (наприклад, першим кроком декомпозиційної моделі ViViT). На відміну від Transformer обробки мови, де один вхід є повною послідовністю, дослідники тут надають Transformer кілька різних вхідних даних (кадрів або відеокліпів) протягом певного часу.

Природні відео містять значну часову надмірність, тобто різниця між наступними кадрами невелика. Тим не менш, глибокі мережі, включаючи Transformers, зазвичай обчислюють кожен кадр «з нуля». Цей метод відкидає потенційно релевантну інформацію, отриману в результаті попередніх міркувань, що є надзвичайно марнотратним. Тому ці троє дослідників задалися питанням: чи можна повторно використати проміжні результати обчислень попередніх кроків обчислень для підвищення ефективності обробки надлишкових послідовностей?

Адаптивний висновок: для візуальних трансформаторів і глибоких мереж загалом вартість висновку часто залежить від архітектури. Однак у реальних програмах доступні ресурси можуть змінюватися з часом, наприклад, через конкуруючі процеси або зміни потужності. У результаті може виникнути потреба змінити вартість розрахунку моделі під час виконання. Однією з головних цілей розробки, поставлених дослідниками в цій новій роботі, була адаптивність — їхній підхід дозволяв контролювати обчислювальні витрати в реальному часі. На малюнку 1 нижче (внизу) наведено приклад зміни обчислювального бюджету під час обробки відео.

Eventful Transformer: у цьому документі пропонується Eventful Transformer, який може використовувати часову надлишковість між входами для досягнення ефективного та адаптивного міркування. Термін «подієвий» натхненний подієвими камерами, датчиками, які дискретно записують зображення під час зміни сцени. Eventful Transformer відстежує зміни на рівні токенів з часом і вибірково оновлює представлення токенів і карти самоуважності на кожному кроці часу. Модуль Eventful Transformer містить модуль стробування, який використовується для контролю кількості токенів, які оновлюються під час виконання.

Цей метод можна використовувати з готовими моделями (зазвичай без перенавчання) і він сумісний із багатьма завданнями обробки відео. Дослідники також провели експериментальні демонстрації, і результати показали, що Eventful Transformer можна використовувати на найкращих існуючих моделях, що значно скорочує їхні обчислювальні витрати, зберігаючи початкову точність.

Наповнений подіями Трансформер

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

стробування маркерів: виявлення надмірності

У цьому розділі буде представлено два нові модулі, запропоновані дослідниками: токен-шлюз і маркер-буфер. Ці модулі дозволяють моделі ідентифікувати та оновлювати маркери, які суттєво змінилися з часу останнього оновлення.

Модуль шлюзу: цей шлюз вибере частину M із вхідного маркера N і надішле його на нижній рівень для обчислення. Він зберігає у своїй пам’яті набір посилальних маркерів, позначений як u. Цей еталонний вектор містить значення кожного токена на момент останнього оновлення. На кожному кроці часу кожен маркер порівнюється з відповідним еталонним значенням, а маркер, який значно відрізняється від еталонного значення, оновлюється.

Тепер нехай поточний вхідний сигнал дорівнює c. На кожному часовому етапі виконується наступний процес, щоб оновити статус воріт і визначити його вихід (див. Малюнок 2 нижче):

1. Обчислити повну похибку e = u − c.

  1. Використовуйте стратегію вибору помилки e. Стратегія вибору повертає двійкову маску m (еквівалентну списку індексу токенів), що вказує, які M токенів слід оновити.

  2. Витягніть токен, вибраний за допомогою наведеної вище стратегії. Це описано на малюнку 2 як добуток c × m; на практиці це досягається виконанням операції «зібрати» вздовж першої осі c. Зібрані жетони записуються тут як

, що є виходом воріт.

  1. Оновіть маркер посилання на вибраний маркер. Малюнок 2 описує цей процес як

;На практиці використовується операція «розкид». На першому часовому кроці шлюз оновлює всі маркери (ініціалізація u ← c і повернення c˜ = c).

Буферний модуль: буферний модуль підтримує тензор стану

, який відстежує кожен вхідний маркер

Коли , буфер розподіляє маркери від f (c˜) до їхніх відповідних позицій у b. Потім він повертає оновлений b як свій вихід, дивіться малюнок 3 нижче.

Дослідники поєднали кожні двері з буфером за ними. Ось проста схема використання: вихід воріт

передається серії операцій f (c˜) над кожним маркером, а потім результуючий тензор

Передається в буфер, який відновить повну форму.

Створіть Transformer з урахуванням резервування

Для того, щоб скористатися вищевказаною надлишковістю часу, дослідники запропонували схему модифікації модуля Transformer. На малюнку 4 нижче показано дизайн модуля Eventful Transformer. Цей метод може прискорити операції з окремими маркерами (наприклад, MLP), а також множення значення ключа запиту та значення уваги.

У модулі Operation Transformer для кожного токена виконується багато операцій для кожного токена, що означає, що вони не включають обмін інформацією між токенами, включаючи лінійні перетворення в MLP і MSA. Щоб заощадити на обчислювальних витратах, дослідники заявили, що токен-орієнтовані операції з токенами, не обраними воротами, можна пропустити. Через незалежність між маркерами це не змінює результат операції над вибраним маркером. Дивіться малюнок 3.

Зокрема, дослідники використовували пару вентильних буферів для безперервної послідовності операцій над кожним маркером (включаючи перетворення W_qkv, перетворення W_p і MLP). Зверніть увагу, що вони також додали буфер перед пропуском підключення, щоб переконатися, що маркери двох операндів додавання належним чином вирівняні.

Вартість операції для кожного токена пропорційна кількості токенів. Шлюз може зменшити це число з N до M, що також зменшує обчислювальні витрати на операції нижнього потоку для кожного маркера в N/M разів.

Продукт «запит-ключ-значення»: тепер давайте подивимося на продукт «запит-ключ-значення» B = qk^T.

На рисунку 5 нижче показаний метод розрідженого оновлення підмножини елементів у продукті типу запит-ключ-значення B.

Загальна вартість цих оновлень становить 2NMD порівняно з вартістю обчислення B з нуля, яка становить N^2D. Зверніть увагу, що вартість нового методу пропорційна M, кількості жетонів, вибраних воротами. Коли M < N/2 (оновлені токени на цей момент становлять менше половини загальної кількості), суму розрахунку можна зберегти.

Продукт, який привертає увагу: дослідник запропонував стратегію оновлення на основі збільшення Δ.

На малюнку 6 нижче показано нещодавно запропонований метод ефективного обчислення трьох додаткових членів.

Подібним чином, коли M < N/2, обчислену суму можна зберегти.

стратегія вибору токенів

Важливим дизайном Eventful Transformer є його стратегія вибору токенів. Враховуючи тензор помилок вентиля e, метою такої політики є створення маски m, що вказує на маркери, які слід оновити. Конкретні стратегії включають:

Стратегія Top-r: ця стратегія вибирає r токенів із найбільшою помилкою e (тут використовується норма L2).

Порогова стратегія: ця стратегія вибирає всі токени, норма помилки e перевищує поріг h.

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

Експеримент

Дослідники експериментально оцінили новий запропонований метод на завданнях виявлення відеооб'єктів і розпізнавання відеодій.

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

На рисунку 8 нижче показано порівняння методу та експериментальні результати абляції для завдання відеовиявлення цілей.

На малюнку 9 нижче показано експериментальні результати розпізнавання відеодій.

У таблиці 2 нижче наведено результати (у мілісекундах) для процесора (Xeon Silver 4214, 2,2 ГГц) і графічного процесора (NVIDIA RTX3090). Можна побачити, що збільшення швидкості за рахунок резервування часу на графічному процесорі може досягати 1,74 разів, а покращення ЦП може досягати 2,47 разів.

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • Прокоментувати
  • Поділіться
Прокоментувати
0/400
Немає коментарів
  • Закріпити