Modele i platformy AI
EfficientViT: PamiÄciowo Wydajny Transformator Wizji Dla Zadania Wysokorozdzielczego Przetwarzania ObrazÃģw

Ze wzglÄdu na ich wysokÄ pojemnoÅÄ modelu, modele transformatora wizji cieszÄ siÄ duÅžym powodzeniem w ostatnich czasach. Pomimo ich wydajnoÅci, modele transformatora wizji majÄ jeden gÅÃģwny mankament: ich niezwykÅa zdolnoÅÄ obliczeniowa wiÄ Åže siÄ z wysokimi kosztami obliczeniowymi, a to jest powodem, dla ktÃģrego modele transformatora wizji nie sÄ pierwszym wyborem dla aplikacji w czasie rzeczywistym. Aby rozwiÄ zaÄ ten problem, grupa deweloperÃģw uruchomiÅa EfficientViT, rodzinÄ szybkich transformatorÃģw wizji.
Podczas pracy nad EfficientViT, deweloperzy zauwaÅžyli, Åže prÄdkoÅÄ bieÅžÄ cych modeli transformatora jest czÄsto ograniczona przez nieefektywne operacje pamiÄci, szczegÃģlnie funkcje elementowe i przeksztaÅcenie tensora w sieci Multi-Head Self Attention. Aby rozwiÄ zaÄ te nieefektywne operacje pamiÄci, deweloperzy EfficientViT pracowali nad nowym blokiem budulcowym, wykorzystujÄ c ukÅad piÄtrowy, czyli model EfficientViT wykorzystuje pojedynczÄ warstwÄ Multi-Head Self Attention pomiÄdzy warstwami Feed Forward Network, co pomaga w poprawie wydajnoÅci pamiÄci i ogÃģlnej komunikacji kanaÅÃģw. Ponadto model odkryÅ, Åže mapy uwagi czÄsto majÄ wysokÄ podobieÅstwo miÄdzy gÅowami, co prowadzi do redundancji obliczeniowej. Aby rozwiÄ zaÄ problem redundancji, model EfficientViT przedstawia moduÅ Cascaded Group Attention, ktÃģry karmi gÅowy uwagi rÃģÅžnymi podziaÅami peÅnych cech. Metoda nie tylko pomaga w oszczÄdnoÅciach obliczeniowych, ale takÅže poprawia rÃģÅžnorodnoÅÄ uwagi modelu.
WyczerpujÄ ce eksperymenty przeprowadzone na modelu EfficientViT w rÃģÅžnych scenariuszach wskazujÄ , Åže EfficientViT przewyÅžsza istniejÄ ce efektywne modele dla zadania przetwarzania wizji, jednoczeÅnie osiÄ gajÄ c dobry kompromis miÄdzy dokÅadnoÅciÄ a szybkoÅciÄ . WiÄc zajmijmy siÄ gÅÄbszym zanurzeniem w modelu EfficientViT.
Wprowadzenie do TransformatorÃģw Wizji i EfficientViT
Transformatory wizji pozostajÄ jednym z najpopularniejszych frameworkÃģw w branÅžy przetwarzania wizji, poniewaÅž oferujÄ lepszÄ wydajnoÅÄ i wysokÄ zdolnoÅÄ obliczeniowÄ . Jednak wraz ze stale rosnÄ cÄ dokÅadnoÅciÄ i wydajnoÅciÄ modeli transformatora wizji, koszty operacyjne i obciÄ Åženie obliczeniowe rÃģwnieÅž rosnÄ . Na przykÅad, obecne modele znane z dostarczania najlepszych wynikÃģw na zestawach danych ImageNet, takie jak SwinV2 i V-MoE, wykorzystujÄ odpowiednio 3B i 14,7B parametrÃģw. Sam rozmiar tych modeli w poÅÄ czeniu z kosztami obliczeniowymi i wymaganiami sprawia, Åže sÄ one niepraktycznie nieodpowiednie dla urzÄ dzeÅ i aplikacji w czasie rzeczywistym.
Model EfficientNet ma na celu zbadanie, jak poprawiÄ wydajnoÅÄ modeli transformatora wizji i znalezienie zasad projektowania efektywnych i skutecznych frameworkÃģw transformatora. Model EfficientViT oparty jest na istniejÄ cych frameworkach transformatora wizji, takich jak Swim i DeiT, i analizuje trzy podstawowe czynniki, ktÃģre wpÅywajÄ na prÄdkoÅÄ interferencji modeli, w tym redundancjÄ obliczeniowÄ , dostÄp do pamiÄci i uÅžycie parametrÃģw. Ponadto model obserwuje, Åže prÄdkoÅÄ modeli transformatora wizji jest ograniczona przez pamiÄÄ, co oznacza, Åže peÅne wykorzystanie mocy obliczeniowej w CPU/GPU jest zabronione lub ograniczone przez opÃģÅšnienie dostÄpu do pamiÄci, co ma negatywny wpÅyw na prÄdkoÅÄ wykonywania transformatora. Funkcje elementowe i przeksztaÅcenie tensora w sieci Multi-Head Self Attention sÄ najmniej wydajnymi operacjami. Model obserwuje rÃģwnieÅž pewnÄ redundancjÄ w mapach uwagi w wyniku tendencji gÅÃģw uwagi do nauki podobnych projekcji liniowych.
Model jest ostatecznym wynikiem badaÅ nad EfficientViT. Model skÅada siÄ z nowego bloku z ukÅadem piÄtrowym, ktÃģry wykorzystuje pojedynczÄ warstwÄ Multi-Head Self Attention pomiÄdzy warstwami Feed Forward Network. PodejÅcie nie tylko redukuje czas wykonywania operacji zwiÄ zanych z pamiÄciÄ w sieci Multi-Head Self Attention, ale takÅže czyni caÅy proces bardziej wydajnym, pozwalajÄ c na wiÄcej warstw Feed Forward Network, ktÃģre uÅatwiajÄ komunikacjÄ miÄdzy kanaÅami. Model wykorzystuje rÃģwnieÅž nowy moduÅ Cascaded Group Attention, ktÃģry ma na celu zwiÄkszenie efektywnoÅci obliczeÅ, redukujÄ c redundancjÄ obliczeniowÄ nie tylko w gÅowach uwagi, ale takÅže zwiÄkszajÄ c gÅÄbokoÅÄ sieci, co prowadzi do zwiÄkszenia pojemnoÅci modelu. Wreszcie, model rozszerza szerokoÅÄ kanaÅu podstawowych skÅadnikÃģw sieci, w tym projekcji wartoÅci, a skÅadniki sieci o niskiej wartoÅci, takie jak wymiary ukryte w sieciach Feed Forward, sÄ zmniejszane w celu ponownego rozdzielenia parametrÃģw w frameworku.

