AI-modeller og platforme

EfficientViT: Hukommelseseffektiv Vision Transformer til højopløsteds computer vision

mm
Føj Unite.AI til dine foretrukne kilder på Google

På grund af deres høje modelkapacitet har Vision Transformer-modeller oplevet en stor succes i nyere tid. Trods deres præstationer har visionstransformator-modellerne en stor svaghed: deres bemærkelsesværdige beregningskraft kommer med høje beregningsomkostninger, og det er derfor, visionstransformatorer ikke er det første valg til realtidsapplikationer. For at tackle denne problemstilling lancerede en gruppe udviklere EfficientViT, en familie af højhastigheds visionstransformatorer.

Da udviklerne arbejdede på EfficientViT, observerede de, at hastigheden af de nuværende transformator-modeller ofte er begrænset af ineffektive hukommelsesoperationer, især elementvise funktioner og tensor-omformning i MHSA eller Multi-Head Self Attention-netværk. For at tackle disse ineffektive hukommelsesoperationer har EfficientViT-udviklerne arbejdet på en ny byggeblok med en sandwich-layout, dvs. EfficientViT-modellen anvender en enkelt hukommelsesbundet Multi-Head Self Attention-netværk mellem effektive FFN-lag, der hjælper med at forbedre hukommelseseffektiviteten og også forbedre den samlede kanal-kommunikation. Derudover opdager modellen, at attention-kort ofte har høj sammenhæng over hoveder, hvilket fører til beregningsredundans. For at tackle redundant-problemet præsenterer EfficientViT-modellen en kaskadegruppeopmærksomhedsmodul, der føder attention-hoveder med forskellige dele af den fulde funktion. Metoden hjælper ikke kun med at spare beregningsomkostninger, men også forbedrer attention-diversiteten af modellen.

Udførlige eksperimenter udført på EfficientViT-modellen over forskellige scenarier indikerer, at EfficientViT overgår eksisterende effektive modeller til computer vision, mens den slår en god balance mellem nøjagtighed og hastighed. Så lad os dykke dybere og udforske EfficientViT-modellen i lidt mere dybde.

En introduktion til Vision Transformers og EfficientViT

Vision Transformers er en af de mest populære rammer i computer vision-industrien, da de tilbyder overlegen præstation og høj beregningskapacitet. Men med stadig forbedret nøjagtighed og præstation af visionstransformator-modellerne stiger også driftsomkostningerne og beregningsomkostningerne. For eksempel bruger nuværende modeller, der giver statisk kunstnerisk præstation på ImageNet-datasets som SwinV2 og V-MoE, 3B og 14,7B parametre henholdsvis. Den enorme størrelse af disse modeller kombineret med beregningsomkostningerne og kravene gør dem praktisk set upassende for realtidsenheder og -applikationer.

EfficientNet-modellen sigter mod at udforske, hvordan man kan forbedre præstationen af visionstransformator-modeller og finde principperne bag design af effektive og effektive transformator-baserede ramme-arkitekturer. EfficientViT-modellen er baseret på eksisterende visionstransformator-rammer som Swim og DeiT, og den analyserer tre væsentlige faktorer, der påvirker modellernes interferenshastighed, herunder beregningsredundans, hukommelsesadgang og parameterbrug. Derudover observerer modellen, at hastigheden af visionstransformator-modeller er hukommelsesbundet, hvilket betyder, at fuld udnyttelse af beregningskraft i CPU’er/GPU’er er forbudt eller begrænset af hukommelsesadgangsforsinkelse, hvilket har en negativ indvirkning på runtime-hastigheden af transformatorerne. Elementvise funktioner og tensor-omformning i MHSA eller Multi-Head Self Attention-netværk er de mest hukommelsesineffektive operationer. Modellen observerer også, at optimal justering af forholdet mellem FFN (feed forward network) og MHSA kan hjælpe med at reducere hukommelsesadgangstiden uden at påvirke præstationen. Men modellen observerer også en vis redundantans i attention-kortene som følge af attention-hovedernes tendens til at lære lignende lineære projectioner.

Modellen er en endelig udvikling af fundene under forskningsarbejdet for EfficientViT. Modellen har en ny byggeblok med en sandwich-layout, der anvender en enkelt hukommelsesbundet MHSA-lag mellem Feed Forward Network eller FFN-lag. Tilgangen reducerer ikke kun tiden, det tager at udføre hukommelsesbundne operationer i MHSA, men også gør hele processen mere hukommelseseffektiv ved at tillade flere FFN-lag at facilitere kommunikationen mellem forskellige kanaler. Modellen anvender også en ny CGA eller Cascaded Group Attention-modul, der sigter mod at gøre beregningerne mere effektive ved at reducere den beregningsmæssige redundantans ikke kun i attention-hovederne, men også øger dybden af netværket, hvilket resulterer i en forhøjet modelkapacitet. Endelig udvider modellen kanalbredden af væsentlige netværkskomponenter, herunder værdiprojectioner, mens den reducerer kanalbredden af komponenter med lav værdi som skjulte dimensioner i feed forward-netværket for at redistribuere parametrene i rammen.

