AI-mallit ja alustat

EfficientViT: Muistin Tehokas Näköhavaintojen Muunnos Korkearesoluutioisen Tietokoneen Näköhavainnolle

mm
Lisää Unite.AI suosikkilähteisiisi Google-palvelussa

Näköhavaintojen muunnosmallit ovat menestyneet viime aikoina niiden korkean mallikapasiteetin ansiosta. Vaikka nämä mallit ovat suorituskykyisiä, niillä on yksi suuri heikkous: niiden huippuluokan laskentakapasiteetti tulee kalliiksi, ja se on syy, miksi näköhavaintojen muunnokset eivät ole ensimmäinen valinta reaaliaikaisiin sovelluksiin. Tätä ongelmaa varten kehitettiin EfficientViT, nopeiden näköhavaintojen muunnosten perhe.

Kun työskenneltiin EfficientViT: n parissa, kehittäjät totesivat, että nykyisten muunnosmallien nopeus on usein rajattu tehokkaiden muistioperaatioiden puutteella, erityisesti elementtimäisissä funktioissa ja tensorin uudelleenmuokkauksessa MHSA: ssä tai monipäisen itsehuomion verkkossa. Tätä varten EfficientViT: n kehittäjät ovat työskennelleet uuden rakennuspalikan parissa, joka käyttää voileipälayoutia, eli EfficientViT-malli hyödyntää yhtä muistirajoitettua monipäistä itsehuomioverkkoa tehokkaiden FFN-kerrosten välissä, mikä parantaa muistin tehokkuutta ja lisää kanavan viestintää. Malli myös havaitsee, että huomio-kartat usein ovat samankaltaisia eri päissä, mikä johtaa laskennalliseen redundanssiin. Tätä redundanssiongelmaa varten EfficientViT-malli esittää kaskaadin ryhmän huomio-moduulin, joka syöttää huomio-päitä eri jaksoilla koko ominaisuudesta. Menetelmä säästää ei vain laskennallisia kustannuksia, vaan myös parantaa mallin huomio-diversiteettiä.

Kattavat kokeet, jotka on suoritettu EfficientViT-mallilla eri tilanteissa, osoittavat, että EfficientViT ylittää olemassa olevat tehokkaat mallit tietokoneen näköhavainnolle, ja se saavuttaa hyvän tasapainon tarkkuuden ja nopeuden välillä. Joten annetaan syvennyttyä EfficientViT-malliin tarkemmin.

Näköhavaintojen Muunnosten ja EfficientViT: n Johdanto

Näköhavaintojen muunnokset ovat yksi suosituimmista kehyksistä tietokoneen näköhavainnon teollisuudessa, koska ne tarjoavat erinomaisen suorituskyvyn ja korkean laskentakapasiteetin. Vaikka näköhavaintojen muunnosmallien tarkkuus ja suorituskyky paranevat jatkuvasti, toiminnalliset kustannukset ja laskennallinen kuormitus kasvavat myös. Esimerkiksi nykyiset mallit, jotka tarjoavat valtavirta-tason suorituskyvyn ImageNet-aineistoilla, kuten SwinV2 ja V-MoE, käyttävät 3B ja 14,7B parametreja vastaavasti. Näiden mallien valtava koko yhdistettynä laskennallisiin kustannuksiin ja vaatimuksiin tekee niistä käytännössä soveltumattomia reaaliaikaisiin laitteisiin ja sovelluksiin.

EfficientNet-malli pyrkii tutkimaan, miten näköhavaintojen muunnosmallien suorituskykyä voidaan parantaa, ja mitkä periaatteet ovat mukana tehokkaiden ja tehokkaiden muunnosperustaisen kehysarkkitehtuurien suunnittelussa. EfficientViT-malli perustuu olemassa oleviin näköhavaintojen muunnoskehyksiin, kuten Swim ja DeiT, ja se tutkii kolmea olennaisinta tekijää, jotka vaikuttavat mallien häirintänopeuteen, mukaan lukien laskennallinen redundanssi, muistiin pääsy ja parametrin käyttö. Lisäksi malli havaitsee, että näköhavaintojen muunnosmallien nopeus on muistirajoitettu, mikä tarkoittaa, että laskennan täydellinen hyödyntäminen CPU:issa/GPU:issa on kielletty tai rajoitettu muistin viiveen vuoksi, mikä vaikuttaa negatiivisesti muunnosten suoritusaikaan. Elementtimäiset funktiot ja tensorin uudelleenmuokkaus MHSA: ssä tai monipäisessä itsehuomioverkossa ovat muistitehokkaimpia operaatioita.

