AI-modellen en platforms
EfficientViT: GeheugenEfficiënte Vision Transformer voor High-Resolution Computer Vision

Door hun hoge modelcapaciteit hebben Vision Transformer-modellen de afgelopen tijd veel succes geboekt. Ondanks hun prestaties hebben vision transformer-modellen één groot nadeel: hun opmerkelijke berekeningskracht komt met hoge berekeningskosten, en dat is de reden waarom vision transformers niet de eerste keuze zijn voor real-time toepassingen. Om dit probleem aan te pakken, lanceerde een groep ontwikkelaars EfficientViT, een familie van high-speed vision transformers.
Toen de ontwikkelaars aan EfficientViT werkten, merkten ze dat de snelheid van de huidige transformer-modellen vaak wordt beperkt door inefficiënte geheugenoperaties, met name element-wise functies en tensor-reshaping in MHSA of Multi-Head Self Attention-netwerken. Om deze inefficiënte geheugenoperaties aan te pakken, hebben de ontwikkelaars van EfficientViT gewerkt aan een nieuwe bouwsteen met een sandwichlay-out, waarbij de EfficientViT-modellen gebruikmaken van een enkele geheugenbeperkte Multi-Head Self Attention-laag tussen efficiënte FFN-lagen, wat helpt bij het verbeteren van de geheugenefficiëntie en ook de algehele kanaalcommunicatie.
Uitgebreide experimenten die zijn uitgevoerd op de EfficientViT-modellen in verschillende scenario’s, geven aan dat de EfficientViT-modellen bestaande efficiënte modellen voor computer vision overtreffen, terwijl ze een goede balans tussen nauwkeurigheid en snelheid bereiken. Laten we dus een diepere duik nemen en de EfficientViT-modellen in meer detail onderzoeken.
Een Inleiding tot Vision Transformers en EfficientViT
Vision Transformers blijven een van de meest populaire kaders in de computer vision-industrie, omdat ze superieure prestaties en hoge berekeningsmogelijkheden bieden. Echter, met de constant verbeterende nauwkeurigheid en prestaties van de vision transformer-modellen, nemen de operationele kosten en berekeningskosten ook toe. Bijvoorbeeld, huidige modellen die state-of-the-art prestaties op ImageNet-datasets zoals SwinV2 en V-MoE bieden, gebruiken respectievelijk 3B en 14,7B parameters. De grote omvang van deze modellen, gecombineerd met de berekeningskosten en -eisen, maken ze praktisch ongeschikt voor real-time apparaten en toepassingen.
Het EfficientNet-model heeft als doel om te onderzoeken hoe de prestaties van vision transformer-modellen kunnen worden verbeterd en om de principes achter het ontwerp van efficiënte en effectieve transformer-architecturen te vinden. De EfficientViT-modellen zijn gebaseerd op bestaande vision transformer-kaders zoals Swim en DeiT, en analyseren drie essentiële factoren die de interferentiesnelheid van modellen beïnvloeden, waaronder berekeningsredundantie, geheugen-toegang en parametergebruik.
Het model is een definitieve cultivatie van de bevindingen tijdens het onderzoek voor de EfficientViT. Het model heeft een nieuwe bouwsteen met een sandwichlay-out die een enkele geheugenbeperkte Multi-Head Self Attention-laag tussen de Feed Forward Network- of FFN-lagen gebruikt. Deze benadering vermindert niet alleen de tijd die nodig is om geheugenbeperkte operaties in MHSA uit te voeren, maar maakt het hele proces ook meer geheugenefficiënt door meer FFN-lagen toe te staan om de communicatie tussen verschillende kanalen te faciliteren.

