uutiset

Uusi suuntaus suurten mallien päätelaitteiden käyttöönotossa: laitteisto tukee suoraan sekamatriisikertoa

2024-08-19

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina



AIxiv-sarake on sarake, jossa Machine Heart julkaisee akateemista ja teknistä sisältöä. Viime vuosina Heart of the Machine AIxiv -kolumni on saanut yli 2 000 raporttia, jotka kattavat tärkeimpien yliopistojen ja yritysten huippulaboratoriot ympäri maailmaa ja edistävät tehokkaasti akateemista vaihtoa ja levittämistä. Jos sinulla on erinomaista työtä, jonka haluat jakaa, ole hyvä ja osallistu tai ota meihin yhteyttä raportoidaksesi. Lähetyssähköposti: [email protected]; [email protected]

Tekoälyn alalla malliparametrien lisäys tarkoittaa usein suorituskyvyn paranemista. Kuitenkin mallin mittakaavan laajentuessa myös päätelaitteen laskentateho- ja muistivaatimukset kasvavat. Matalabitin kvantisointiteknologiasta on tullut yksi avainteknologioista, joiden avulla suuret mallit voivat toimia tehokkaasti resurssirajoitteisissa laitteissa, koska se voi vähentää merkittävästi tallennus- ja laskentakustannuksia ja parantaa päättelytehokkuutta. Jos laitteisto ei kuitenkaan tue matalabitin kvantisoitua datatilaa, matalabitin kvantisoinnin etuja ei toteudu.

Tämän ongelman ratkaisemiseksi Microsoft Research Asia on julkaissut uuden tiedonkääntäjän Ladder ja algoritmin T-MAC, jonka avulla tällä hetkellä vain symmetrisiä tarkkuuslaskelmia tukevat laitteistot voivat suorittaa suoraan sekatarkkuuden matriisikertoja. Testitulokset osoittavat, että Ladder voi saavuttaa 14,6-kertaisen maksiminopeuden tukemalla mukautettuja tietotyyppejä, joita grafiikkasuoritin ei alun perin tue. T-MAC mahdollistaa suorittimella toimivien laajamittaisten AI-sovellusten ajamisen uusimmalla laitteella varustetussa Surface AI PC:ssä. Qualcomm Snapdragon X Elite -piirisarjan suorituskyky on kaksi kertaa nopeampi kuin erillisen NPU:n. Lisäksi tutkijat suunnittelivat myös LUT Tensor Core -laitteistoarkkitehtuurin. Tämä virtaviivainen suunnittelu mahdollistaa laitteiston suoran tukemisen erilaisiin pienibittisiin sekatarkkuuslaskelmiin, mikä tarjoaa uusia ideoita tekoälyn laitteistosuunnitteluun.

Suuria malleja on käytetty yhä useammin päätelaitteisiin, kuten älypuhelimiin, kannettaviin tietokoneisiin ja robotteihin edistyneiden älykkäiden ja reaaliaikaisten vastauspalvelujen tarjoamiseksi. Suuret, satoja miljoonia parametreja sisältävät mallit asettavat kuitenkin erittäin korkeat vaatimukset päätelaitteiden muistille ja laskentateholle, mikä rajoittaa niiden laajaa käyttöä. Matalabittinen kvantisointitekniikka voi merkittävästi tiivistää mallin kokoa ja vähentää laskentaresurssien kysyntää. Siitä on tullut tehokas tapa ottaa käyttöön suuria malleja laitepuolella ja tehdä tehokkaita päätelmiä.

Pienen bitin kvantisointitekniikan kehittymisen myötä tietotyypit, kuten int4, int2, int1 ja muut matalabittiset tiedot, monipuolistuvat, minkä vuoksi suuret mallit käyttävät yhä useammin sekoitettua tarkkuutta matalan bitin painon ja suuren bittipainon matriisikerrosta. laskelmat päättelyssä (mixed-tarkkuusmatriisikertominen, mpGEMM). Kuitenkin olemassa olevat laitteiston laskentayksiköt, kuten CPU:t ja GPU:t, tukevat yleensä vain symmetrisiä laskentatiloja eivätkä ole yhteensopivia tämän sekatarkkuuden matriisikertomisen kanssa.

Miten sekatarkkuusmatriisikertominen eroaa perinteisestä matriisikertomisesta?

