AI-modeller og plattformer

EfficientViT: Minneffektiv visjonstransformator for høyoppløst datavisualisering

mm
Legg til Unite.AI blant dine foretrukne kilder på Google

På grunn av deres høye modellkapasitet, har Vision Transformer-modeller hatt stor suksess i løpet av de siste tidene. Til tross for deres ytelse, har visjonstransformator-modeller en stor svakhet: deres bemerkelsesverdige beregningsdyktighet kommer med høye beregningskostnader, og det er grunnen til at visjonstransformatorer ikke er det første valget for sanntidsapplikasjoner. For å løse dette problemet, lanserte en gruppe utviklere EfficientViT, en familie av høyhastighets visjonstransformatorer.

Når de arbeidet med EfficientViT, observerte utviklerne at hastigheten til de nåværende transformator-modellene ofte er begrenset av ineffektive minneoperasjoner, spesielt element-vis funksjoner og tensor-omformning i MHSA eller Multi-Head Self Attention-nettverk. For å løse disse ineffektive minneoperasjonene, har EfficientViT-utviklerne arbeidet med en ny byggekloss med en sandwich-layou, dvs. EfficientViT-modellen bruker en enkelt minne-begrenset Multi-Head Self Attention-nettverk mellom effektive FFN-lag (Feed Forward Network) som hjelper til å forbedre minnehåndteringseffektiviteten, og også forbedrer kanal-kommunikasjonen. Videre oppdager modellen at oppmerksomhetskart ofte har høy likhet over hodene, noe som fører til beregningsredundans. For å løse redundans-problemet, presenterer EfficientViT-modellen en kasuskjedet oppmerksomhetsmodul som matar oppmerksomhets-hodene med forskjellige deler av fullt funksjon. Metoden hjelper ikke bare til å spare beregningskostnader, men også forbedrer oppmerksomhets-diversiteten til modellen.

Omfattende eksperimenter utført på EfficientViT-modellen over forskjellige scenarier indikerer at EfficientViT overgår eksisterende effektive modeller for datavisualisering mens den slår en god avtale mellom nøyaktighet og hastighet. Så la oss dykke dyptere og utforske EfficientViT-modellen i mer detalj.

En introduksjon til visjonstransformatorer og EfficientViT

Visjonstransformatorer er en av de mest populære rammeverkene i datavisualisering-industrien fordi de tilbyr overlegen ytelse og høye beregningsmuligheter. Likevel, med stadig forbedret nøyaktighet og ytelse av visjonstransformator-modellene, øker driftskostnadene og beregnings-overhodet også. For eksempel bruker nåværende modeller som gir statisk ytelse på ImageNet-datasettene som SwinV2 og V-MoE 3 milliarder og 14,7 milliarder parametre henholdsvis. Den enorme størrelsen på disse modellene kombinert med beregningskostnadene og kravene gjør dem praktisk talt uegnet for sanntidsenheter og -applikasjoner.

EfficientNet-modellen har som mål å utforske hvordan man kan forbedre ytelsen til visjonstransformator-modellene og finne prinsippene bak å designe effektive og effektive transformator-baserte rammeverksarkitekturer. EfficientViT-modellen er basert på eksisterende visjonstransformator-rammeverk som Swim og DeiT, og den analyserer tre essensielle faktorer som påvirker modellenes interferanse-hastighet, inkludert beregningsredundans, minne-tilgang og parameter-bruk. Videre observerer modellen at hastigheten til visjonstransformator-modellene er minne-begrenset, noe betyr at full utnyttelse av beregningskraft i CPU/GPU er forbudt eller begrenset av minne-tilgangs-forsinkelse, noe som har en negativ innvirkning på kjøringshastigheten til transformatorer. Element-vis funksjoner og tensor-omformning i MHSA eller Multi-Head Self Attention-nettverk er de mest minne-ineffektive operasjonene. Modellen observerer også at optimal justering av forholdet mellom FFN (Feed Forward Network) og MHSA kan hjelpe til å redusere minne-tilgangstiden uten å påvirke ytelsen. Likevel observerer modellen også en viss redundans i oppmerksomhets-kartene som et resultat av oppmerksomhets-hodenes tendens til å lære lignende lineære prosjekteringer.

