Kunstig intelligens
EfficientViT: Memory Efficient Vision Transformer til Computer Vision i høj opløsning

På grund af deres høje modelkapacitet har Vision Transformer-modeller haft stor succes i den seneste tid. På trods af deres ydeevne har vision-transformatormodeller én stor fejl: deres bemærkelsesværdige beregningsevne kommer til høje beregningsomkostninger, og det er grunden til, at vision-transformatorer ikke er førstevalget til realtidsapplikationer. For at løse dette problem lancerede en gruppe udviklere EfficientViT, en familie af højhastigheds vision transformere.
Når de arbejdede på EfficientViT, observerede udviklere, at hastigheden af ​​de nuværende transformermodeller ofte er begrænset af ineffektive hukommelsesoperationer, især element-vise funktioner og tensor-omformning i MHSA- eller Multi-Head Self Attention-netværk. For at tackle disse ineffektive hukommelsesoperationer har EfficientViT-udviklere arbejdet på en ny byggeklods ved hjælp af et sandwich-layout, dvs. EfficientViT-modellen gør brug af et enkelt hukommelsesbundet Multi-Head Self Attention-netværk mellem effektive FFN-lag, der hjælper med at forbedre hukommelseseffektiviteten og også at forbedre den overordnede kanalkommunikation. Desuden opdager modellen også, at opmærksomhedskort ofte har store ligheder på tværs af hoveder, hvilket fører til beregningsmæssig redundans. For at tackle redundansproblemet præsenterer EfficientViT-modellen et kaskadedelt gruppeopmærksomhedsmodul, der forsyner opmærksomhedshoveder med forskellige opdelinger af den fulde funktion. Metoden hjælper ikke kun med at spare beregningsomkostninger, men forbedrer også modellens opmærksomhedsdiversitet.
Omfattende eksperimenter udført på EfficientViT-modellen på tværs af forskellige scenarier indikerer, at EfficientViT udkonkurrerer eksisterende effektive modeller for computersyn samtidig med at der er en god afvejning mellem nøjagtighed og hastighed. Så lad os tage et dybere dyk og udforske EfficientViT-modellen lidt mere i dybden.
En introduktion til Vision Transformers og EfficientViT
Vision Transformers forbliver en af ​​de mest populære rammer i computervisionsindustrien, fordi de tilbyder overlegen ydeevne og høje beregningsmuligheder. Men med konstant forbedring af nøjagtigheden og ydeevnen af ​​vision transformer-modellerne, stiger driftsomkostningerne og beregningsmæssige overhead også. For eksempel bruger nuværende modeller, der er kendt for at levere den nyeste ydeevne på ImageNet-datasæt som SwinV2 og V-MoE, henholdsvis 3B og 14.7B parametre. Alene størrelsen af ​​disse modeller kombineret med de beregningsmæssige omkostninger og krav gør dem praktisk talt uegnede til realtidsenheder og applikationer.
EfficientNet-modellen har til formål at udforske, hvordan man kan booste ydeevnen af vision transformer modeller, og finde de involverede principper bag at designe effektive og effektive transformerbaserede rammearkitekturer. EfficientViT-modellen er baseret på eksisterende vision transformer-rammer som Swim og DeiT, og den analyserer tre væsentlige faktorer, der påvirker modellernes interferenshastigheder, herunder beregningsredundans, hukommelsesadgang og parameterbrug. Desuden observerer modellen, at hastigheden af ​​vision-transformatormodeller i hukommelsesbundet, hvilket betyder, at fuld udnyttelse af computerkraft i CPU'er/GPU'er er forbudt eller begrænset af hukommelsesadgangsforsinkelse, hvilket resulterer i negativ indvirkning på transformatorernes køretidshastighed . Elementmæssige funktioner og omformning af tensor i MHSA- eller Multi-Head Self Attention-netværk er de mest hukommelsesineffektive operationer. Modellen observerer endvidere, at optimal justering af forholdet mellem FFN (feed forward-netværk) og MHSA kan hjælpe med at reducere hukommelsesadgangstiden markant uden at påvirke ydeevnen. Modellen observerer dog også en vis redundans i opmærksomhedskortene som følge af opmærksomhedshovedets tendens til at lære lignende lineære projektioner.
Modellen er en endelig dyrkning af resultaterne under forskningsarbejdet for EfficientViT. Modellen har en ny sort med et sandwich-layout, der anvender et enkelt hukommelsesbundet MHSA-lag mellem Feed Forward Network- eller FFN-lagene. Tilgangen reducerer ikke kun den tid, det tager at udføre hukommelsesbundne operationer i MHSA, men den gør også hele processen mere hukommelseseffektiv ved at tillade flere FFN-lag at lette kommunikationen mellem forskellige kanaler. Modellen gør også brug af et nyt CGA eller Cascaded Group Attention-modul, der har til formål at gøre beregningerne mere effektive ved at reducere den beregningsmæssige redundans ikke kun i opmærksomhedshovederne, men også øger dybden af ​​netværket, hvilket resulterer i forhøjet modelkapacitet. Endelig udvider modellen kanalbredden af ​​væsentlige netværkskomponenter, herunder værdiprojektioner, mens den krymper netværkskomponenter med lav værdi som skjulte dimensioner i feed-forward-netværkene for at omfordele parametrene i rammeværket.
Som det kan ses på ovenstående billede, yder EfficientViT-rammeværket bedre end de nuværende CNN- og ViT-modeller med hensyn til både nøjagtighed og hastighed. Men hvordan formåede EfficientViT-rammeværket at udkonkurrere nogle af de nuværende state-of-the-art-rammeværker? Lad os finde ud af det.
EfficientViT: Forbedring af effektiviteten af ​​Vision Transformers
EfficientViT-modellen har til formål at forbedre effektiviteten af ​​de eksisterende vision transformer-modeller ved hjælp af tre perspektiver,
- Beregningsmæssig redundans.
- Hukommelsesadgang.
- Parameterbrug.
Modellen har til formål at finde ud af, hvordan ovenstående parametre påvirker effektiviteten af ​​vision transformer modeller, og hvordan man løser dem for at opnå bedre resultater med bedre effektivitet. Lad os tale om dem lidt mere i dybden.
Hukommelsesadgang og effektivitet
En af de væsentlige faktorer, der påvirker en models hastighed, er hukommelsesadgang overhead eller MAO. Som det kan ses på billedet nedenfor, er adskillige operatører i transformer inklusive element-vis tilføjelse, normalisering og hyppig omformning hukommelsesineffektive operationer, fordi de kræver adgang til forskellige hukommelsesenheder, hvilket er en tidskrævende proces.
Selvom der er nogle eksisterende metoder, der kan forenkle standard softmax selvopmærksomhedsberegninger som lav-rang tilnærmelse og sparsom opmærksomhed, tilbyder de ofte begrænset acceleration og forringer nøjagtigheden.
På den anden side har EfficientViT-rammeværket til formål at skære ned på omkostningerne til hukommelsesadgang ved at reducere mængden af ​​hukommelsesineffektive lag i rammen. Modellen nedskalerer DeiT-T og Swin-T til små undernetværk med en højere interferensgennemstrømning på 1.25X og 1.5X og sammenligner ydeevnen af ​​disse undernetværk med proportioner af MHSA-lagene. Som det kan ses på billedet nedenfor, øger fremgangsmåden, når den implementeres, nøjagtigheden af ​​MHSA-lag med omkring 20 til 40 %.
Beregningseffektivitet
MHSA-lag har en tendens til at indlejre inputsekvensen i flere underrum eller hoveder og beregner opmærksomhedskortene individuelt, en tilgang, der er kendt for at øge ydeevnen. Opmærksomhedskort er dog ikke beregningsmæssigt billige, og for at udforske beregningsomkostningerne undersøger EfficientViT-modellen, hvordan man kan reducere overflødig opmærksomhed i mindre ViT-modeller. Modellen måler den maksimale cosinus-lighed for hvert hoved og de resterende hoveder inden for hver blok ved at træne de breddenedskalerede DeiT-T- og Swim-T-modeller med 1.25× inferenshastighed. Som det kan ses på billedet nedenfor, er der et stort antal ligheder mellem opmærksomhedshoveder, hvilket tyder på, at modellen pådrager sig beregningsredundans, fordi adskillige hoveder har tendens til at lære lignende projektioner af den nøjagtige fulde funktion.
For at opmuntre hovederne til at lære forskellige mønstre, anvender modellen eksplicit en intuitiv løsning, hvor hvert hoved kun tilføres en del af den fulde funktion, en teknik, der ligner ideen om gruppefoldning. Modellen træner forskellige aspekter af de nedskalerede modeller, der har modificerede MHSA-lag.
Parameter Effektivitet
Gennemsnitlige ViT-modeller arver deres designstrategier som f.eks. at bruge en tilsvarende bredde til projektioner, indstille ekspansionsforholdet til 4 i FFN og øge hovedet over trin fra NLP-transformatorer. Konfigurationerne af disse komponenter skal omdesignes omhyggeligt til letvægtsmoduler. EfficientViT-modellen implementerer Taylor-struktureret beskæring for at finde de væsentlige komponenter i Swim-T- og DeiT-T-lagene automatisk og udforsker yderligere de underliggende parameterallokeringsprincipper. Under visse ressourcebegrænsninger fjerner beskæringsmetoderne uvæsentlige kanaler og beholder de kritiske for at sikre den højest mulige nøjagtighed. Figuren nedenfor sammenligner forholdet mellem kanaler og input-indlejringer før og efter beskæring på Swin-T-rammeværket. Det blev observeret, at: Grundlinjenøjagtighed: 79.1%; beskæringsnøjagtighed: 76.5%.
Ovenstående billede indikerer, at de to første trin af rammeværket bevarer flere dimensioner, mens de sidste to trin bevarer meget færre dimensioner. Det kan betyde, at en typisk kanalkonfiguration, der fordobler kanalen efter hvert trin eller bruger tilsvarende kanaler for alle blokke, kan resultere i væsentlig redundans i de sidste par blokke.
Efficient Vision Transformer: Arkitektur
På baggrund af de erfaringer, der er opnået under ovenstående analyse, arbejdede udviklere på at skabe en ny hierarkisk model, der tilbyder hurtige interferenshastigheder, EffektivViT model. Lad os se nærmere på strukturen af ​​EfficientViT-rammen. Nedenstående figur giver dig en generisk idé om EfficientViT-rammen.
Byggesten i EfficientViT Framework
Byggeklodsen til det mere effektive vision transformer netværk er illustreret i figuren nedenfor.
Rammen består af et kaskadedelt gruppeopmærksomhedsmodul, hukommelseseffektiv sandwich-layout og en parameteromfordelingsstrategi, der fokuserer på at forbedre effektiviteten af ​​modellen med hensyn til henholdsvis beregning, hukommelse og parameter. Lad os tale om dem mere detaljeret.
Sandwich layout
Modellen bruger et nyt sandwich-layout til at bygge en mere effektiv og effektiv hukommelsesblok til rammen. Sandwich-layoutet bruger mindre hukommelsesbundne selvopmærksomhedslag og gør brug af mere hukommelseseffektive feed-forward-netværk til kanalkommunikation. For at være mere specifik anvender modellen et enkelt selvopmærksomhedslag til rumlig blanding, der er klemt mellem FFN-lagene. Designet hjælper ikke kun med at reducere hukommelsestidsforbruget på grund af selvopmærksomhedslag, men tillader også effektiv kommunikation mellem forskellige kanaler inden for netværket takket være brugen af ​​FFN-lag. Modellen anvender også et ekstra interaktionstokenlag før hvert feed-forward-netværkslag ved hjælp af en DWConv eller Deceptive Convolution og forbedrer modelkapaciteten ved at indføre induktiv skævhed af den lokale strukturelle information.
Kaskaderet gruppeopmærksomhed
Et af de største problemer med MHSA-lag er redundansen i opmærksomhedshoveder, som gør beregninger mere ineffektive. For at løse problemet foreslår modellen CGA eller Cascaded Group Attention for vision transformere, et nyt opmærksomhedsmodul, der tager inspiration fra gruppeviklinger i effektive CNN'er. I denne tilgang feeder modellen individuelle hoveder med opdelinger af de fulde funktioner og dekomponerer derfor opmærksomhedsberegningen eksplicit på tværs af hoveder. At opdele funktionerne i stedet for at tilføre alle funktioner til hvert hoved sparer beregninger og gør processen mere effektiv, og modellen fortsætter med at arbejde på at forbedre nøjagtigheden og dens kapacitet yderligere ved at tilskynde lagene til at lære projektioner af funktioner, der har rigere information.
Parameteromfordeling
For at forbedre effektiviteten af ​​parametre omfordrer modellen parametrene i netværket ved at udvide bredden af ​​kanalen af ​​kritiske moduler, mens den krymper kanalbredden af ​​ikke så vigtige moduler. Baseret på Taylor-analysen sætter modellen enten små kanaldimensioner for projektioner i hvert hoved under hvert trin, eller modellen tillader fremskrivningerne at have samme dimension som inputtet. Udvidelsesforholdet for feed forward-netværket er også bragt ned til 2 fra 4 for at hjælpe med dets parameterredundans. Den foreslåede omfordelingsstrategi, som EfficientViT-rammen implementerer, tildeler flere kanaler til vigtige moduler for at give dem mulighed for bedre at lære repræsentationer i et højdimensionelt rum, hvilket minimerer tabet af funktionsinformation. For at fremskynde interferensprocessen og øge effektiviteten af ​​modellen yderligere, fjerner modellen automatisk de overflødige parametre i uvæsentlige moduler.
Oversigten over EfficientViT-rammeværket kan forklares i ovenstående billede, hvor delene,
- Arkitektur af EfficientViT,
- Sandwich Layout blok,
- Kaskaderet gruppeopmærksomhed.
EfficientViT: Netværksarkitekturer
Ovenstående billede opsummerer netværksarkitekturen i EfficientViT frameworket. Modellen introducerer en overlappende patch-indlejring [20,80], der indlejrer 16×16 patches i C1-dimensionstokens, der forbedrer modellens kapacitet til at yde bedre i visuel repræsentationsindlæring på lavt niveau. Modellens arkitektur omfatter tre faser, hvor hver fase stabler de foreslåede byggeklodser i EfficientViT-rammeværket, og antallet af tokens ved hvert subsamplinglag (2× subsampling af opløsningen) reduceres med 4X. For at gøre subsampling mere effektiv, foreslår modellen en subsample-blok, der også har det foreslåede sandwich-layout med den undtagelse, at en inverteret restblok erstatter opmærksomhedslaget for at reducere tabet af information under sampling. Desuden gør modellen i stedet for konventionel LayerNorm(LN) brug af BatchNorm(BN), fordi BN kan foldes ind i de foregående lineære eller foldede lag, hvilket giver den en køretidsfordel i forhold til LN.
EfficientViT modelfamilie
EfficientViT-modelfamilien består af 6 modeller med forskellige dybde- og breddeskalaer, og der er tildelt et fast antal hoveder for hvert trin. Modellerne bruger færre blokke i de indledende faser sammenlignet med de sidste faser, en proces, der ligner den, der følges af MobileNetV3-rammeværket, fordi processen med tidlig behandling med større opløsninger er tidskrævende. Bredden øges over etaper med en lille faktor for at reducere redundans i de senere faser. Tabellen vedhæftet nedenfor giver de arkitektoniske detaljer for EfficientViT-modelfamilien, hvor C, L og H refererer til bredde, dybde og antal hoveder i det pågældende trin.
EfficientViT: Modelimplementering og resultater
EfficientViT-modellen har en samlet batchstørrelse på 2,048, er bygget med Timm & PyTorch, er trænet fra bunden i 300 epoker ved hjælp af 8 Nvidia V100 GPU'er, bruger en cosinus-indlæringshastighedsplanlægger, en AdamW-optimering og udfører sit billedklassificeringseksperiment på ImageNet -1K. Inputbillederne beskæres tilfældigt og tilpasses til en opløsning på 224×224. Til eksperimenterne, der involverer downstream-billedklassificering, finjusterer EfficientViT-rammen modellen til 300 epoker og bruger AdamW optimizer med en batchstørrelse på 256. Modellen bruger RetineNet til objektdetektion på COCO og fortsætter med at træne modellerne i yderligere 12 epoker med de samme indstillinger.
Resultater pĂĄ ImageNet
For at analysere effektiviteten af ​​EfficientViT sammenlignes den med nuværende ViT- og CNN-modeller på ImageNet-datasættet. Resultaterne fra sammenligningen er vist i følgende figur. Da det kan ses, at EfficientViT-modelfamilien overgår de nuværende rammer i de fleste tilfælde og formår at opnå en ideel afvejning mellem hastighed og nøjagtighed.
Sammenligning med effektive CNN'er og effektive ViT'er
Modellen sammenligner først dens ydeevne med Efficient CNNs som EfficientNet og vanilla CNN frameworks som MobileNets. Som det kan ses, at sammenlignet med MobileNet-frameworks opnår EfficientViT-modellerne en bedre top-1 nøjagtighedsscore, mens de kører 3.0X og 2.5X hurtigere på henholdsvis Intel CPU og V100 GPU.
Ovenstående figur sammenligner EfficientViT-modellens ydeevne med state of the art store ViT-modeller, der kører på ImageNet-1K-datasættet.
Nedstrøms billedklassificering
EfficientViT-modellen anvendes på forskellige downstream-opgaver for at studere modellens overførselsindlæringsevner, og billedet nedenfor opsummerer resultaterne af eksperimentet. Som det kan ses, formår EfficientViT-M5-modellen at opnå bedre eller lignende resultater på tværs af alle datasæt og samtidig opretholde en meget højere gennemstrømning. Den eneste undtagelse er Cars-datasættet, hvor EfficientViT-modellen ikke leverer i nøjagtighed.
Objektdetektion
For at analysere EfficientViT's evne til at detektere objekter, sammenlignes den med effektive modeller pĂĄ COCO objektdetektionsopgaven, og billedet nedenfor opsummerer resultaterne af sammenligningen.
Afsluttende tanker
I denne artikel har vi talt om EfficientViT, en familie af hurtigsynstransformatormodeller, der bruger kaskade gruppeopmærksomhed og giver hukommelseseffektive operationer. Omfattende eksperimenter udført for at analysere effektiviteten af ​​EfficientViT har vist lovende resultater, da EfficientViT-modellen overgår de nuværende CNN- og vision-transformermodeller i de fleste tilfælde. Vi har også forsøgt at give en analyse af de faktorer, der spiller en rolle i at påvirke interferenshastigheden af ​​synstransformatorer.