Artificiell intelligens
EfficientViT: Minneseffektiv Vision Transformer för högupplöst datorseende

På grund av deras höga modellkapacitet har Vision Transformer-modeller haft stor framgång på senare tid. Trots deras prestanda har visionstransformator-modeller en stor svaghet: deras remarkabla beräkningsförmåga kommer med höga beräkningskostnader, och det är därför visionstransformatorer inte är det första valet för realtidsapplikationer. För att tackla detta problem lanserade en grupp utvecklare EfficientViT, en familj av höghastighetsvisionstransformatorer.
När de arbetade med EfficientViT observerade utvecklarna att hastigheten hos de nuvarande transformator-modellerna ofta är begränsad av ineffektiva minnesoperationer, särskilt elementvisa funktioner och tensor-omformning i MHSA eller Multi-Head Self Attention-nätverk. För att tackla dessa ineffektiva minnesoperationer har EfficientViT-utvecklarna arbetat med en ny byggsten med en sandwich-layout, dvs. EfficientViT-modellen använder en enda minnesbunden Multi-Head Self Attention-nätverk mellan effektiva FFN-lager som hjälper till att förbättra minneseffektiviteten och också förbättra den övergripande kanal-kommunikationen. Dessutom upptäckte modellen att uppmärksamhetskartor ofta har hög likhet över huvuden, vilket leder till beräkningsredundans. För att tackla redundansproblemet presenterar EfficientViT-modellen en kaskadgruppuppmärksamhetsmodul som matar uppmärksamhets-huvuden med olika delar av den fullständiga funktionen. Metoden hjälper inte bara till att spara beräkningskostnader, utan förbättrar också uppmärksamhetsdiversiteten hos modellen.
Omfattande experiment som utförts på EfficientViT-modellen över olika scenarier visar att EfficientViT överträffar befintliga effektiva modeller för datorseende medan den slår en bra avvägning mellan noggrannhet och hastighet. Så låt oss ta en djupare titt och utforska EfficientViT-modellen i lite mer detalj.
En introduktion till Vision Transformers och EfficientViT
Vision Transformers förblir en av de mest populära ramverken inom datorseendeindustrin eftersom de erbjuder överlägsen prestanda och hög beräkningsförmåga. Men med stadigt förbättrad noggrannhet och prestanda hos visionstransformator-modellerna ökar driftskostnaderna och beräkningsöverbelastningen också. Till exempel använder nuvarande modeller som är kända för att ge toppprestanda på ImageNet-datasets som SwinV2 och V-MoE 3B respektive 14,7B parametrar. Den rena storleken på dessa modeller, tillsammans med beräkningskostnaderna och kraven, gör dem praktiskt taget olämpliga för realtidsenheter och applikationer.
EfficientNet-modellen syftar till att utforska hur man kan förbättra prestandan hos visionstransformator-modeller och hitta principerna bakom att designa effektiva och effektiva transformer-baserade ramverksarkitekturer. EfficientViT-modellen bygger på befintliga visionstransformator-ramverk som Swim och DeiT, och analyserar tre väsentliga faktorer som påverkar modellernas interferenshastighet, inklusive beräkningsredundans, minnesåtkomst och parameteranvändning. Dessutom observerar modellen att hastigheten hos visionstransformator-modellerna är minnesbunden, vilket innebär att full utnyttjande av beräkningskraft i CPU/GPU är förhindrat eller begränsat av minnesåtkomstfördröjning, vilket resulterar i en negativ inverkan på transformerarnas körhastighet. Elementvisa funktioner och tensor-omformning i MHSA eller Multi-Head Self Attention-nätverk är de mest minnesineffektiva operationerna. Modellen observerar också att optimal justering av förhållandet mellan FFN (feed forward network) och MHSA kan hjälpa till att signifikant minska minnesåtkomsttiden utan att påverka prestandan. Men modellen observerar också en viss redundans i uppmärksamhetskartor på grund av uppmärksamhets-huvudens tendens att lära sig liknande linjära projectioner.
Modellen är en slutlig odling av resultaten under forskningsarbetet för EfficientViT. Modellen har en ny byggsten med en sandwich-layout som applicerar en enda minnesbunden MHSA-lager mellan Feed Forward Network eller FFN-lager. Tillvägagångssättet minskar inte bara tiden det tar att köra minnesbundna operationer i MHSA, utan gör också hela processen mer minneseffektiv genom att tillåta fler FFN-lager att underlätta kommunikationen mellan olika kanaler. Modellen använder också en ny CGA eller Cascaded Group Attention-modul som syftar till att göra beräkningarna mer effektiva genom att minska den beräkningsmässiga redundansen, inte bara i uppmärksamhets-huvudena, utan också ökar djupet på nätverket, vilket resulterar i en förhöjd modellkapacitet. Slutligen expanderar modellen kanalbredden på väsentliga nätverkskomponenter, inklusive värdeprojektioner, medan den minskar kanalbredden på komponenter med lågt värde, som dolda dimensioner i feed forward-nätverken, för att omfördela parametrarna i ramverket.

