Følg os

Kunstig intelligens

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

mm

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,

  1. Beregningsmæssig redundans. 
  2. Hukommelsesadgang. 
  3. 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,

  1. Arkitektur af EfficientViT,
  2. Sandwich Layout blok,
  3. 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. 

"En ingeniør af profession, en forfatter udenad". Kunal er en teknisk skribent med en dyb kærlighed og forståelse for AI og ML, dedikeret til at forenkle komplekse begreber på disse områder gennem sin engagerende og informative dokumentation.