Perinteisessä matriisikertolaskussa operaatioon osallistuvat molemmissa päissä olevat arvot ovat symmetrisiä, kuten FP16*FP16, int8*int8. Mutta suurten mallien matalabittinen kvantisointi rikkoo tämän symmetrian, jolloin kertolaskujen toinen pää on korkeabitti ja toinen pää matalabitti, kuten 1-bittisessä BitNet-mallissa toteutettu int8*int1 tai int8*int2, ja liukuluku. numerot sekakertoilu kokonaisluvuilla FP16*int4.

Microsoft Research Asian tutkijat keskittyivät tarjoamaan täyden mahdollisuuden hyödyntää matalabittisen kvantisoinnin etuja, mahdollistaakseen laitteiston laitteiden suoran tukemisen sekatarkkuuden matriisin kertomiselle ja varmistaakseen suurten mallien nopean ja tehokkaan toiminnan päätelaitteiden kanssa. olemassa oleviin CPU- ja GPU-laskentaoperaattoreihin ja laitteisto-arkkitehtuuriinnovaatioihin:

  • Käynnistettiin tietotyyppien kääntäjä Ladder, joka tukee erilaisten matalatarkkojen tietotyyppien ilmaisua ja keskinäistä muuntamista ja muuntaa häviöttömästi laitteiston tukemat tietotyypit laitteiston tukemiksi tietotyyppikäskyiksi Perinteisessä laskentatilassa laitteisto pystyy tuetaan sekatarkkuutta (deep neuro network) -laskentaa.
  • Kehitetty uusi algoritmi T-MAC, joka perustuu lookup table (LUT) -menetelmään, saavuttaakseen suoran laitteiston tuen sekatarkkuusmatriisikertomiselle. Ohjelmistotason laskelmat ovat saavuttaneet parempia tuloksia kuin perinteiset laskentatavat.
  • Uutta laitteistoarkkitehtuuria, LUT Tensor Corea, ehdotetaan, mikä avaa uusia ideoita seuraavan sukupolven tekoälyn laitteistosuunnittelulle.

Tikkaat: mukautettujen tietotyyppien häviötön muuntaminen laitteistotuetuiksi tietotyypeiksi

Tällä hetkellä huippuluokan kiihdyttimet integroivat alemman bitin laskentayksiköiden, kuten FP32, FP16 ja jopa FP8, toiminnot uuden sukupolven arkkitehtuureihin. Sirualueen ja korkeiden laitteistokustannusten rajoittamana jokainen kiihdytin voi kuitenkin tarjota vain rajoitettuja laskentayksiköitä tavallisille tietotyypeille. Esimerkiksi NVIDIA V100 TENSOR CORE GPU tukee vain FP16:ta, kun taas A100 on lisännyt tuen int2:lle, int4:lle. , int8-tuki, mutta se ei kata uudempia tietomuotoja, kuten FP8 tai OCP-MXFP. Lisäksi suurten mallien nopean iteroinnin ja laitteistopäivitysten hitaan välillä on kuilu, minkä seurauksena monet uudet tietotyypit eivät tue laitteistoa, mikä puolestaan ​​vaikuttaa suurten mallien kiihtyvyyteen ja toimintaan.

Microsoft Research Asian tutkijat havaitsivat, että vaikka laitteistokiihdyttimestä puuttuu laskentaohjeita mukautetuille tietotyypeille, sen muistijärjestelmä voi muuntaa ne kiinteän levyisiksi läpinäkymättömiksi tietolohkoiksi mielivaltaisten tietotyyppien tallentamiseksi. Samaan aikaan useimmat mukautetut tietotyypit voidaan muuntaa häviöttömästi korkeamman bitin standarditietotyypeiksi, joita nykyiset laitteistolaskentayksiköt tukevat. Esimerkiksi NF4-tensorit voidaan muuntaa FP16:ksi tai FP32:ksi liukulukuoperaatioiden suorittamiseksi.

Näiden löydösten perusteella tutkijat ehdottivat aMenetelmä, jolla tuetaan kaikkia mukautettuja tietotyyppejä erottamalla tietojen tallennus ja laskeminen, ja kehitti tiedon kääntäjän Ladder, joka kattaa uusien mukautettujen tietotyyppien ja nykyisten laitteistojen tukemien luontaisten tarkkuusmuotojen välisen kuilun.