Malli on lopullinen kylvö tutkimustyöstä EfficientViT: lle. Malli esittää uuden mustan voileipälayoutilla, joka soveltaa yhtä muistirajoitettua monipäistä itsehuomioverkkoa tehokkaiden FFN-kerrosten välissä. Tämä lähestymistapa vähentää muistin aikaa, joka kuluu muistirajoitettuihin operaatioihin MHSA: ssä, ja se tekee koko prosessin muistitehokkaammaksi, sallien enemmän FFN-kerroksia, jotka helpottavat kanavan viestintää. Malli myös käyttää uutta CGA- tai kaskaadin ryhmän huomio-moduulia, joka pyrkii tekemään laskennat tehokkaammaksi vähentämällä laskennallista redundanssia ei vain huomio-päissä, vaan myös lisäämällä verkon syvyyttä, mikä johtaa korkeamman mallikapasiteetin.

Kuvasta voidaan nähdä, että EfficientViT-kehys suorittaa paremmin kuin nykyiset valtavirta-CNN- ja ViT-mallit sekä tarkkuuden että nopeuden suhteen. Mutta miten EfficientViT-kehys onnistui ylittämään jotkut nykyiset valtavirta-kehykset? Tutkitaan sitä tarkemmin.

EfficientViT: Näköhavaintojen Muunnosten Tehokkuuden Parantaminen

EfficientViT-malli pyrkii parantamaan näköhavaintojen muunnosmallien tehokkuutta kolmesta näkökulmasta,

  1. Laskennallinen redundanssi.
  2. Muistiin pääsy.
  3. Parametrin käyttö.

Malli pyrkii selvittämään, miten edellä mainitut tekijät vaikuttavat näköhavaintojen muunnosmallien tehokkuuteen, ja miten niitä voidaan ratkaista saavuttaaksesi parempia tuloksia paremmalla tehokkuudella. Tutkitaan niitä tarkemmin.

Muistiin Pääsy ja Tehokkuus

Yksi olennaisimmista tekijöistä, jotka vaikuttavat mallin nopeuteen, on muistiin pääsyn viive eli MAO. Kuvasta voidaan nähdä, että useat operaattorit muunnoksessa, kuten elementtimäiset lisäykset, normalisointi ja usein uudelleenmuokkaus, ovat muistitehokkaita operaatioita, koska ne vaativat pääsyä eri muistiyksiköihin, mikä on aikaa vievä prosessi.

Vaikka on olemassa joitakin olemassa olevia menetelmiä, jotka voivat yksinkertaisesti vakiomuunnos-ominaisuuksien laskentaa, kuten matalan arvon approksimointi ja harva huomio, ne usein tarjoavat vain rajoitetun kiihdytyksen ja heikentävät tarkkuutta.

Toisaalta EfficientViT-kehys pyrkii vähentämään muistiin pääsyn kustannuksia vähentämällä määrää muistitehokkaita kerroksia kehyksessä. Malli skaalaa DeiT-T- ja Swin-T-mallit pienemmiksi aliverkkorakenteiksi, joilla on suurempi häirintänopeus, ja vertaa niiden suorituskykyä MHSA-kerrosten osuuden kanssa. Kuvasta voidaan nähdä, että lähestymistapa parantaa MHSA-kerrosten tarkkuutta noin 20-40 %.

Laskennan Tehokkuus

MHSA-kerrokset pyrkivät upottamaan syötteen sekvenssin useisiin alitiloihin tai päihin, ja laskevat huomio-kartat yksittäin, mikä on tunnettu parantavan suorituskykyä. Kuitenkin huomio-kartat eivät ole laskennallisesti halpoja, ja tutkitaan, miten voidaan vähentää tarpeetonta huomiota pienemmissä ViT-malleissa. EfficientViT-malli mittaa jokaisen pään ja muiden päiden maksimikosini-samankaltaisuutta jokaisen lohkon sisällä kouluttamalla leveyden laskettua DeiT-T- ja Swim-T-mallia 1,25-kertaisella laskennanopeudella. Kuvasta voidaan nähdä, että on suuri määrä samankaltaisuutta huomio-päiden välillä, mikä osoittaa, että malli kärsii laskennallisesta redundanssista, koska useat päät pyrkivät oppimaan samankaltaisia lineaarisia projektiota.

