Tässä artikkelissa Mambasta, tutkimme, miten tämä innovatiivinen tila-avaruusmalli (SSM) vallankumouksellisesti järjestelmän mallinnuksen. Kehittäjien Albert Gu ja Tri Dao, Mamba on erottuva sen tehokkuuden käsittelyssä monimutkaisia järjestelmiä, kuten kielen käsittely, genomiikka ja äänen analyysi. Sen lineaarisen ajan järjestelmän mallinnus valikoivilla tila-avaruksilla varmistaa poikkeuksellisen suorituskyvyn näiden erilaisten modaaliuden yli.
Tutkimme Mamban kykyä voittaa laskennalliset haasteet, joita perinteiset Transformerit kohtaavat, erityisesti pitkien järjestelmien kanssa. Sen valikoiva lähestymistapa tila-avaruusmalleissa sallii nopeamman inference ja lineaarisen skaalauksen järjestelmän pituuden mukaan, parantaen merkittävästi läpi-vienti.
Mamban ainutlaatuinen piirre on sen nopea prosessointikapasiteetti, valikoiva SSM-kerros ja laitteiston ystävällinen suunnittelu, joka on inspiroitu FlashAttentionista. Nämä ominaisuudet mahdollistavat Mamballe ylittää useita olemassa olevia malleja, mukaan lukien ne, jotka perustuvat Transformer-arkkitehtuuriin, mikä tekee siitä merkittävän edistysaskeleen koneoppimisessa.
Transformerit vs Mamba
Transformerit, kuten GPT-4, ovat asettaneet benchmarkit luonnollisen kielen käsittelyssä. Niiden kuitenkin tehokkuus laskee pidempien järjestelmien kanssa. Tässä Mamba hyppää eteenpäin, sen kyvyllä käsitellä pidempiä järjestelmiä tehokkaammin ja sen ainutlaatuinen arkkitehtuuri, joka yksinkertaa koko prosessia.
Transformerit ovat taitavia käsittelemään datajärjestelmiä, kuten tekstiä kielen malleissa. Toisin kuin aiemmat mallit, jotka käsittelevät dataa sekvenssimäisesti, Transformerit käsittelevät koko järjestelmän yhtä aikaa, mahdollistaen niille kompleksisten suhteiden havaitseminen datassa.
Ne käyttävät huomio-mekanismia, joka sallii mallin keskittyä eri osiin järjestelmässä, kun tehdään ennusteita.
Tämä huomio lasketaan kolmen painoarvon avulla: kyselyt, avaimet ja arvot, jotka ovat johdettu syötedatasta. Jokainen järjestelmän elementti verrataan toisiin elementteihin, tarjoamalla painoarvon, joka edustaa tärkeyttä tai “huomiota”, jonka jokainen elementti saa, kun ennustetaan seuraavaa elementtiä järjestelmässä.
Transformerit ylläpitävät kahta päälohkoa: kooderin, joka käsittelee syötedataa, ja dekooderin, joka generoi tulosteen. Kooderi koostuu useista kerroksista, joista jokainen sisältää kaksi alikerrosta: monipäisen itsehuomio-mekanismin ja yksinkertaisen, asemakohtaisen täysin yhtenäisen feed-forward-verkon. Normalisointi ja residuaalisen yhteyden avulla koulutetaan syvemmät verkot.
Dekooderi myös sisältää kerrokset, joissa on kaksi alikerrosta, samanlaisia kuin kooderissa, mutta lisää kolmannen alikerroksen, joka suorittaa monipäistä huomiota kooderin tulosteen yli. Dekooderin sekvenssimäinen luonne varmistaa, että ennusteet tietyssä kohdassa voivat vain tarkastella aiempia kohtia, säilyttäen autoregressiivisen ominaisuuden.
Toisin kuin Transformerit, Mamba-malli ottaa toisen lähestymistavan. Kun Transformerit käsittelevät pitkien järjestelmien ongelmaa käyttämällä monimutkaisempia huomio-mekanismeja, Mamba käyttää valikoivia tila-avaruksia, tarjoamalla tehokkaamman ratkaisun.
Tässä on yleiskatsaus siitä, miten transformer toimii:
Syötedatan käsittely: Transformerit koodaavat syötedatan muotoon, jota malli voi ymmärtää, usein käyttämällä upotukset, jotka sisältävät myös jokaisen elementin sijainnin järjestelmässä.
Huomio-mekanismi: Huomio-mekanismi laskee pisteitä, jotka edustavat, kuinka paljon huomiota pitäisi kiinnittää muihin osiin syötedataa, kun ymmärretään nykyistä elementtiä.
Kooderi-dekooderi-arkkitehtuuri: Transformer-malli koostuu kooderista, joka käsittelee syötedataa, ja dekooderista, joka generoi tulosteen. Kummassakin on useita kerroksia, jotka parantavat mallin ymmärrystä syötedatasta.
Monipäinen huomio: Sekä kooderissa että dekooderissa monipäinen huomio sallii mallin keskittyä samanaikaisesti eri osiin järjestelmästä eri edustusavaruksista, parantaen sen kykyä oppia monimuotoisista konteksteista.
Asemakohtaiset feed-forward-verkot: Huomion jälkeen yksinkertainen neurverkko käsittelee jokaisen aseman tulostetta erikseen ja samalla tavalla. Tämä yhdistetään syötedataan residuaalisen yhteyden kautta ja seuraa kerrosnormalisointi.
Tulosteen generointi: Dekooderi sitten generoi tulosteen, joka on vaikuttunut kooderin kontekstista ja siitä, mitä se on generoinut tähän asti.
Transformerin kyky käsitellä järjestelmiä rinnakkain ja sen vahva huomio-mekanismi tekevät siitä voimakkaan työkalun tehtävissä, kuten kääntämisessä ja tekstien generoimisessa.
Toisin kuin Transformerit, Mamba-malli toimii eri tavalla käyttämällä valikoivia tila-avaruksia järjestelmien käsittelyyn. Tämä lähestymistapa ratkaisee laskennallisen tehokkuuden ongelman, jota Transformerit kohtaavat pitkien järjestelmien kanssa. Mamban suunnittelu mahdollistaa nopeamman inference ja skaalautuvuuden järjestelmän pituuden mukaan, asettamalla uuden paradigman järjestelmän mallinnukselle, joka voi olla tehokkaampi, erityisesti kun järjestelmät ovat pitkiä.
Mamba
Mamban ainutlaatuinen piirre on sen ero perinteisestä huomio- ja MLP-lohkosta. Tämä yksinkertaisuus johtaa kevyempään ja nopeammin skaalautuvaan malliin, joka on lineaarinen järjestelmän pituuden suhteen – saavutus, jota sen edeltäjät eivät voi kilpailla.
Mamban avainominaisuudet ovat:
Valikoivat SSM:t: Nämä sallivat Mamballe suodattaa epäolennaiset tiedot ja keskittyä olennaiseen dataan, parantaen sen järjestelmien käsittelyä. Tämä valikoivuus on olennainen tehokkaan sisällön perusteella päätöksentekoa varten.
Laitteiston kannalta suunniteltu algoritmi: Mamba käyttää rinnakkaisalgoritmiä, joka on optimoitu modernille laitteistolle, erityisesti GPU:ille. Tämä suunnittelu mahdollistaa nopeamman laskennan ja vähentää muistin tarvetta verrattuna perinteisiin malleihin.
Yksinkertainen arkkitehtuuri: Integroimalla valikoivat SSM:t ja poistamalla huomio- ja MLP-lohkot, Mamba tarjoaa yksinkertaisemman ja homogeenisemman rakenteen. Tämä johtaa parempaan skaalautuvuuteen ja suorituskykyyn.
Mamba on osoittanut erinomaisen suorituskyvyn eri aloilla, mukaan lukien kieli, ääni ja genomiikka, menestyen sekä esikoulutuksessa että alan spesifisissä tehtävissä. Esimerkiksi kielen mallinnuksessa Mamba vastaa tai ylittää suurempien Transformer-mallien suorituskyvyn.
Mamban koodi ja esikoulutetut mallit ovat vapaasti käytettävissä yhteisölle GitHubissa.
Standard Copying tasks are simple for linear models. Selective Copying and Induction Heads require dynamic, content-aware memory for LLMs.
Rakenteiset tila-avaruusmallit (S4) ovat viime aikoina nousseet lupaavaksi järjestelmän mallinnuksen luokaksi, joka yhdistää piirteitä RNN:istä, CNN:istä ja perinteisistä tila-avaruusmalleista. S4-mallit perustuvat jatkuviin järjestelmiin, erityisesti sellaisiin, jotka kartoittavat yhdenulotteisia funktioita tai järjestelmiä impliciteen latenttilaan. Koneoppimisen kontekstissa ne edustavat merkittävää innovaatiota, tarjoamalla uuden metodologian järjestelmän malleja, jotka ovat tehokkaita ja sopeutuvia.
S4-mallien dynamiikka
SSM (S4) Tämä on perusrakenteinen tila-avaruusmalli. Se ottaa järjestelmän x ja tuottaa tulosteen y käyttämällä opittuja parametreja A, B, C ja viiveparametria Δ. Muunnos käsittää parametreiden diskretisoinnin (jatkuvien funktioiden muuttaminen diskreeteiksi) ja SSM-operaation soveltamisen, joka on aikainvariantti – eli se ei muutu eri aikaskaaloissa.
Discretisoinnin merkitys
Discretisointi on avainprosessi, joka muuttaa jatkuvat parametrit diskreeteiksi kiinteiden kaavojen kautta, mahdollistaen S4-mallien ylläpitämisen yhteyttä jatkuviin järjestelmiin. Tämä antaa malleille lisäominaisuuksia, kuten resoluutio-invariantin, ja varmistaa oikean normalisoinnin, parantaen mallin vakautta ja suorituskykyä. Discretisointi muistuttaa myös RNN:ien porttitekniikoita, jotka ovat kriittisiä tietovirran hallinnassa verkossa.
Lineaarinen aikainvariantti (LTI)
S4-mallien keskeinen piirre on niiden lineaarinen aikainvariantti. Tämä ominaisuus implikoi, että mallin dynamiikka on johdonmukainen ajan suhteen, ja parametrit ovat kiinteät kaikissa aikaskaaloissa. LTI on perusta rekurrensseille ja konvoluutioille, tarjoamalla yksinkertaisen mutta voimakkaan kehyksen järjestelmän mallien rakentamiseen.
Perusrajoiden ylittäminen
S4-kehys on perinteisesti ollut rajoitettu sen LTI-luonteensa vuoksi, joka asettaa haasteita dataan, joka vaatii sopeutuvia dynamiikkaa. Viimeisimmässä tutkimusartikkelissa esitetään lähestymistapa, joka ylittää nämä rajoitukset esittelemällä aikariippuvat parametrit, poistamalla LTI-rajoituksen. Tämä mahdollistaa S4-mallien käsittelyn laajempaa joukkoa järjestelmiä ja tehtäviä, laajentaen merkittävästi niiden soveltamista.
Sana “tila-avaruusmalli” kattaa laajasti mitä tahansa toistuvaa prosessia, joka sisältää latentin tilan, ja sitä on käytetty kuvaamaan erilaisia käsitteitä useilla aloilla. Koneoppimisen kontekstissa S4-mallit, eli rakenteiset SSM:t, viittaavat tiettyyn malliluokkaan, joka on optimoitu tehokkaalle laskennalle ja säilyttää kyvyn mallintaa monimutkaisia järjestelmiä.
S4-mallit voidaan integroida kokonaisiin neuroverkkorakenteisiin, toimien itsenäisinä järjestelmän muunnoksina. Ne voidaan nähdä vastaavina konvoluutio-kerroksina CNN:issä, tarjoamalla rungon järjestelmän mallinnukselle monissa neuroverkkorakenteissa.
SSM vs SSM + Selection
Valikoivuuden motivaatio järjestelmän mallinnuksessa
Structured SSMs
Artikkeli väittää, että järjestelmän mallinnuksen perusominaisuus on kontekstin tiivistäminen hallittavaan tilaan. Mallit, jotka voivat valikoivasti keskittyä tai suodattaa syöte, tarjoavat tehokkaamman tavan ylläpitää tätä tiivistettyä tilaa, johtaen tehokkaampiin ja voimakkaampiin järjestelmän malleihin. Tämä valikoivuus on olennainen malleille, jotta ne voivat sopeutua ohjaamaan, miten tieto virtaa järjestelmän ulottuvuuden pitkin, olennainen kyky monimutkaisten tehtävien käsittelyssä kielen mallinnuksessa ja muualla.
Valikoivat SSM:t parantavat perinteisiä SSM:itä sallimalla niiden parametreja olla syöte-riippuvaisia, mikä tuo sopeutuvuuden, jota ei aiemmin ollut saavutettu aikainvarianttisilla malleilla. Tämä johtaa aikariippuviin SSM:ihin, jotka eivät voi enää käyttää konvoluutioita tehokkaan laskennan vuoksi, vaan turvautuvat lineaariseen toistovaikutusmekanismiin, merkittävään poikkeamaan perinteisistä malleista.
SSM + Valikoivuus (S6) Tämä variantti sisältää valikoivuusmekanismin, joka lisää syöte-riippuvuuden parametreihin B ja C, sekä viiveparametriin Δ. Tämä mahdollistaa mallille valikoivasti keskittyä tiettyihin osiin syötejärjestelmästä x. Parametrit diskretisoidaan ottaen huomioon valikoivuus, ja SSM-operaatio suoritetaan aikariippuvalla tavalla skannausoperaation avulla, joka prosessoi elementtejä sekvenssimäisesti, sovittamalla dynaamisesti fokusta ajan suhteen.
Mamban suorituskyvyn korkeuspisteet
Mamba is best-in-class on every single evaluation result
Suorituskyvyn osalta Mamba erottuu sekä inference-nopeudellaan että tarkkuudellaan. Sen suunnittelu mahdollistaa paremman hyödyntämisen pidemmistä konteksteista, mikä näkyy sekä DNA:n että äänen mallinnuksessa, ylittäen aiemmat mallit monimutkaisissa tehtävissä, jotka vaativat pitkän aikavälin riippuvuuksia. Sen monikäyttöisyys korostuu myös nollaus-arvioissa useilla tehtävillä, asettamalla uuden standardin tällaisille malleille tehokkuuden ja skaalautuvuuden suhteen.
Mamban käyttöönotto
Niille, jotka ovat kiinnostuneita hyödyntämään Mambaa, tekniset vaatimukset sisältävät Linux-käyttöjärjestelmän, NVIDIA-GPUn, PyTorch 1.12+:n ja CUDA 11.6+:n. Asennus tapahtuu yksinkertaisilla pip-komennoilla, jotka asentavat tarvittavat paketit Mamban repositoriosta. Jos PyTorch-versioiden kanssa ilmenee yhteensopivuusongelmia, –no-build-isolation-lipun käyttäminen pipin kanssa voi auttaa. Nämä mallit, jotka on koulutettu laajoilla tietokannoilla, kuten Pile ja SlimPajama, on suunniteltu täyttämään erilaiset laskennalliset tarpeet ja suorituskykyvaatimukset.
Mamba tarjoaa eri tasoja käyttöliittymiä, valikoivan SSM-kerroksen, Mamban lohkon ja täydellisen kielen mallirakenteen välillä. Mamban lohko, joka on arkkitehtuurin päämoduuli, käyttää kausaalista Conv1d-kerrosta ja voidaan helposti integroida neuroverkkosuunnitelmiin. Esimerkki Python-koodissa osoittaa, miten Mamba-malli voidaan instantioida ja dataa käsitellä sen kautta, korostamalla järjestelmän yksinkertaisuutta ja joustavuutta.
Esikoulutetut Mamba-mallit ovat saatavilla Hugging Facessa, koon ollessa 130M:sta 2.8B:een parametreja, koulutettu laajalle Pile-tietokannalle ja SlimPajama-tietokannalle. Nämä mallit on suunniteltu täyttämään erilaiset laskennalliset ja suorituskykyvaatimukset, noudattaen GPT-3:n mittoja. Käyttäjät voivat odottaa korkeaa läpi-vientiä ja tarkkuutta näistä malleista, mikä tekee Mambasta kilpailukykyisen vaihtoehdon moniin sovelluksiin, mukaan lukien kielen mallinnus.
Mamban vaikutus
Mamba edustaa merkittävää askelta järjestelmän mallinnuksessa, tarjoamalla voimakkaan vaihtoehdon Transformer-arkkitehtuureille tietopohjaisen datan käsittelyyn. Sen suunnittelu on suunniteltu modernin laitteiston vaatimusten mukaan, optimoimalla sekä muistin käytön että rinnakkaisen prosessoinnin. Mamban avoimen lähdekoodin ja esikoulutettujen mallien saatavuus tekee siitä helposti käytettävän ja kestävän työkalun tutkijoille ja kehittäjille tekoäly- ja syväoppimisen alalla.
Olen viettänyt viimeiset viisi vuotta uppoutumalla kiinnostavaan koneoppimisen ja syvän oppimisen maailmaan. Minun intohimoni ja asiantuntemukseni ovat johtaneet minun osallistumiseen yli 50:een monipuoliseen ohjelmistosuunnitteluhankkeeseen, joissa on erityisesti painottunut AI/ML. Minun jatkuva uteliaisuuteni on myös ohjannut minun luontaisen kielen prosessoinnin pariin, jota haluan tutkia tarkemmin.