Jak widaÄ na powyÅžszym obrazie, framework EfficientViT wykonuje lepiej niÅž obecne modele CNN i ViT pod wzglÄdem dokÅadnoÅci i szybkoÅci. Ale jak framework EfficientViT zdoÅaÅ przewyÅžszyÄ niektÃģre z obecnych frameworkÃģw? Zobaczmy.
EfficientViT: Poprawa WydajnoÅci TransformatorÃģw Wizji
Model EfficientViT ma na celu poprawÄ wydajnoÅci istniejÄ cych modeli transformatora wizji z trzech perspektyw,
- Redundancja obliczeniowa.
- DostÄp do pamiÄci.
- UÅžycie parametrÃģw.
Model ma na celu zbadanie, jak powyÅžsze parametry wpÅywajÄ na wydajnoÅÄ modeli transformatora wizji i jak je rozwiÄ zaÄ, aby osiÄ gnÄ Ä lepsze wyniki z wiÄkszÄ wydajnoÅciÄ . Zobaczmy je w wiÄkszym szczegÃģle.
DostÄp do PamiÄci i WydajnoÅÄ
Jednym z podstawowych czynnikÃģw wpÅywajÄ cych na prÄdkoÅÄ modelu jest opÃģÅšnienie dostÄpu do pamiÄci lub MAO. Jak widaÄ na poniÅžszym obrazie, kilka operatorÃģw w transformatorze, w tym elementowe dodawanie, normalizacja i czÄste przeksztaÅcenie tensora, sÄ operacjami nieefektywnymi pod wzglÄdem pamiÄci, poniewaÅž wymagajÄ dostÄpu do rÃģÅžnych jednostek pamiÄci, co jest czasochÅonne.