Jotta päät oppisivat erilaisia kuvioita, malli soveltaa intuitiivisen ratkaisun, jossa jokainen pää saa vain osan koko ominaisuudesta, mikä muistuttaa ryhmäkonvoluution ideaa. Malli kouluttaa eri osia laskettujen malleja, joissa on muokattu MHSA-kerrokset.

Parametrin Tehokkuus

Keskimääräiset ViT-mallit perivät suunnittelustrategiat, kuten käytön vastaavan leveyden projektioiden, asettamisen laajentumisuhde 4: ään FFN: ssä ja lisäämisen pään määrää vaiheittain, NLP-muunnoksista. Nämä komponenttien konfiguraatiot tarvitsevat huolellista suunnittelua kevyille moduuleille. EfficientViT-malli käyttää Taylor-rakenteista rajointia etsimään tärkeitä komponentteja Swim-T- ja DeiT-T-kerroksissa automaattisesti ja tutkii myös parametrin jakamisen periaatteita. Tietyissä resurssirajoituksissa rajointimenetelmät poistavat epäolennaiset kanavat ja pitävät kriittiset kanavat, jotta saadaan korkein mahdollinen tarkkuus. Kuva vertaa kanavien suhdetta syöte-upotuksiin ennen ja jälkeen rajoinnin Swin-T-kehyksessä. Se havaittiin, että: perustarkkuus: 79,1 %; rajottu tarkkuus: 76,5 %.

Yllä oleva kuva osoittaa, että kehysrakenteen ensimmäiset kaksi vaihetta säilyttävät enemmän ulottuvuuksia, kun taas viimeiset kaksi vaihetta säilyttävät vähemmän ulottuvuuksia. Se saattaa tarkoittaa, että tyypillinen kanavan konfiguraatio, joka kaksinkertaistaa kanavan jokaisen vaiheen jälkeen tai käyttää vastaavan kanavan kaikille lohkoille, voi johtaa merkittävään redundanssiin viimeisissä lohkoissa.

Tehokas Näköhavaintojen Muunnos: Arkkitehtuuri

EfficientViT-malli perustuu edellä mainittuihin havaintoihin. Kehittäjät työskentelivät uuden hierarkkisen mallin luomiseksi, joka tarjoaa nopean häirintänopeuden, EfficientViT-mallin. Tutkitaan mallin rakennetta tarkemmin.

EfficientViT-kehyksen Rakennuspalikat

Tehokkaamman näköhavaintojen muunnosverkon rakennuspalikka on esitetty alla olevassa kuvassa.

Kehys koostuu kaskaadin ryhmän huomio-moduulista, muistitehokkaasta voileipälayoutista ja parametrin uudelleenjako-strategiasta, jotka keskittyvät parantamaan mallin tehokkuutta laskennan, muistin ja parametrin suhteen. Tutkitaan niitä tarkemmin.

Voileipälayout

Malli käyttää uutta voileipälayoutia muodostamaan tehokkaamman muistiblokin kehykselle. Voileipälayout käyttää vähemmän muistirajoitettuja itsehuomio-kerroksia ja hyödyntää enemmän muistitehokkaita syötteen eteenpäin-kerroksia kanavan viestinnässä. Tarkemmin sanottuna malli soveltaa yhtä itsehuomiokerrosta tilan sekoittamiseksi, joka on hiekkasämpylänä FFN-kerrosten välissä. Suunnittelu vähentää muistin aikaa, joka kuluu itsehuomiokerrosten vuoksi, ja se sallii tehokkaan kanavan viestinnän verkon sisällä FFN-kerrosten ansiosta. Malli myös soveltaa lisää vuorovaikutusmerkki-kerrosta ennen jokaisen syötteen eteenpäin-kerroksen käyttäen DWConv- tai Deceptive Convolution, ja se parantaa mallin kapasiteettia esittämällä paikallisen rakenteellisen tiedon indusoidun vinouman.