Som det kan ses i billedet ovenfor, udfører EfficientViT-rammen bedre end nuværende statisk kunstnerisk og ViT-modeller i både nøjagtighed og hastighed. Men hvordan klarede EfficientViT-rammen at overgå nogle af de nuværende statisk kunstneriske rammer? Lad os finde ud af det.

EfficientViT: Forbedring af effektiviteten af Vision Transformers

EfficientViT-modellen sigter mod at forbedre effektiviteten af de eksisterende visionstransformator-modeller ved hjælp af tre perspektiver,

  1. Beregningsredundans.
  2. Hukommelsesadgang.
  3. Parameterbrug.

Modellen sigter mod at finde ud af, hvordan disse parametre påvirker effektiviteten af visionstransformator-modeller, og hvordan man kan løse dem for at opnå bedre resultater med bedre effektivitet. Lad os tale om dem i lidt mere dybde.

Hukommelsesadgang og effektivitet

En af de væsentlige faktorer, der påvirker hastigheden af en model, er hukommelsesadgangs-overhead eller MAO. Som det kan ses i billedet nedenfor, er flere operatører i transformator, herunder elementvise addition, normalisering og hyppig omformning, hukommelsesineffektive operationer, da de kræver adgang til forskellige hukommelsesenheder, hvilket er en tidskrævende proces.

Selvom der er nogle eksisterende metoder, der kan simplificere standard softmax self attention-beregninger, som lav-rang-approximation og sparse attention, tilbyder de ofte begrænsede accelerationer og forringrer nøjagtigheden.

På den anden side sigter EfficientViT-rammen mod at reducere hukommelsesadgangskosten ved at reducere mængden af hukommelsesineffektive lag i rammen. Modellen skalerer ned DeiT-T og Swin-T til små undernetværk med en højere interferens-gennemløbstid på 1,25X og 1,5X, og sammenligner præstationen af disse undernetværk med proportioner af MHSA-lagene. Som det kan ses i billedet nedenfor, øger tilgangen nøjagtigheden af MHSA-lagene med omkring 20 til 40%.

Beregnings-effektivitet

MHSA-lag tenderer til at indlejre input-sekvensen i multiple under-rum eller hoveder og beregner attention-kortene individuelt, en tilgang, der er kendt for at forbedre præstationen. Men attention-kort er ikke beregningsbillige, og for at udforske beregningsomkostningerne udforsker EfficientViT-modellen, hvordan man kan reducere redundant attention i små ViT-modeller. Modellen måler den maksimale cosinus-lighed af hver hoved og de resterende hoveder inden for hver blok ved at træne width-downscaled DeiT-T og Swim-T-modeller med 1,25× interferens-hastighed. Som det kan observeres i billedet nedenfor, er der en høj grad af lighed mellem attention-hoveder, hvilket antyder, at modellen pådrager beregningsredundans, da mange hoveder tenderer til at lære lignende projectioner af den fulde funktion.

For at opmuntre hovederne til at lære forskellige mønstre, anvender modellen en intuitiv løsning, hvor hver hoved kun får en del af den fulde funktion, en teknik, der ligner idéen om gruppe-konvolution. Modellen træner forskellige aspekter af de downscaled-modeller, der har modificerede MHSA-lag.

Parameter-effektivitet

Gennemsnitlige ViT-modeller arver deres design-strategier som at anvende en tilsvarende bredde for projectioner, sætte expansionsforholdet til 4 i FFN og øge hoveder over stadier fra NLP-transformatorer. Konfigurationerne af disse komponenter skal redesignes omhyggeligt for letvægtsmoduler. EfficientViT-modellen anvender Taylor-struktureret beskæring til at finde de væsentlige komponenter i Swim-T og DeiT-T-lagene automatisk og udforsker yderligere de underliggende parameter-allokering-principper. Under visse ressource-begrænsninger fjerner beskæringsmetoderne ikke-væsentlige kanaler og holder de kritiske kanaler for at sikre den højeste mulige nøjagtighed. Figuren nedenfor sammenligner forholdet mellem kanaler og input-embedding før og efter beskæring på Swin-T-rammen. Det blev observeret, at: Baseline-nøjagtighed: 79,1%; beskåret nøjagtighed: 76,5%.