Som det kan ses i bilden ovan presterar EfficientViT-ramverket bättre än nuvarande toppmodeller för CNN och ViT i termer av både noggrannhet och hastighet. Men hur lyckades EfficientViT-ramverket med att överträffa några av de nuvarande toppmodellerna? Låt oss ta reda på det.
EfficientViT: Förbättring av Vision Transformers effektivitet
EfficientViT-modellen syftar till att förbättra effektiviteten hos befintliga visionstransformator-modeller med tre perspektiv,
- Beräkningsredundans.
- Minnesåtkomst.
- Parameteranvändning.
Modellen syftar till att ta reda på hur ovanstående parametrar påverkar effektiviteten hos visionstransformator-modeller och hur man kan lösa dem för att uppnå bättre resultat med bättre effektivitet. Låt oss prata om dem i lite mer detalj.
Minnesåtkomst och effektivitet
En av de viktigaste faktorerna som påverkar hastigheten hos en modell är minnesåtkomstöverbelastningen eller MAO. Som det kan ses i bilden nedan är flera operatorer i transformatorn, inklusive elementvisa addition, normalisering och frekvent omformning, minnesineffektiva operationer, eftersom de kräver åtkomst till olika minnesenheter, vilket är en tidskrävande process.

Även om det finns några befintliga metoder som kan förenkla standard-softmax-självuppmärksamhetsberäkningar, som låg-rank-approximation och sparse-uppmärksamhet, erbjuder de ofta begränsad acceleration och försämrar noggrannheten.
Å andra sidan syftar EfficientViT-ramverket till att minska minnesåtkomstkostnaden genom att minska antalet minnesineffektiva lager i ramverket. Modellen skalar ner DeiT-T och Swin-T till små subnätverk med en högre interferensgenomströmning på 1,25X och 1,5X, och jämför prestandan hos dessa subnätverk med proportioner av MHSA-lagren. Som det kan ses i bilden nedan ökar tillvägagångssättet noggrannheten hos MHSA-lagren med cirka 20 till 40%.

Beräkningseffektivitet
MHSA-lager tenderar att inbädda indatasekvensen i flera underutrymmen eller huvuden och beräknar uppmärksamhetskartorna individuellt, ett tillvägagångssätt som är känt för att förbättra prestandan. Men uppmärksamhetskartor är inte billiga att beräkna, och för att utforska beräkningskostnaderna undersöker EfficientViT-modellen hur man kan minska redundant uppmärksamhet i mindre ViT-modeller. Modellen mäter den maximala kosinuslikheten för varje huvud och de återstående huvudena inom varje block genom att träna width-ner-skalade DeiT-T- och Swim-T-modeller med 1,25× interferenshastighetsförbättring. Som det kan observeras i bilden nedan finns det en hög likhet mellan uppmärksamhets-huvudena, vilket tyder på att modellen ådrar sig beräkningsredundans eftersom många huvuden tenderar att lära sig liknande projectioner av den fullständiga funktionen.

För att uppmuntra huvudena att lära sig olika mönster tillämpar modellen explicit en intuitiv lösning där varje huvud matas med endast en del av den fullständiga funktionen, en teknik som liknar idén om gruppkonvolution. Modellen tränar olika aspekter av de ner-skalade modellerna som har modifierade MHSA-lager.
Parameter-effektivitet
Genomsnittliga ViT-modeller ärver sina designstrategier, som att använda en ekvivalent bredd för projectioner, ställa expansionsförhållandet till 4 i FFN och öka antalet huvuden över stadierna från NLP-transformatorer. Konfigurationerna av dessa komponenter behöver om-designas noggrant för lätta moduler. EfficientViT-modellen distribuerar Taylor-strukturerad beskärning för att hitta de väsentliga komponenterna i Swim-T- och DeiT-T-lagren automatiskt och undersöker också de underliggande parameterallokeringsprinciperna. Under vissa resursbegränsningar tar beskärningsmetoderna bort ovidkommande kanaler och behåller de kritiska för att säkerställa den högsta möjliga noggrannheten. Figuren nedan jämför förhållandet mellan kanaler och inmatningsinbäddningar före och efter beskärning på Swin-T-ramverket. Det observerades att: Baslinjenoggrannhet: 79,1%; beskärningsnoggrannhet: 76,5%.