Ladder määrittelee tietotyyppijärjestelmän, mukaan lukien abstraktit datatyyppien välistä häviötöntä muuntamista varten. Se voi edustaa erilaisia ​​algoritmien ja laitteistojen tukemia tietotyyppejä ja määrittää muunnossäännöt tietotyyppien välillä. Matalabittisten algoritmisovellusten kanssa Ladder kääntää matalabittiset tiedot nykyisen laitteiston tehokkaimpaan suoritusmuotoon useiden optimointitoimintojen avulla, mukaan lukien laskennan ja tallennustilan optimointi – algoritmin yhdistäminen vastaaviin laskentakäskyihin ja tiedot eri muodoissa. Varastoidaan eri tasoilla varastoyksiköissä tehokkaimman toiminnan saavuttamiseksi.



Kuva 1: Tikkaiden järjestelmäarkkitehtuuri

NVIDIA A100-, NVIDIA V100-, NVIDIA RTX A6000-, NVIDIA RTX 4090- ja AMD Instinct MI250 -grafiikkasuorittimilla suoritettu DNN-johtopäätösten arviointi osoittaa, että Ladder ylittää nykyiset huippuluokan DNN-kääntäjät natiivisti tukevien GPU-tyyppien ja -tuen suhteen hyvin mukautetuissa tietotyypeissä, joita ei alun perin tuettu, maksiminopeus jopa 14,6 kertaa.

Ladder on ensimmäinen järjestelmä, joka tukee järjestelmällisesti alhaisen bitin tarkkuuden datan esittämistä mukautetuissa tietotyypeissä, kun DNN-verkkoja käytetään nykyaikaisissa laitteistokiihdyttimissä.Tämä tarjoaa mallitutkijoille joustavamman tietotyyppien optimointimenetelmän ja mahdollistaa myös laitteistoarkkitehtuurin kehittäjien tukemisen laajemman valikoiman tietotyyppejä laitteistoa muuttamatta.

T-MAC: Universaali matalabittinen sekatarkkuusmatriisin kertolasku ilman kertolaskua

Jotta olemassa olevat laitteistot voisivat tukea erilaisia ​​datatiloja ja sekoitettua tarkkuutta matriisin kertolaskua käytettäessä suuria malleja päätypuolella, yleinen lähestymistapa on käänteiskvantisoida matalabittinen malli. Tässä lähestymistavassa on kuitenkin kaksi suurta ongelmaa: ensinnäkin suorituskyvyn näkökulmasta dekvantisointiprosessin muunnoskustannukset voivat kompensoida alhaisen bitin kvantisoinnin tuomaa suorituskykyä tietojen asettelu ja laskentaydin sekalaista tarkkuutta varten. Microsoft Research Asian tutkijat uskovat, että avain pienibittisten kvantisoitujen suurten mallien käyttöönotossa laitteissa piilee siinä, miten päästään läpi perinteisen matriisikertomisen toteutuksen, joka perustuu matalan bitin ominaisuuksiin.

Tätä varten tutkijat ovat ehdottaneet järjestelmä- ja algoritmitasoltaT-MAC, hakutaulukkoon (LUT, Look-Up Table) perustuva menetelmä, auttaa suuria malleja, joissa on matalabittinen kvantisointi, saamaan tehokkaan päättelyn suorittimesta.T-MAC:n ydinajatus on hyödyntää sitä ominaisuutta, että sekatarkkuusmatriisin kertolaskussa toinen pää on hyvin alhainen bitti (kuten 1 bitti tai 2 bittiä). Niiden tulostulokset ovat vain 2 tehoon 1 ja 2 tehoon 2. Nämä pienemmät lähtötulokset voidaan laskea etukäteen ja tallentaa taulukkoon tarve Toistuvat laskutoimitukset vähentävät huomattavasti kerto- ja yhteenlaskuoperaatioiden määrää.

Erityisesti,T-MAC muuttaa perinteisen tietotyyppikeskeisen kertolaskutoiminnon bittipohjaisiksi hakutaulukkooperaatioiksi, mikä mahdollistaa yhtenäisen ja skaalautuvan sekatarkkuuden matriisikertoratkaisun, joka pienentää taulukon kokoa ja pitää sen mahdollisimman pienenä taulukoita vähennetään.Tämä innovaatio tasoittaa tietä matalabittisten kvantisoitujen suurten mallien käyttöönotolle resurssirajoitteisissa reunalaitteissa.



Kuva 2: T-MAC-kaavio

Testeissä matalabittisiä kvantisoituja Llama- ja 1-bittisiä BitNet-suurkielimalleja vastaan ​​T-MAC osoitti merkittäviä suorituskykyetuja. Uusimmalla Qualcomm Snapdragonilla varustetussa Surface Laptop 7:ssä 4-bit 7B Llama -mallin sukupolvinopeus voi saavuttaa 20 merkkiä sekunnissa, mikä on paljon nopeampi kuin ihmisen keskimääräinen lukunopeus. Alkuperäiseen Llama.cpp-kehykseen verrattuna se on 4–5 kertaa nopeampi ja jopa kaksi kertaa nopeampi kuin NPU-kiihdytin.