ChociaÅž istniejÄ pewne metody, ktÃģre mogÄ uproÅciÄ standardowe obliczenia uwagi, takie jak przybliÅženie o niskim ranku i uwaga rzadka, czÄsto oferujÄ one ograniczonÄ przyspieszenie i pogarszajÄ dokÅadnoÅÄ.
Z drugiej strony, framework EfficientViT ma na celu obniÅženie kosztu dostÄpu do pamiÄci, redukujÄ c liczbÄ warstw nieefektywnych pod wzglÄdem pamiÄci w frameworku. Model skaluje w dÃģÅ DeiT-T i Swin-T do maÅych podsieci z wyÅžszÄ prÄdkoÅciÄ interferencji o 1,25-krotnym i 1,5-krotnym wzroÅcie, i porÃģwnuje wydajnoÅÄ tych podsieci z proporcjami warstw MHSA. Jak widaÄ na poniÅžszym obrazie, podejÅcie to zwiÄksza dokÅadnoÅÄ warstw MHSA o okoÅo 20-40%.

WydajnoÅÄ Obliczeniowa
Warstwy MHSA majÄ tendencjÄ do wbudowania sekwencji wejÅciowej w wiele podprzestrzeni lub gÅÃģw i obliczajÄ mapy uwagi indywidualnie, co jest podejÅciem znanym z poprawy wydajnoÅci. Jednak mapy uwagi nie sÄ tanie obliczeniowo, a aby zbadaÄ koszty obliczeniowe, model EfficientViT bada, jak zredukowaÄ redundancjÄ uwagi w mniejszych modelach ViT. Model mierzy maksymalne podobieÅstwo kosinusowe kaÅždej gÅowy i pozostaÅych gÅÃģw w kaÅždym bloku, trenujÄ c modele DeiT-T i Swim-T ze skalowanÄ szerokoÅciÄ i 1,25-krotnym przyspieszeniem inferencji. Jak widaÄ na poniÅžszym obrazie, istnieje wysoki poziom podobieÅstwa miÄdzy gÅowami uwagi, co sugeruje, Åže model ponosi redundancjÄ obliczeniowÄ , poniewaÅž wiele gÅÃģw ma tendencjÄ do nauki podobnych projekcji peÅnych cech.

Aby zachÄciÄ gÅowy do nauki rÃģÅžnych wzorcÃģw, model wykorzystuje intuicyjne rozwiÄ zanie, w ktÃģrym kaÅžda gÅowa jest karmiona tylko czÄÅciÄ peÅnych cech, co przypomina ideÄ grupowej konwolucji. Model trenuje rÃģÅžne aspekty skalowanych modeli z modyfikowanymi warstwami MHSA.
WydajnoÅÄ ParametrÃģw
Årednie modele ViT dziedziczÄ strategie projektowe, takie jak uÅžycie rÃģwnowaÅžnej szerokoÅci dla projekcji, ustawienie wspÃģÅczynnika ekspansji na 4 w sieci Feed Forward, i zwiÄkszanie liczby gÅÃģw na etapach z NLP transformatorÃģw. Konfiguracje tych skÅadnikÃģw muszÄ byÄ starannie zaprojektowane dla lekkich moduÅÃģw. Model EfficientViT wdroÅžonyÅ ciÄcie strukturalne Taylor, aby znaleÅšÄ najwaÅžniejsze skÅadniki w warstwach Swim-T i DeiT-T automatycznie, i dalej badaÅ zasady alokacji parametrÃģw. Pod pewnymi ograniczeniami zasobÃģw, metody ciÄcia usuwajÄ nieistotne kanaÅy i zachowujÄ najwaÅžniejsze, aby zapewniÄ najwyÅžszÄ moÅžliwÄ dokÅadnoÅÄ. PoniÅžszy rysunek porÃģwnuje stosunek kanaÅÃģw do wejÅciowych osadzeÅ przed i po ciÄciu w frameworku Swin-T. Zaobserwowano, Åže: dokÅadnoÅÄ bazowa: 79,1%; dokÅadnoÅÄ po ciÄciu: 76,5%.