Modellen er en endelig kultivering av funnene under forskningsarbeidet for EfficientViT. Modellen har en ny byggekloss med en sandwich-layou som bruker en enkelt minne-begrenset MHSA-lag mellom Feed Forward Network eller FFN-lag. Tilnærmingen reduserer ikke bare tiden det tar å utføre minne-begrensede operasjoner i MHSA, men gjør også hele prosessen mer minne-effektiv ved å tillate flere FFN-lag å fasilitere kommunikasjonen mellom forskjellige kanaler. Modellen bruker også en ny CGA eller Cascaded Group Attention-modul som har som mål å gjøre beregningene mer effektive ved å redusere beregnings-redundansen, ikke bare i oppmerksomhets-hodene, men også øker dybden av nettverket, noe som resulterer i økt modell-kapasitet. Til slutt utvider modellen kanal-bredden til essensielle nettverkskomponenter, inkludert verdi-prosjekteringer, mens den krymper nettverkskomponenter med lav verdi, som skjulte dimensjoner i feed-forward nettverk, for å redistribuere parameterne i rammeverket.

Som det kan ses i bildet over, utfører EfficientViT-rammeverket bedre enn nåværende statisk ytelse CNN og ViT-modeller i både nøyaktighet og hastighet. Men hvordan klarte EfficientViT-rammeverket å overgå noen av nåværende statisk ytelse-rammeverk? La oss finne det ut.

EfficientViT: Forbedring av visjonstransformatorers effektivitet

EfficientViT-modellen har som mål å forbedre effektiviteten til eksisterende visjonstransformator-modeller fra tre perspektiver,

  1. Beregningsredundans.
  2. Minne-tilgang.
  3. Parameter-bruk.

Modellen har som mål å finne ut hvordan ovennevnte parametre påvirker effektiviteten til visjonstransformator-modellene og hvordan å løse dem for å oppnå bedre resultater med bedre effektivitet. La oss snakke om dem i mer detalj.

Minne-tilgang og effektivitet

En av de essensielle faktorene som påvirker hastigheten til en modell er minne-tilgangs-overhodet eller MAO. Som det kan ses i bildet under, er flere operasjoner i transformator, inkludert element-vis addisjon, normalisering og hyppig omformning, minne-ineffektive operasjoner, fordi de krever tilgang til forskjellige minne-enheter, noe som er en tidkrevende prosess.

Selv om det finnes noen eksisterende metoder som kan forenkle standard softmax selv-oppmerksomhets-beregninger, som lav-rank-approksimasjon og sparse oppmerksomhet, tilbyr de ofte begrenset akselerasjon og reduserer nøyaktigheten.

På den andre siden, har EfficientViT-rammeverket som mål å kutte ned minne-tilgangskostnadene ved å redusere mengden minne-ineffektive lag i rammeverket. Modellen skalerer ned DeiT-T og Swin-T til små undernettverk med en høyere interferanse-gjennomstrømming på 1,25X og 1,5X, og sammenligner ytelsen til disse undernettverkene med proporsjoner av MHSA-lagene. Som det kan ses i bildet under, når implementert, booster tilnærmingen nøyaktigheten til MHSA-lagene med om lag 20 til 40%.

Beregnings-effektivitet

MHSA-lag tenderer til å innbedre inndata-sekvensen i flere underrom eller hoder, og beregner oppmerksomhets-kartene individuelt, en tilnærming som er kjent for å forbedre ytelsen. Likevel er oppmerksomhets-kartene ikke beregnings-billige, og for å utforske beregnings-kostnadene, utforsker EfficientViT-modellen hvordan man kan redusere redundant oppmerksomhet i mindre ViT-modeller. Modellen måler den maksimale kosinus-lignheten til hver hode og de gjenværende hodene innen hver blokk ved å trene bredde-skalert DeiT-T og Swim-T-modeller med 1,25X interferanse-hastighet. Som det kan observeres i bildet under, er det en høy mengde lignhet mellom oppmerksomhets-hodene, noe som antyder at modellen pådrar seg beregnings-redundans fordi mange hoder tenderer til å lære lignende prosjekteringer av fullt funksjon.

For å oppmuntre hodene til å lære forskjellige mønster, anvender modellen en intuitiv løsning hvor hver hode mates kun en del av fullt funksjon, en teknikk som ligner på gruppe-konvolusjon. Modellen trener forskjellige aspekter av de skalerte modellene som har modifiserte MHSA-lag.

Parameter-effektivitet

Gjennomsnittlige ViT-modeller arver deres design-strategier som å bruke en ekvivalent bredde for prosjekteringer, å sette ekspansjonsforholdet til 4 i FFN, og å øke antall hoder over steg fra NLP-transformatorer. Konfigurasjonene av disse komponentene må være redesignet nøye for lette moduler. EfficientViT-modellen anvender Taylor-strukturert pruning for å finne de essensielle komponentene i Swim-T og DeiT-T lagene automatisk, og utforsker videre de underliggende parameter-allokering-prinsippene. Under bestemte ressurs-begrensninger fjerner pruning-metodene ubetydelige kanaler og beholder de kritiske for å sikre høyest mulig nøyaktighet. Figuren under sammenligner forholdet mellom kanaler og inndata-embeddings før og etter pruning på Swin-T-rammeverket. Det ble observert at: Baseline-nøyaktighet: 79,1%; pruned-nøyaktighet: 76,5%.