Zoals te zien is in de bovenstaande afbeelding, presteert het EfficientViT-kader beter dan de huidige state-of-the-art CNN- en ViT-modellen in zowel nauwkeurigheid als snelheid. Maar hoe wist het EfficientViT-kader om enkele van de huidige state-of-the-art-kaders te overtreffen? Laten we dat uitzoeken.
EfficientViT: Het Verbeteren van de Efficiëntie van Vision Transformers
Het EfficientViT-model heeft als doel om de efficiëntie van de bestaande vision transformer-modellen te verbeteren vanuit drie perspectieven:
- Berekeningsredundantie.
- Geheugen-toegang.
- Parametergebruik.
Het model heeft als doel om te onderzoeken hoe bovenstaande parameters de efficiëntie van vision transformer-modellen beïnvloeden en hoe deze kunnen worden opgelost om betere resultaten te bereiken met betere efficiëntie.
Geheugen-Toegang en Efficiëntie
Een van de essentiële factoren die de snelheid van een model beïnvloeden, is de geheugen-toegangsoverhead of MAO. Zoals te zien is in de onderstaande afbeelding, zijn verschillende operators in transformers, waaronder element-wise additie, normalisatie en frequent reshaping, geheugen-inefficiënte operaties, omdat ze toegang tot verschillende geheugenunits vereisen, wat een tijdrovend proces is.

Hoewel er enkele bestaande methoden zijn die de standaard softmax self-attention-berekeningen kunnen vereenvoudigen, zoals low-rank-approximatie en sparse attention, bieden ze vaak beperkte versnelling en verminderen de nauwkeurigheid.
Aan de andere kant heeft het EfficientViT-kader als doel om de geheugen-toegangskosten te verlagen door het aantal geheugen-inefficiënte lagen in het kader te verminderen. Het model schaalt de DeiT-T en Swin-T af tot kleine subnetwerken met een hogere interferentiesnelheid van 1,25X en 1,5X, en vergelijkt de prestaties van deze subnetwerken met de verhouding van de MHSA-lagen.

BerekeningsEfficiëntie
MHSA-lagen hebben de neiging om de invoersequentie in meerdere subruimtes of hoofden in te bedden en de aandachtkaarten individueel te berekenen, een benadering die de prestaties verhoogt. Echter, aandachtkaarten zijn niet goedkoop in berekeningen, en om de berekeningskosten te onderzoeken, onderzoekt het EfficientViT-model hoe de redundante aandacht in kleinere ViT-modellen kan worden verminderd.

Om de hoofden aan te moedigen om verschillende patronen te leren, past het model een intuïtieve oplossing toe waarbij elk hoofd alleen een deel van de volledige functie krijgt, een techniek die lijkt op de idee van groepsconvolutie.
ParameterEfficiëntie
Gemiddelde ViT-modellen erven hun ontwerpprincipes, zoals het gebruik van een equivalentiebreedte voor projecties, het instellen van de expansieratio op 4 in FFN en het verhogen van hoofden over stadia vanuit NLP-transformatoren. De configuraties van deze componenten moeten zorgvuldig worden ontworpen voor lichtgewicht modules.

De bovenstaande afbeelding toont de verhouding van kanalen tot invoerembeddings vóór en na het knippen op het Swin-T-kader. Het bleek dat de eerste twee stadia van het kader meer dimensies behouden, terwijl de laatste twee stadia veel minder dimensies behouden.
Efficiënt Vision Transformer: Architectuur
Op basis van de inzichten die zijn verkregen tijdens de bovenstaande analyse, hebben ontwikkelaars gewerkt aan het creëren van een nieuw hiërarchisch model dat snelle interferentiesnelheden biedt, het EfficientViT-model. Laten we een diepere duik nemen in de structuur van het EfficientViT-kader.
Bouwstenen van het EfficientViT-Kader
De bouwsteen voor het meer efficiënte vision transformer-netwerk wordt weergegeven in de onderstaande afbeelding.