PowyÅžszy rysunek wskazuje, Åže pierwsze dwie fazy frameworku zachowujÄ wiÄcej wymiarÃģw, podczas gdy ostatnie dwie fazy zachowujÄ znacznie mniej wymiarÃģw. MoÅže to oznaczaÄ, Åže typowa konfiguracja kanaÅÃģw, ktÃģra podwaja kanaÅ po kaÅždym etapie lub uÅžywa rÃģwnowaÅžnych kanaÅÃģw dla wszystkich blokÃģw, moÅže prowadziÄ do znacznej redundancji w ostatnich blokach.
Efficient Vision Transformer: Architektura
Na podstawie wnioskÃģw z powyÅžszej analizy, deweloperzy pracowali nad stworzeniem nowego hierarchicznego modelu, ktÃģry oferuje szybkie prÄdkoÅci interferencji, model EfficientViT. Zobaczmy strukturÄ frameworku EfficientViT. PoniÅžszy rysunek daje ogÃģlne pojÄcie o frameworku EfficientViT.
Budulec Frameworku EfficientViT
Budulec dla bardziej wydajnego modelu transformatora wizji jest ilustrowany na poniÅžszym rysunku.

Framework skÅada siÄ z moduÅu Cascaded Group Attention, wydajnego ukÅadu piÄtrowego i strategii ponownego rozdzielenia parametrÃģw, ktÃģre koncentrujÄ siÄ na poprawie wydajnoÅci modelu pod wzglÄdem obliczeÅ, pamiÄci i parametrÃģw. Zobaczmy je w wiÄkszym szczegÃģle.
UkÅad PiÄtrowy
Model wykorzystuje nowy ukÅad piÄtrowy, aby stworzyÄ bardziej efektywny i wydajny blok pamiÄci dla frameworku. UkÅad piÄtrowy wykorzystuje mniej warstw zwiÄ zanych z pamiÄciÄ i wykorzystuje wiÄcej wydajnych sieci Feed Forward do komunikacji kanaÅÃģw. Aby byÄ bardziej konkretnym, model stosuje pojedynczÄ warstwÄ uwagi dla mieszania przestrzennego, ktÃģra jest umieszczona pomiÄdzy warstwami Feed Forward. Projekt nie tylko pomaga w redukowaniu czasu dostÄpu do pamiÄci ze wzglÄdu na warstwy uwagi, ale takÅže pozwala na efektywnÄ komunikacjÄ miÄdzy kanaÅami dziÄki uÅžyciu warstw Feed Forward. Model rÃģwnieÅž stosuje dodatkowÄ warstwÄ tokena interakcji przed kaÅždÄ warstwÄ Feed Forward, wykorzystujÄ c DWConv lub Deceptive Convolution, i zwiÄksza pojemnoÅÄ modelu, wprowadzajÄ c indukcyjnÄ bias lokalnej struktury.
Cascaded Group Attention
Jednym z gÅÃģwnych problemÃģw z warstwami MHSA jest redundancja w gÅowach uwagi, co sprawia, Åže obliczenia sÄ mniej efektywne. Aby rozwiÄ zaÄ ten problem, model proponuje Cascaded Group Attention dla transformatorÃģw wizji, nowy moduÅ uwagi, ktÃģry czerpie inspiracjÄ z grupowych konwolucji w efektywnych CNN. W tym podejÅciu, model karmi poszczegÃģlne gÅowy czÄÅciami peÅnych cech, i w ten sposÃģb dekomponuje obliczenia uwagi wyraÅšnie miÄdzy gÅowami. PodziaÅ cech zamiast karmienia kaÅždej gÅowy peÅnymi cechami oszczÄdza obliczenia i sprawia, Åže proces jest bardziej efektywny, a model kontynuuje pracÄ nad poprawÄ dokÅadnoÅci i pojemnoÅci, zachÄcajÄ c warstwy do nauki projekcji na cechach o bogatszych informacjach.