Bildet over indikerer at de første to stegene i rammeverket beholder flere dimensjoner, mens de siste to stegene beholder mye færre dimensjoner. Dette kan bety at en typisk kanal-konfigurasjon som doblar kanal-bredde etter hvert steg eller bruker ekvivalent kanaler for alle blokker, kan resultere i betydelig redundans i de siste blokkene.

Efficient visjonstransformator: Arkitektur

Basert på funnene fra ovennevnte analyse, arbeidet utviklerne med å skape en ny hierarkisk modell som tilbyr rask interferanse-hastighet, EfficientViT-modellen. La oss se nærmere på strukturen til EfficientViT-rammeverket. Figuren under gir en generell idé om EfficientViT-rammeverket.

Byggeklosser for EfficientViT-rammeverket

Byggeklossen for den mer effektive visjonstransformator-nettverket er illustrert i figuren under.

Rammeverket består av en kasuskjedet oppmerksomhetsmodul, minne-effektiv sandwich-layou og en parameter-omfordelingsstrategi som fokuserer på å forbedre effektiviteten til modellen i beregning, minne og parameter, henholdsvis. La oss snakke om dem i mer detalj.

Sandwich-layou

Modellen bruker en ny sandwich-layou for å bygge en mer effektiv og minne-effektiv blokk for rammeverket. Sandwich-layouen bruker færre minne-begrensede selv-oppmerksomhets-lag og bruker mer minne-effektive feed-forward nettverk for kanal-kommunikasjon. For å være mer spesifik, anvender modellen en enkelt selv-oppmerksomhets-lag for romlig blanding som er sandwichet mellom FFN-lagene. Designet hjelper ikke bare til å redusere minne-tid-forbruket på grunn av selv-oppmerksomhets-lag, men tillater også effektiv kommunikasjon mellom forskjellige kanaler i nettverket takket være bruk av FFN-lag. Modellen anvender også en ekstra interaksjon-token-lag før hvert feed-forward nettverk-lag ved å bruke en DWConv eller Deceptive Convolution, og forbedrer modell-kapasiteten ved å introdusere induktiv forvrengning av lokal struktur-informasjon.

Kasuskjedet oppmerksomhet

En av de største problemene med MHSA-lag er redundansen i oppmerksomhets-hoder, noe som gjør beregningene mindre effektive. For å løse problemet, presenterer modellen en ny oppmerksomhetsmodul inspirert av gruppe-konvolusjoner i effektive CNN-er, en kasuskjedet oppmerksomhetsmodul som mater hver hode med forskjellige deler av fullt funksjon. Dette sparer beregning og gjør prosessen mer effektiv, og modellen fortsetter å arbeide med å forbedre nøyaktigheten og kapasiteten videre ved å oppmuntre lagene til å lære prosjekteringer på funksjoner med rikere informasjon.

Parameter-omfordeling

For å forbedre effektiviteten til parameterne, omfordeler modellen parameterne i nettverket ved å utvide kanal-bredde til kritiske moduler mens den krymper kanal-bredde til mindre viktige moduler. Basert på Taylor-analyse, setter modellen enten små kanal-dimensjoner for prosjekteringer i hver hode under hvert steg eller tillater prosjekteringene å ha samme dimensjon som inndata. Ekspansjonsforholdet til feed-forward nettverket reduseres til 2 fra 4 for å hjelpe med parameter-redundans. Den foreslåtte omfordelingsstrategien som EfficientViT-rammeverket implementerer, tillater mer kanaler til viktige moduler for å lære representasjoner i et høyt dimensjonsrom bedre, noe som minimerer tapet av funksjonsinformasjon. Videre, for å akselerere interferanse-prosessen og forbedre effektiviteten til modellen enda mer, fjerner modellen automatisk redundante parameter i mindre viktige moduler.

Oversikten over EfficientViT-rammeverket kan forklares i bildet over hvor delene,

  1. Arkitektur av EfficientViT,
  2. Sandwich-layou-blokk,
  3. Kasuskjedet oppmerksomhet.

 

EfficientViT: Nettverks-arkitekturer