Billedet ovenfor indikerer, at de første to stadier af rammen bevare mere dimensioner, mens de sidste to stadier bevare langt færre dimensioner. Det kan muligvis betyde, at en typisk kanal-konfiguration, der fordobler kanal-bredde efter hvert stadium eller anvender tilsvarende kanaler for alle blokke, kan resultere i betydelig redundantans i de sidste blokke.

Efficient Vision Transformer: Arkitektur

På baggrund af de erfaringer, der er gjort under ovenstående analyse, har udviklerne arbejdet på at skabe en ny hierarkisk model, der tilbyder hurtig interferens-hastighed, EfficientViT-modellen. Lad os dykke dybere og udforske strukturen af EfficientViT-rammen. Figuren nedenfor giver en generel idé om EfficientViT-rammen.

Byggeblokke af EfficientViT-rammen

Byggeblokken for den mere effektive visionstransformator-netværk er illustreret i figuren nedenfor.

Rammen består af en kaskadegruppeopmærksomhedsmodul, en hukommelseseffektiv sandwich-layout og en parameter-omfordelingsstrategi, der fokuserer på at forbedre effektiviteten af modellen i forhold til beregning, hukommelse og parameter, henholdsvis. Lad os tale om dem i større dybde.

Sandwich-layout

Modellen anvender en ny sandwich-layout til at bygge en mere effektiv og hukommelseseffektiv hukommelsesblok for rammen. Sandwich-layouten anvender færre hukommelsesbundne selv-attention-lag og anvender mere hukommelseseffektive feed forward-netværk til kanal-kommunikation. For at være mere specifik anvender modellen en enkelt selv-attention-lag for spatial mixing, der er sandwichet mellem FFN-lagene. Designet hjælper ikke kun med at reducere hukommelses-tid-forbrug på grund af selv-attention-lag, men også tillader effektiv kommunikation mellem forskellige kanaler i netværket takket være anvendelsen af FFN-lag. Modellen anvender også en ekstra interaktionstoken-lag før hvert feed forward-netværk-lag ved hjælp af en DWConv eller Deceptive Convolution og forbedrer modellens kapacitet ved at introducere induktiv bias af lokal strukturrelateret information.

Kaskadegruppeopmærksomhed

En af de største problemer med MHSA-lag er redundantans i attention-hoveder, hvilket gør beregningerne mindre effektive. For at løse problemet foreslår modellen en kaskadegruppeopmærksomhedsmodul, en ny opmærksomhedsmodul, der tager inspiration fra gruppe-konvolution i effektive CNN’er. I denne tilgang føder modellen hver hoved med en del af den fulde funktion og dekomponerer således attention-beregningen eksplicit over hoveder. At dele funktionerne i stedet for at føde fulde funktioner til hvert hoved sparere beregning og gør processen mere effektiv, og modellen fortsætter med at arbejde på at forbedre nøjagtigheden og kapaciteten yderligere ved at opmuntre lagene til at lære projectioner på funktioner med mere information.

Parameter-omfordeling

For at forbedre parameter-effektiviteten omfordeler modellen parametrene i netværket ved at udvide kanal-bredde af kritiske moduler, mens den reducerer kanal-bredde af mindre vigtige moduler. På baggrund af Taylor-analysen sætter modellen enten små kanal-dimensioner for projectioner i hver hoved under hver fase eller tillader projectionerne at have samme dimension som input. Expansionsforholdet i feed forward-netværket reduceres også til 2 fra 4 for at hjælpe med parameter-redundans. Den foreslåede omfordelingsstrategi, som EfficientViT-rammen implementerer, tillægger flere kanaler til vigtige moduler for at tillade dem at lære repræsentationer i et højdimensionalt rum bedre, hvilket minimiserer tabet af funktion-information. Derudover fjerner modellen automatisk redundante parametre i mindre vigtige moduler for at accelerere interferens-processen og forbedre effektiviteten af modellen yderligere.

Oversigten over EfficientViT-rammen kan forklares i billedet ovenfor, hvor dele,

  1. Arkitektur af EfficientViT,
  2. Sandwich-layout-blok,
  3. Kaskadegruppeopmærksomhed.

 

EfficientViT: Netværks-arkitekturer