Bilden ovan indikerar att de två första stadierna av ramverket bevarar fler dimensioner, medan de två sista stadierna bevarar betydligt färre dimensioner. Det kan betyda att en typisk kanalkonfiguration som dubblar kanalbredden efter varje stadium eller använder ekvivalenta kanaler för alla block kan resultera i betydande redundans i de sista blocken.
Efficient Vision Transformer: Arkitektur
På basis av resultaten från ovanstående analys arbetade utvecklarna med att skapa en ny hierarkisk modell som erbjuder snabb interferenshastighet, EfficientViT-modellen. Låt oss ta en detaljerad titt på strukturen hos EfficientViT-ramverket. Figuren nedan ger en allmän idé om EfficientViT-ramverket.
Byggstenar för EfficientViT-ramverket
Byggstenen för den mer effektiva visionstransformatorn visas i figuren nedan.

Ramverket består av en kaskadgruppuppmärksamhetsmodul, minnes-effektiv sandwich-layout och en parameteromfördelningsstrategi som fokuserar på att förbättra effektiviteten hos modellen i termer av beräkning, minne och parameter, respectively. Låt oss prata om dem i större detalj.
Sandwich-layout
Modellen använder en ny sandwich-layout för att bygga en mer effektiv och minnes-effektiv block för ramverket. Sandwich-layouten använder färre minnesbundna självuppmärksamhetslager och använder mer minnes-effektiva feed forward-nätverk för kanal-kommunikation. Mer specifikt tillämpar modellen en enda självuppmärksamhetslager för spatial blandning som är insandwichad mellan FFN-lagren. Designen hjälper inte bara till att minska minnestiden på grund av självuppmärksamhetslager, utan tillåter också effektiv kommunikation mellan olika kanaler inom nätverket tack vare användningen av FFN-lager. Modellen tillämpar också ett extra interaktionstokenlager före varje feed forward-nätverkslager med en DWConv eller Deceptiv Convolution och förbättrar modellkapaciteten genom att introducera induktiv bias av lokal strukturinformation.
Kaskadgruppuppmärksamhet
En av de stora problemen med MHSA-lager är redundansen i uppmärksamhets-huvuden, vilket gör beräkningarna mindre effektiva. För att lösa problemet föreslår EfficientViT-modellen en kaskadgruppuppmärksamhetsmodul för visionstransformatorer, en ny uppmärksamhetsmodul som tar inspiration från gruppkonvolutioner i effektiva CNN:er. I detta tillvägagångssätt matar modellen individuella huvuden med delar av den fullständiga funktionen och dekomponerar explicit uppmärksamhetsberäkningen över huvuden. Att dela funktioner i stället för att mata fulla funktioner till varje huvud sparar beräkningar och gör processen mer effektiv, och modellen fortsätter att arbeta med att förbättra noggrannheten och kapaciteten ännu mer genom att uppmuntra lagren att lära sig projectioner på funktioner som har rikare information.

Parameteromfördelning
För att förbättra parameter-effektiviteten omfördelar modellen parametrarna i nätverket genom att expandera kanalbredden på kritiska nätverkskomponenter, medan den minskar kanalbredden på mindre viktiga komponenter. Baserat på Taylor-analysen sätter modellen antingen små kanal-dimensioner för projectioner i varje huvud under varje stadium eller tillåter projectioner att ha samma dimension som inmatningen. Expansionsförhållandet för feed forward-nätverket minskas också till 2 från 4 för att hjälpa till med dess parameter-redundans. Den föreslagna omfördelningsstrategin som EfficientViT-ramverket implementerar tilldelar fler kanaler till viktiga moduler för att tillåta dem att lära sig representationer i ett högdimensionellt utrymme bättre, vilket minskar förlusten av funktionell information. Dessutom, för att påskynda interferensprocessen och förbättra modellens effektivitet ännu mer, tar modellen automatiskt bort redundanta parametrar i oviktiga moduler.

Översikten av EfficientViT-ramverket kan förklaras i figuren ovan, där delarna
- Arkitektur av EfficientViT,
- Sandwich-layout block,
- Kaskadgruppuppmärksamhet.
EfficientViT: Nätverksarkitekturer