Bildet over summerer nettverks-arkitekturen til EfficientViT-rammeverket. Modellen introduserer en overlappende patch-embedding [20,80] som innbeder 16×16 patches til C1-dimensjons-token som forbedrer modellens kapasitet til å utføre bedre lav-nivå visuell representasjonslæring. Arkitekturen til modellen består av tre steg hvor hvert steg stablet de foreslåtte byggeklossene til EfficientViT-rammeverket, og antall token på hver under-sampling-lag (2× under-sampling av oppløsningen) reduseres med 4X. For å gjøre under-sampling mer effektivt, foreslår modellen en under-sampling-blokk som også har den foreslåtte sandwich-layouen med unntak av at en invers residual-blokk erstatter oppmerksomhets-laget for å redusere informasjonstap under sampling. Videre, i stedet for konvensjonell LayerNorm (LN), bruker modellen BatchNorm (BN) fordi BN kan foldes inn i de foregående lineære eller konvolusjons-lagene, noe som gir det en kjøringsfordel over LN.

 

EfficientViT-modell-familie

EfficientViT-modell-familien består av 6 modeller med forskjellig dybde- og bredde-skalaer, og et fast antall hoder er tildelt for hvert steg. Modellene bruker færre blokker i de første stegene sammenlignet med de siste stegene, en prosess som ligner på den som følges av MobileNetV3-rammeverket, fordi prosessen med tidlig steg-behandling med større oppløsninger er tidkrevende. Bredde økes over stegene med en liten faktor for å redusere redundans i de siste stegene. Tabellen under gir arkitektoniske detaljer om EfficientViT-modell-familien hvor C, L og H henholdsvis refererer til bredde, dybde og antall hoder i det spesifikke steg.

EfficientViT: Modell-implementering og resultater

EfficientViT-modellen har en total batch-størrelse på 2 048, er bygget med Timm og PyTorch, er trent fra scratch i 300 epoker med 8 Nvidia V100-GPU-er, bruker en kosinus-læringssats-scheduler, en AdamW-optimizer, og utfører bilde-klassifisering-eksperiment på ImageNet-1K. Inndata-bildene er tilfeldig klippet og større enn 224×224. For eksperimentene som involverer nedstrøms-bilde-klassifisering, finjusterer EfficientViT-rammeverket modellen i 300 epoker og bruker AdamW-optimizer med en batch-størrelse på 256. Modellen bruker RetineNet for objekt-dettekt på COCO og fortsetter å trene modellene i ytterligere 12 epoker med samme innstillinger.

Resultater på ImageNet

For å analysere ytelsen til EfficientViT, sammenlignes den med nåværende ViT- og CNN-modeller på ImageNet-datasettet. Resultatene fra sammenligningen rapporteres i figuren under. Som det kan ses, overgår EfficientViT-modell-familien nåværende rammeverk i de fleste tilfeller og oppnår en ideal avtale mellom hastighet og nøyaktighet.

Sammenligning med effektive CNN-er og effektive ViT-er

Modellen sammenlignes først med effektive CNN-er som EfficientNet og vanlige CNN-rammeverk som MobileNets. Som det kan ses, når sammenlignet med MobileNet-rammeverk, oppnår EfficientViT-modellene bedre topp-1 nøyaktighet, mens de kjører 3,0X og 2,5X raskere på Intel CPU og V100 GPU henholdsvis.

Bildet over sammenligner EfficientViT-modellens ytelse med statisk ytelse store ViT-modeller som kjører på ImageNet-1K-datasettet.

Nedstrøms-bilde-klassifisering

EfficientViT-modellen anvendes på forskjellige nedstrøms-oppdrag for å studere modellens overførings-læringsevner, og bildet under summerer resultatene av eksperimentet. Som det kan observeres, oppnår EfficientViT-M5-modellen bedre eller like resultater over alle datasettene mens den opprettholder en mye høyere gjennomstrømming. Den eneste unntak er Cars-datasettet, hvor EfficientViT-modellen ikke klarer å levere i nøyaktighet.

Objekt-dettekt

For å analysere EfficientViT-modellens evne til å detektere objekter, sammenlignes den med effektive modeller på COCO-objekt-dettekt-oppdrag, og bildet under summerer resultatene av sammenligningen.

Slutt-tanker

I denne artikkelen har vi snakket om EfficientViT, en familie av rask visjonstransformator-modeller som bruker kasuskjedet oppmerksomhet og tilbyr minne-effektive operasjoner. Omfattende eksperimenter utført for å analysere ytelsen til EfficientViT har vist lovende resultater, og EfficientViT-modellen overgår nåværende CNN- og visjonstransformator-modeller i de fleste tilfeller. Vi har også forsøkt å gi en analyse av faktorene som påvirker interferanse-hastigheten til visjonstransformatorer.

Kunal Kejriwal er en backend‑ingeniør som spesialiserer seg på Python, PostgreSQL, Redis og skyinfrastruktur på GCP og AWS. Med tre års erfaring med å bygge og skalere produksjonssystemer skriver han om AI‑infrastruktur, distribuerte systemer og arkitekturen bak utrulling av maskinlæringsarbeidsbelastninger.