Ponowne Rozdzielenie ParametrÃģw
Aby poprawiÄ wydajnoÅÄ parametrÃģw, model ponownie rozdziela parametry w sieci, rozszerzajÄ c szerokoÅÄ kanaÅu podstawowych skÅadnikÃģw sieci, takich jak projekcje wartoÅci, a skÅadniki sieci o niskiej wartoÅci, takie jak wymiary ukryte w sieciach Feed Forward, sÄ zmniejszane w celu ponownego rozdzielenia parametrÃģw w frameworku. Na podstawie analizy Taylor, model albo ustawia maÅe wymiary kanaÅÃģw dla projekcji w kaÅždej gÅowie na kaÅždym etapie, albo pozwala projekcjom mieÄ takie same wymiary jak wejÅciowe. WspÃģÅczynnik ekspansji sieci Feed Forward jest rÃģwnieÅž zmniejszony do 2 z 4, aby pomÃģc w redundancji parametrÃģw. Proponowana strategia ponownego rozdzielenia, ktÃģrÄ framework EfficientViT wdroÅžyÅ, przydziela wiÄcej kanaÅÃģw waÅžnym moduÅom, aby mogÅy one nauczyÄ siÄ reprezentacji w wysokowymiarowej przestrzeni, co minimalizuje utratÄ informacji o cechach. Ponadto, aby przyspieszyÄ proces interferencji i zwiÄkszyÄ wydajnoÅÄ modelu, model automatycznie usuwa redundancjÄ parametrÃģw w nieistotnych moduÅach.

PrzeglÄ d frameworku EfficientViT moÅžna wyjaÅniÄ na powyÅžszym rysunku, gdzie czÄÅci,
- Architektura EfficientViT,
- Blok ukÅadu piÄtrowego,
- Cascaded Group Attention.
Â
EfficientViT: Architektury Sieci

PowyÅžszy rysunek podsumowuje architekturÄ sieci frameworku EfficientViT. Model wprowadza nakÅadajÄ ce siÄ osadzanie patchÃģw [20,80], ktÃģre osadzajÄ patche 16Ã16 w wymiarze C1, co zwiÄksza pojemnoÅÄ modelu do lepszego wykonania niskopoziomowego uczenia reprezentacji wizualnej. Architektura modelu skÅada siÄ z trzech etapÃģw, z ktÃģrych kaÅždy stosuje proponowane bloki budulcowe frameworku EfficientViT, a liczba tokenÃģw na kaÅždej warstwie subsamplingu (2-krotny subsampling rozdzielczoÅci) jest zmniejszona o 4-krotnoÅÄ. Aby subsampling byÅ bardziej efektywny, model proponuje blok subsamplingu, ktÃģry rÃģwnieÅž ma proponowany ukÅad piÄtrowy, z wyjÄ tkiem, Åže odwrÃģcony blok resztowy zastÄpuje warstwÄ uwagi, aby zmniejszyÄ utratÄ informacji podczas prÃģbkowania. Ponadto, zamiast konwencjonalnej LayerNorm (LN), model wykorzystuje BatchNorm (BN), poniewaÅž BN moÅže byÄ zÅoÅžony w poprzedniej warstwie liniowej lub warstwie konwolucyjnej, co daje mu przewagÄ podczas wykonywania nad LN.
Â
Rodzina Modeli EfficientViT
Rodzina modeli EfficientViT skÅada siÄ z 6 modeli o rÃģÅžnej skali gÅÄbokoÅci i szerokoÅci, a ustalona liczba gÅÃģw jest przydzielona dla kaÅždego etapu. Modele wykorzystujÄ mniej blokÃģw w poczÄ tkowych etapach w porÃģwnaniu z etapami koÅcowymi, co jest podobne do procesu stosowanego przez framework MobileNetV3, poniewaÅž proces przetwarzania na wczesnych etapach z wiÄkszymi rozdzielczoÅciami jest czasochÅonny. SzerokoÅÄ jest zwiÄkszana na etapach z maÅym czynnikiem, aby zmniejszyÄ redundancjÄ w pÃģÅšniejszych etapach. PoniÅžsza tabela zawiera szczegÃģÅy architektury rodziny modeli EfficientViT, gdzie C, L i H odnoszÄ siÄ do szerokoÅci, gÅÄbokoÅci i liczby gÅÃģw na danym etapie.