Figuren ovan summerar nätverksarkitekturen för EfficientViT-ramverket. Modellen introducerar en överlappande patch-inbäddning [20,80] som inbäddar 16×16-patchar i C1-dimensionstoken som förbättrar modellens kapacitet att utföra lågnivå visuell representationinlärning. Arkitekturen består av tre steg, där varje steg staplar de föreslagna byggstenarna för EfficientViT-ramverket, och antalet token vid varje under-sampling-lager (2× under-sampling av upplösningen) minskas med 4X. För att göra under-sampling mer effektivt föreslår modellen en under-sampling-block som också har den föreslagna sandwich-layouten, med undantag för att en inverterad residual-block ersätter uppmärksamhetslagret för att minska informationsförlusten under sampling. Dessutom, i stället för konventionell LayerNorm (LN), använder modellen BatchNorm (BN), eftersom BN kan infogas i de föregående linjära eller konvolutions-lagren, vilket ger det en kör-tidsfördel jämfört med LN.
EfficientViT-modellfamilj
EfficientViT-modellfamiljen består av 6 modeller med olika djup- och breddskalor, och ett visst antal huvuden tilldelas för varje stadium. Modellerna använder färre block i de tidiga stadierna jämfört med de senare stadierna, en process som liknar den som följs av MobileNetV3-ramverket, eftersom processen för tidig bearbetning med större upplösningar är tidskrävande. Bredden ökas över stadierna med en liten faktor för att minska redundans i de senare stadierna. Tabellen nedan visar de arkitektoniska detaljerna för EfficientViT-modellfamiljen, där C, L och H refererar till bredd, djup och antal huvuden i det specifika stadiet.

EfficientViT: Modellimplementering och resultat
EfficientViT-modellen har en total batch-storlek på 2 048, är byggd med Timm och PyTorch, tränas från scratch i 300 epoker med 8 Nvidia V100-GPU:er, använder en cosinus-lärande-hastighets-scheduler, en AdamW-optimizer och utför sin bild-klassificerings-experiment på ImageNet-1K. Inmatnings-bilderna är slumpmässigt beskurna och återstorleks-ändrade till en upplösning på 224×224. För experiment som involverar nedströms-bild-klassificering finjusterar EfficientViT-ramverket modellen i 300 epoker och använder AdamW-optimizer med en batch-storlek på 256. Modellen använder RetineNet för objekt-detektion på COCO och fortsätter att träna modellerna i ytterligare 12 epoker med samma inställningar.
Resultat på ImageNet
För att analysera prestandan hos EfficientViT jämförs det med nuvarande ViT- och CNN-modeller på ImageNet-dataset. Resultaten från jämförelsen rapporteras i figuren nedan. Som det kan ses överträffar EfficientViT-modellfamiljen nuvarande ramverk i de flesta fall och uppnår en idealisk avvägning mellan hastighet och noggrannhet.

Jämförelse med effektiva CNN:er och effektiva ViT:er
Modellen jämför först sin prestanda mot effektiva CNN:er som EfficientNet och vanliga CNN-ramverk som MobileNets. Som det kan ses, när den jämförs med MobileNet-ramverk, uppnår EfficientViT-modellerna en bättre topp-1-noggrannhet, medan den kör 3,0X och 2,5X snabbare på Intel-CPU respektive V100-GPU.

Figuren ovan jämför EfficientViT-modellens prestanda med toppmodeller för stora skalor som kör på ImageNet-1K-dataset.
Nedströms-bild-klassificering
EfficientViT-modellen tillämpas på olika nedströms-uppgifter för att studera modellens förmåga att överföra inlärning, och figuren nedan summerar resultaten från experimentet. Som det kan observeras uppnår EfficientViT-M5-modellen bättre eller liknande resultat på alla dataset, medan den upprätthåller en betydligt högre genomströmning. Den enda undantaget är Cars-dataset, där EfficientViT-modellen misslyckas med att leverera i noggrannhet.

Objekt-detektion
För att analysera EfficientViT:s förmåga att upptäcka objekt jämförs det med effektiva modeller på COCO-objekt-detektions-uppgiften, och figuren nedan summerar resultaten från jämförelsen.

Slutliga tankar
I den här artikeln har vi talat om EfficientViT, en familj av snabba visionstransformator-modeller som använder kaskadgruppuppmärksamhet och tillhandahåller minnes-effektiva operationer. Omfattande experiment som utförts för att analysera prestandan hos EfficientViT har visat lovande resultat, eftersom EfficientViT-modellen överträffar nuvarande CNN- och visionstransformator-modeller i de flesta fall. Vi har också försökt att ge en analys av de faktorer som påverkar interferenshastigheten hos visionstransformatorer.