Jopa heikomman suorituskyvyn laitteissa, kuten Raspberry Pi 5, T-MAC mahdollistaa 3B BitNet-b1.58 -mallin saavuttamisen 11 tokenia sekunnissa. T-MAC:lla on myös merkittäviä tehoetuja, sillä se saavuttaa samat tuotantonopeudet resurssirajoitteisissa laitteissa, mutta vaatii vain 1/4 - 1/6 alkuperäisen Llama.cpp:n ydinmäärästä.

Nämä tulokset osoittavat, että T-MAC tarjoaa käytännöllisen ratkaisun, jonka avulla on tehokkaampaa ottaa käyttöön suuria kielimalleja reunalaitteissa, joissa käytetään yleiskäyttöisiä suorittimia ilman GPU:ita, mikä mahdollistaa suurten mallien käyttöönoton resurssirajoitteisissa laitteissa suurten mallien soveltamisen edistäminen laajemmissa skenaarioissa.

LUT Tensor Core: Ohjaa seuraavan sukupolven laitteistokiihdyttimiä, joissa on natiivi tuki sekatarkkuuden matriisikertomiselle

Sekä T-MAC että Ladder tarjoavat optimoidun tuen sekoitettuun tarkkuuteen matriisin kertomiseen olemassa olevissa CPU- ja GPU-arkkitehtuureissa. Vaikka nämä ohjelmistotason innovaatiot ovat merkittävästi parantaneet laskennallista tehokkuutta, ne eivät silti ole yhtä tehokkaita kuin laitteistokiihdyttimiä, jotka pystyvät toteuttamaan suoraan erikoistuneen hakutaulukon. Tutkijat uskovat, että ihanteellisin lähestymistapa on suunnitella laitteistokiihdyttimiä uudelleen siten, että prosessorit, grafiikkasuorittimet jne. voivat tukea sekatarkkuusmatriisin kertomista. Tämä tavoite kuitenkin kohtaa kolme suurta haastetta:

  • Tehokkuus: Suunnittelun ja toteutuksen tulee olla kustannustehokasta, maksimoimalla pienibittisen datan laskennallinen tehokkuus optimoimalla sirun käyttöaluetta.
  • Joustavuus: Koska eri mallit ja skenaariot vaativat erilaisia ​​painotuksia ja aktivointitarkkuuksia, laitteistossa käytettävän sekatarkkuuden matriisikertosuunnittelun on kyettävä käsittelemään erilaisia ​​painotarkkuuksia (kuten int4/2/1) ja aktivointitarkkuuksia (kuten FP16/8, int8) ja niiden yhdistelmät.
  • Yhteensopivuus: Uusien mallien on integroitava saumattomasti olemassa olevaan GPU-arkkitehtuuriin ja ohjelmistoekosysteemiin uusien teknologioiden käyttöönoton nopeuttamiseksi.

Microsoft Research Asian tutkijat suunnittelivat vastaamaan näihin haasteisiinLUT Tensor Core, GPU Tensor Core -mikroarkkitehtuuri, joka käyttää hakutaulukoita suorittaakseen suoraan sekatarkkuuden matriisin kertolaskua.Toisaalta hakutaulukkoon perustuva suunnittelu yksinkertaistaa kertolaskuoperaation taulukon esilaskentaoperaatioksi ja tuloksia voidaan hakea suoraan taulukosta laskennan tehokkuuden parantamiseksi. Toisaalta tämä lähestymistapa yksinkertaistaa myös laitteistovaatimuksia. Se vaatii vain rekistereitä taulukkotallennusta varten ja multipleksereitä hakuja varten ilman kertoimia ja summaimia. Samaan aikaan LUT Tensor Core saavuttaa joustavuutta painotarkkuudessa bittisarjasuunnittelun avulla ja käyttää taulukkokvantisointia joustavuuden saavuttamiseksi aktivointitarkkuudessa.