Kaskaadin Ryhmän Huomio

Yksi suurimmista ongelmista MHSA-kerroksissa on redundanssi huomio-päissä, mikä tekee laskennan tehokkaammaksi. Ratkaisemaan ongelmaa malli esittää CGA- tai kaskaadin ryhmän huomio-moduulin näköhavaintojen muunnoksille, joka ottaa vaikutteita ryhmäkonvoluutioista tehokkaista CNN: istä. Tässä lähestymistavassa malli syöttää yksittäisiä päitä eri jaksoilla koko ominaisuudesta, ja se hajottaa huomio-laskennan eksplisiittisesti päiden välillä. Ominaisuuksien jakaminen sijaan siitä, että koko ominaisuus syötetään jokaiselle päälle, säästää laskentaa ja tekee prosessin tehokkaammaksi, ja malli jatkaa työtään parantamalla tarkkuutta ja kapasiteettia edelleen kannustamalla kerroksia oppimaan projektiota, joilla on rikkaampi tieto.

Parametrin Uudelleenjako

Mallin tehokkuuden parantamiseksi parametreja uudelleenjakostrategiaa käytetään. Taylor-analyysin perusteella malli asettaa pienet kanavan ulottuvuudet jokaiselle päälle jokaisessa vaiheessa tai sallii projektioiden olla saman ulottuvuuden kanssa kuin syöte. FFN: n laajentumisuhde vähennetään 4: stä 2: een, jotta parametrin redundanssi vähenee. EfficientViT-kehyksen ehdottama uudelleenjakostrategia antaa enemmän kanavia tärkeille moduuleille, jotta ne voivat oppia edustuksia korkeassa ulottuvuudessa, mikä vähentää piirteiden tietohävikkiä. Lisäksi, jotta häirintäprosessi nopeutettaisiin ja mallin tehokkuus parantuisi edelleen, malli poistaa automaattisesti tarpeettomat parametri moduuleista, joissa on vähän arvoa.

Yleiskatsaus EfficientViT-kehyksestä voidaan selittää yllä olevassa kuvassa, jossa osat ovat

  1. EfficientViT-arkkitehtuuri,
  2. Voileipälayout-blokkeri,
  3. Kaskaadin ryhmän huomio.

 

EfficientViT: Verkkorakenteet

Yllä oleva kuva tiivistää EfficientViT-kehyksen verkkorakenteen. Malli esittää limittävän patch-upotusmenetelmän [20,80], joka upottaa 16×16-patcheja C1- ulottuvuuden tokenien kanssa, mikä parantaa mallin kapasiteettia alhaisen tason visuaalisen esitysmuodon oppimisessa. Mallin arkkitehtuuri koostuu kolmesta vaiheesta, joissa jokainen vaihe pinoutaa ehdotetut EfficientViT-kehyksen rakennuspalikat, ja tokenien määrä jokaisessa alinäytössä (2x alennus resoluutiosta) vähenee 4-kertaisesti. Tehokkaamman alennuksen vuoksi malli esittää alennuslokin, joka myös käyttää ehdotettua voileipälayoutia, mutta käännynnäisellä jäännöslohkolla, joka korvaa huomio-kerroksen, jotta tietohävikki alennuksessa vähenee. Lisäksi, perinteisen LayerNorm (LN): n sijaan malli käyttää BatchNorm (BN): ää, koska BN voidaan yhdistää edeltävään lineaariseen tai konvoluutio-kerrokseen, mikä antaa sille suorituskykyetua LN: ään verrattuna.

 

EfficientViT-Malliperhe

EfficientViT-malliperhe koostuu kuudesta mallista, joilla on eri syvyys- ja leveysmitta, ja määrätty määrä päitä on määritetty kullekin vaiheelle. Mallit käyttävät vähemmän lohkoja alkuvaiheissa verrattuna loppuvaiheisiin, prosessi, joka on samanlainen kuin MobileNetV3-kehyksessä, koska alkuvaiheen prosessi suuremmilla resoluutioilla on aikaa vievä. Leveys kasvaa vaiheittain pienellä tekijällä vähentääksesi redundanssin myöhemmissä vaiheissa. Liitetty taulukko tarjoaa arkkitehtoniset yksityiskohdat EfficientViT-malliperheestä, jossa C, L ja H viittaavat leveyteen, syvyyteen ja päiden määrään kussakin vaiheessa.