EfficientViT: Implementacja Modelu i Wyniki
Model EfficientViT ma ÅÄ cznÄ wielkoÅÄ partii 2 048, jest zbudowany z Timm i PyTorch, jest trenowany od podstaw przez 300 epok, wykorzystujÄ c 8 kart graficznych Nvidia (NVDA ) V100, wykorzystuje planista learning rate cosine, optymizator AdamW, i prowadzi eksperyment klasyfikacji obrazÃģw na ImageNet-1K. Obrazy wejÅciowe sÄ losowo obcinane i zmieniane rozmiaru na 224Ã224. Dla eksperymentÃģw, ktÃģre obejmujÄ klasyfikacjÄ obrazÃģw w dÃģÅ, framework EfficientViT dostraja model przez 300 epok, i wykorzystuje optymizator AdamW z wielkoÅciÄ partii 256. Model wykorzystuje RetineNet do wykrywania obiektÃģw na COCO, i kontynuuje szkolenie modeli przez dodatkowe 12 epok z tymi samymi ustawieniami.
Wyniki na ImageNet
Aby przeanalizowaÄ wydajnoÅÄ EfficientViT, jest on porÃģwnywany z bieÅžÄ cymi modelami ViT i CNN na zestawie danych ImageNet. Wyniki z porÃģwnania sÄ raportowane w poniÅžszym rysunku. Jak widaÄ, rodzina modeli EfficientViT przewyÅžsza obecne frameworki w wiÄkszoÅci przypadkÃģw i osiÄ ga optymalny kompromis miÄdzy szybkoÅciÄ a dokÅadnoÅciÄ .

PorÃģwnanie z Efektywnymi CNN i Efektywnymi ViT
Model jest najpierw porÃģwnywany z efektywnymi CNN, takimi jak EfficientNet i zwykÅymi frameworkami CNN, takimi jak MobileNets. Jak widaÄ, w porÃģwnaniu z frameworkami MobileNet, modele EfficientViT osiÄ gajÄ lepszÄ dokÅadnoÅÄ top-1, jednoczeÅnie dziaÅajÄ c 3,0-krotnie i 2,5-krotnie szybciej na CPU Intel (INTC ) i GPU V100 odpowiednio.

PowyÅžszy rysunek porÃģwnuje wydajnoÅÄ modelu EfficientViT z duÅžymi, skalowalnymi modelami ViT, dziaÅajÄ cymi na zestawie danych ImageNet-1K.
Klasyfikacja ObrazÃģw w DÃģÅ
Model EfficientViT jest stosowany w rÃģÅžnych zadaniach w dÃģÅ, aby zbadaÄ moÅžliwoÅci transferu wiedzy modelu, a poniÅžszy rysunek podsumowuje wyniki eksperymentu. Jak widaÄ, model EfficientViT-M5 osiÄ ga lepsze lub podobne wyniki we wszystkich zestawach danych, jednoczeÅnie utrzymujÄ c znacznie wyÅžszÄ wydajnoÅÄ. Jedynym wyjÄ tkiem jest zestaw danych Cars, w ktÃģrym model EfficientViT nie radzi sobie z dokÅadnoÅciÄ .

Wykrywanie ObiektÃģw
Aby przeanalizowaÄ moÅžliwoÅci modelu EfficientViT w wykrywaniu obiektÃģw, jest on porÃģwnywany z efektywnymi modelami na zadaniu wykrywania obiektÃģw COCO, a poniÅžszy rysunek podsumowuje wyniki porÃģwnania.

Podsumowanie
W tym artykule, omÃģwiliÅmy EfficientViT, rodzinÄ szybkich modeli transformatora wizji, ktÃģre wykorzystujÄ Cascaded Group Attention i zapewniajÄ efektywne operacje pamiÄci. WyczerpujÄ ce eksperymenty przeprowadzone w celu przeanalizowania wydajnoÅci EfficientViT wykazaÅy obiecujÄ ce wyniki, poniewaÅž model EfficientViT przewyÅžsza obecne modele CNN i transformatora wizji w wiÄkszoÅci przypadkÃģw. PrÃģbowaliÅmy rÃģwnieÅž zapewniÄ analizÄ czynnikÃģw, ktÃģre wpÅywajÄ na prÄdkoÅÄ interferencji transformatora wizji.