Lisäksi, integroidakseen olemassa olevan GPU-mikroarkkitehtuurin ja ohjelmistopinon, tutkijat laajensivat GPU:ssa olemassa olevaa MMA-käskysarjaa, lisäsivät joukon LMMA-käskyjä ja suunnittelivat cuBLAS:n kaltaisen ohjelmistopinon integroitavaksi olemassa oleviin GPU:ihin jotkut DNN-kehykset. Tutkijat suunnittelivat myös kääntäjän päästä-päähän suorituksen suunnitteluun GPU:illa, joissa on LUT Tensor Cores. Nämä innovatiiviset lähestymistavat mahdollistavat LUT-tensoriytimien saumattoman ja nopean käyttöönoton.



Kuva 3: LUT Tensor Core -mikroarkkitehtuurin yleiskatsaus

Llama- ja BitNet-malleilla tehdyt testit osoittavat, että LUT Tensor Core pystyy tarjoamaan jopa 6,93 kertaa päättelynopeuden ja muodostaa vain 38,7 % perinteisen Tensor Coren pinta-alasta. Melkein samalla mallin tarkkuudella tämä vastaa 20,7 kertaa laskentatiheyttä ja 19,1 kertaa energiatehokkuuden parannusta. Suurten tekoälymallien laajuuden ja monimutkaisuuden kasvaessa LUT Tensor Core auttaa edelleen vapauttamaan matalabittisten suurten kielimallien potentiaalia ja edistämään tekoälyn soveltamista uusiin skenaarioihin.

"Hakutaulukkomenetelmä on johtanut laskentaparadigman muutokseen. Aiemmin luotimme matriisikerto- ja akkumulaatiooperaatioihin, mutta suurten mallien aikakaudella matalabittisen kvantisointitekniikan ansiosta hakutaulukko Menetelmä tulee valtavirtaan Perinteiseen float Point -aritmetiikkaan tai matriisikertomiseen verrattuna, hakutaulukkomenetelmä on kevyempi ja tehokkaampi laskennassa, ja sitä on helpompi laajentaa laitteistotasolla sirualueella, mikä edistää laitteisto-arkkitehtuurin kehitystä", sanoi Cao Ting, Microsoft Research Asian päätutkija.

Matalabittisen kvantisoinnin pitkä hännän vaikutus: tuo uusia mahdollisuuksia ruumiillistuneeseen älykkyyteen

Matalabittinen kvantisointitekniikka ei ainoastaan ​​optimoi suurten mallien käyntitehokkuutta päätelaitteiden laitteissa, vaan tarjoaa myös uutta tilaa malliparametrien laajentamiselle (Scale up) vähentämällä yksittäisen parametrin "äänenvoimakkuutta". Tämä parametrin laajennusominaisuus antaa mallille enemmän joustavuutta ja ilmaisukykyä. Kuten BitNet-malli osoittaa, se alkaa matalan bitin mallista ja laajenee vähitellen laajempaan koulutukseen.

Microsoft Research Asian innovatiiviset teknologiat, kuten T-MAC, Ladder ja LUT Tensor Core, tarjoavat tehokkaita käyttöratkaisuja erilaisille pienibittisille kvantisoiduille malleille, jotka mahdollistavat näiden mallien tehokkaan käytön eri laitteilla ja edistävät tieteellistä tutkimusta matalan bitin näkökulmasta. Joillakin näistä teknologioista on jo rooli suurissa hakumalleissa, kuten Microsoftin Bing-haussa ja sen mainostoiminnassa.Muistin ja laskentaresurssien vähentyessä on myös mahdollista ottaa käyttöön suuria matalabittisiä malleja älykkäissä järjestelmissä, kuten roboteissa, jolloin nämä laitteet voivat saavuttaa paremmin dynaamisen havainnon ja reaaliaikaisen vuorovaikutuksen ympäristön kanssa.

Tällä hetkellä T-MAC ja Ladder ovat avoimen lähdekoodin GitHubissa. Asiaankuuluvat kehittäjät ovat tervetulleita testaamaan sovelluksia ja tutkimaan muita tekoälyteknologian mahdollisuuksia Microsoft Research Asian avulla.

  • Tikkaiden paperilinkki: https://www.usenix.org/conference/osdi24/presentation/wang-lei
  • BitBLAS/Ladder GitHub -linkki: https://github.com/microsoft/BitBLAS
  • T-MAC paperilinkki: https://arxiv.org/abs/2407.00088
  • T-MAC GitHub -linkki: https://github.com/microsoft/T-MAC
  • LUT Tensor Core -paperilinkki: https://arxiv.org/abs/2408.06003
  • BitDistiller-paperilinkki: https://arxiv.org/abs/2402.10631
  • BitDistiller GitHub -linkki: https://github.com/DD-DuDa/BitDistiller