EfficientViT: Mallin Toteutus ja Tulokset

EfficientViT-mallin kokonaiskoko on 2 048, se on rakennettu Timm- ja PyTorch-kehyksillä, se on koulutettu alusta alkaen 300 epochin ajan käyttäen 8 Nvidia (NVDA ) V100-grafiikkaprosessoria, se käyttää kosinisen oppimissäännön aikataulua, AdamW-optimointia ja suorittaa kuvaluokittelukokeen ImageNet-1K: lla. Syötekuva on satunnaisesti leikattu ja muunnettu resoluutioon 224×224. Kokeissa, jotka liittyvät kuvan luokittelun, EfficientViT-kehys hienosäätää mallia 300 epochin ajan ja käyttää AdamW-optimointia 256: n kokorajoituksella. Malli käyttää RetineNetiä objektin havainnossa COCO: lla ja jatkaa kouluttamista 12 epochin ajan samojen asetusten kanssa.

Tulokset ImageNetissä

Tutkittaessa EfficientViT-mallin suorituskykyä, sitä verrataan nykyisiin ViT- ja CNN-malleihin ImageNet-tietokannassa. Vertailun tulokset on raportoitu seuraavassa kuvassa. Kuvasta voidaan nähdä, että EfficientViT-malliperhe ylittää nykyiset kehykset useimmissa tapauksissa ja saavuttaa ihanteellisen tasapainon nopeuden ja tarkkuuden välillä.

Vertailu Tehokkaiden CNN:iden ja Tehokkaiden ViT:iden Kanssa

Malli vertaa ensin suorituskykyään tehokkaiden CNN:iden, kuten EfficientNet ja perinteisten CNN-kehyksien, kuten MobileNet, kanssa. Kuvasta voidaan nähdä, että verrattuna MobileNet-kehyksiin, EfficientViT-mallit saavuttavat paremman ykkösluokan tarkkuuden, ja ne suorittavat 3,0-kertaisesti nopeammin Intel-CPU: lla ja 2,5-kertaisesti nopeammin V100-grafiikkaprosessorilla.

Yllä oleva kuva vertaa EfficientViT-mallin suorituskykyä valtavirta-suurten ViT-mallien kanssa ImageNet-1K-tietokannassa.

Kuvan Luokittelu

EfficientViT-mallia sovelletaan eri tehtäviin tutkittaessa mallin siirtymiskykyä, ja alla oleva kuva tiivistää kokeen tulokset. Kuvasta voidaan nähdä, että EfficientViT-M5-malli saavuttaa paremman tai samanlaisen tuloksen kaikilla tietokannoilla, ja se ylläpitää samalla korkeampaa läpäisyä. Ainoa poikkeus on Cars-tietokanta, jossa EfficientViT-malli ei pysty toimittamaan tarkkuutta.

Objektin Havainnontekninen

Tutkittaessa EfficientViT-mallin kykyä havaita objekteja, sitä verrataan tehokkaiden mallien kanssa COCO-objektin havainnonteknisen tehtävässä, ja alla oleva kuva tiivistää vertailun tulokset.

Lopputulet

Tässä artikkelissa olemme puhuneet EfficientViT: stä, nopeasta näköhavaintojen muunnosperheestä, joka käyttää kaskaadia ryhmän huomio-moduulia ja tarjoaa muistitehokkaita operaatioita. Kattavat kokeet, jotka on suoritettu EfficientViT-mallin suorituskyvyn analysointiin, osoittavat lupaavia tuloksia, ja EfficientViT-malli ylittää nykyiset CNN- ja näköhavaintojen muunnosmallit useimmissa tapauksissa. Olemme myös pyrkineet tarjoamaan analyysin tekijöistä, jotka vaikuttavat näköhavaintojen muunnosten häirintänopeuteen.

Ammattina insinööri, sydämen vuoksi kirjailija. Kunal on tekninen kirjailija, jolla on syvä rakkaus ja ymmärrys AI: sta ja ML: stä, omistautunut yksinkertaistamaan monimutkaisia käsitteitä näissä aloissa hänen viihdyttävän ja informatiivisen dokumentaationsa kautta.