Billedet ovenfor sammenfatter netværks-arkitekturen af EfficientViT-rammen. Modellen introducerer en overlappende patch-embedding [20,80], der indlejrer 16×16-patches i C1-dimension-tokens, hvilket forbedrer modellens kapacitet til at udføre lav-niveau-visuel repræsentationslæring. Arkitekturen af modellen består af tre faser, hvor hver fase stablede de foreslåede byggeblokke af EfficientViT-rammen, og antallet af tokens på hver under-sampling-lag (2× under-sampling af opløsningen) reduceres med 4X. For at gøre under-sampling mere effektivt foreslår modellen en under-sampling-blok, der også har den foreslåede sandwich-layout, med undtagelse af, at en inverted residual-blok erstatter attention-laget for at reducere tabet af information under sampling. Derudover anvender modellen BatchNorm (BN) i stedet for konventionel LayerNorm (LN), da BN kan foldes ind i den foregående lineære eller convolutionelle lag, hvilket giver det en runtime-fordel over LN.

 

EfficientViT-model-familie

EfficientViT-model-familien består af 6 modeller med forskellig dybde og bredde-skalaer, og et fast antal hoveder er tildelt til hver fase. Modellerne anvender færre blokke i de første faser i forhold til de sidste faser, en proces, der ligner den, der følges af MobileNetV3-rammen, da processen med tidlig fase-behandling med større opløsninger er tidskrævende. Bredde øges over faser med en lille faktor for at reducere redundantans i de sidste faser. Tabellen nedenfor giver arkitektoniske detaljer om EfficientViT-model-familien, hvor C, L og H henholdsvis refererer til bredde, dybde og antal hoveder i den pågældende fase.

EfficientViT: Model-implementering og resultater

EfficientViT-modellen har en samlet batch-størrelse på 2.048, er bygget med Timm og PyTorch, er trænet fra scratch i 300 epocher ved hjælp af 8 Nvidia V100-GPU’er, anvender en cosinus-læringsrate-scheduler, en AdamW-optimizer og udfører billed-klassificerings-eksperimentet på ImageNet-1K. Input-billederne er tilfældigt beskåret og omskaleret til en opløsning på 224×224. For eksperimenter, der involverer downstream-billed-klassificering, finjusterer EfficientViT-rammen modellen i 300 epocher og anvender AdamW-optimizer med en batch-størrelse på 256. Modellen anvender RetineNet til objekt-genkendelse på COCO og træner modellerne i yderligere 12 epocher med samme indstillinger.

Resultater på ImageNet

For at analysere præstationen af EfficientViT sammenlignes den med nuværende ViT- og CNN-modeller på ImageNet-datasættet. Resultaterne fra sammenligningen rapporteres i figuren nedenfor. Som det kan ses, overgår EfficientViT-model-familien nuværende rammer i de fleste tilfælde og opnår en ideal balance mellem hastighed og nøjagtighed.

Sammenligning med effektive CNN’er og effektive ViT’er

Modellen sammenlignes først med effektive CNN’er som EfficientNet og vanille-CNN-rammer som MobileNets. Som det kan ses, opnår EfficientViT-modellerne en bedre top-1-nøjagtighed-score, mens de kører 3,0X og 2,5X hurtigere på Intel-CPU og V100-GPU henholdsvis.

Billedet ovenfor sammenligner EfficientViT-modellens præstation med statisk kunstnerisk stor-skalae ViT-modeller, der kører på ImageNet-1K-datasættet.

Downstream-billed-klassificering

EfficientViT-modellen anvendes på forskellige downstream-opgaver for at studere modellens overføringsevne, og billedet nedenfor summerer resultaterne af eksperimentet. Som det kan observeres, opnår EfficientViT-M5-modellen bedre eller lignende resultater på alle datasæt, mens den opretholder en langt højere gennemløbstid. Den eneste undtagelse er Cars-datasættet, hvor EfficientViT-modellen ikke leverer i nøjagtighed.

Objekt-genkendelse

For at analysere EfficientViT’s evne til at genkende objekter sammenlignes den med effektive modeller på COCO-objekt-genkendelses-opgaven, og billedet nedenfor summerer resultaterne af sammenligningen.

Endelige tanker

I denne artikel har vi talt om EfficientViT, en familie af hurtige visionstransformator-modeller, der anvender kaskadegruppeopmærksomhed og tilbyder hukommelseseffektive operationer. Udførlige eksperimenter, der er udført for at analysere præstationen af EfficientViT, har vist lovende resultater, da EfficientViT-modellen overgår nuværende CNN- og visionstransformator-modeller i de fleste tilfælde. Vi har også forsøgt at give en analyse af de faktorer, der påvirker interferens-hastigheden af visionstransformatorer.

Kunal Kejriwal er en backend-ingeniør med speciale i Python, PostgreSQL, Redis og cloud-infrastruktur på GCP og AWS. Med tre års erfaring i at bygge og skalere produktionssystemer skriver han om AI-infrastruktur, distribuerede systemer og arkitekturen bag implementering af maskinlæringsarbejdsbelastninger.