Het kader bestaat uit een cascaded group attention-module, een geheugen-efficiënte sandwichlay-out en een parameterherallocatiestrategie die zich richten op het verbeteren van de efficiëntie van het model in termen van berekening, geheugen en parameter.
Sandwichlay-out
Het model gebruikt een nieuwe sandwichlay-out om een meer effectief en efficiënt geheugenblok voor het kader te bouwen. De sandwichlay-out gebruikt minder geheugenbeperkte self-attention-lagen en maakt gebruik van meer geheugen-efficiënte feed forward-netwerken voor kanaalcommunicatie.
Cascaded Group Attention
Een van de belangrijkste problemen met MHSA-lagen is de redundantie in aandachtshoofden, waardoor berekeningen minder efficiënt worden. Om dit probleem op te lossen, stelt het model een nieuwe aandachtmodule voor, Cascaded Group Attention voor vision transformers, die inspiratie haalt uit groepsconvoluties in efficiënte CNN’s.

ParameterHerallocatie
Om de efficiëntie van parameters te verbeteren, heralloceert het model de parameters in het netwerk door de breedte van het kanaal van kritieke modules uit te breiden en de breedte van minder belangrijke modules te verkleinen.

De overzicht van het EfficientViT-kader kan worden uitgelegd in de bovenstaande afbeelding, waarin de onderdelen worden getoond.
- Architectuur van EfficientViT,
- Sandwichlay-outblok,
- Cascaded Group Attention.
EfficientViT: Netwerkarchitecturen

De bovenstaande afbeelding vat de netwerkarchitectuur van het EfficientViT-kader samen. Het model introduceert een overlapping patch-embedding [20,80] die 16×16 patches inbedt in C1-dimensionale tokens, wat de capaciteit van het model verhoogt om beter te presteren in laag-niveau visuele representatieleer.
EfficientViT-ModelFamilie
De EfficientViT-model familie bestaat uit 6 modellen met verschillende diepte- en breedteschalen, en een vaste aantal hoofden is toegewezen voor elk stadium. De modellen gebruiken minder blokken in de eerste stadia in vergelijking met de laatste stadia, een proces dat lijkt op het proces van MobileNetV3-kader.

EfficientViT: ModelImplementatie en Resultaten
Het EfficientViT-model heeft een totale batchgrootte van 2.048, is gebouwd met Timm en PyTorch, wordt getraind van scratch voor 300 epochs met 8 Nvidia V100-GPU’s, gebruikt een cosine learning rate scheduler, een AdamW-optimizer en voert een beeldclassificatie-experiment uit op ImageNet-1K.
Resultaten op ImageNet
Om de prestaties van EfficientViT te analyseren, wordt het vergeleken met huidige ViT- en CNN-modellen op de ImageNet-dataset. De resultaten van de vergelijking worden weergegeven in de onderstaande afbeelding.

Vergelijking met Efficiënte CNN’s en Efficiënte ViT’s
Het model wordt eerst vergeleken met efficiënte CNN’s zoals EfficientNet en traditionele CNN-kaders zoals MobileNets. Zoals te zien is, behalen de EfficientViT-modellen een betere top-1-nauwkeurigheidsscore dan MobileNet-kaders, terwijl ze 3,0X en 2,5X sneller draaien op Intel CPU en V100 GPU.

De bovenstaande afbeelding toont de prestaties van het EfficientViT-model in vergelijking met state-of-the-art grote-schaal ViT-modellen op de ImageNet-1K-dataset.
Downstream Beeldclassificatie
Het EfficientViT-model wordt toegepast op verschillende downstream-taken om de transferleer-capaciteiten van het model te bestuderen. De onderstaande afbeelding vat de resultaten van het experiment samen.

Objectdetectie
Om de objectdetectie-capaciteiten van EfficientViT te analyseren, wordt het vergeleken met efficiënte modellen op de COCO-objectdetectietaken. De onderstaande afbeelding vat de resultaten van de vergelijking samen.

Slotbeschouwing
In dit artikel hebben we het over EfficientViT, een familie van snelle vision transformer-modellen die cascaded group attention en geheugen-efficiënte operaties gebruiken. Uitgebreide experimenten die zijn uitgevoerd om de prestaties van EfficientViT te analyseren, hebben veelbelovende resultaten laten zien, aangezien het EfficientViT-model de huidige CNN- en vision transformer-modellen in de meeste gevallen overtreft.












