stubs Mamba: Sekvenču modelēšanas un transformatoru arhitektūras pārveidošana — Unite.AI
Savienoties ar mums

Mākslīgais intelekts

Mamba: Sekvenču modelēšanas un transformatoru arhitektūras pārveidošana

mm

Izdots

 on

Mamba AI modelis

Šajā rakstā par Mamba, mēs izpētīsim, kā šis novatoriskais stāvokļa-telpas modelis (SSM) maina secību modelēšanu. Mamba, ko izstrādājuši Alberts Gu un Tri Dao, izceļas ar savu efektivitāti sarežģītu secību apstrādē tādās jomās kā valodas apstrāde, genomika un audio analīze. Tās lineārā laika secību modelēšana ar selektīvām stāvokļu telpām nodrošina izcilu veiktspēju šajās dažādajās modalitātēs.

Mēs iedziļināsimies Mamba spējā pārvarēt skaitļošanas problēmas, ar kurām saskaras tradicionālie transformatori, īpaši ar garām sekvencēm. Tā selektīvā pieeja stāvokļa telpas modeļos ļauj izdarīt ātrākus secinājumus un lineāru mērogošanu ar secības garumu, ievērojami uzlabojot caurlaidspēju.

Mamba unikalitāte slēpjas tās ātrās apstrādes iespējās, selektīvajā SSM slānī un aparatūrai draudzīgajā dizainā, ko iedvesmojis FlashAttention. Šīs funkcijas ļauj Mambai pārspēt daudzus esošos modeļus, tostarp tos, kuru pamatā ir transformatora pieeja, padarot to par ievērojamu sasniegumu mašīnmācībā.

Transformatori vs Mamba 

Transformatori, tāpat kā GPT-4, ir noteikuši etalonus dabiskās valodas apstrādē. Tomēr to efektivitāte samazinās ar garākām sekvencēm. Lūk, kur Mamba ir lēciens uz priekšu ar spēju efektīvāk apstrādāt garas secības un tās unikālo arhitektūru, kas vienkāršo visu procesu.

Transformatori prot apstrādāt datu secības, piemēram, tekstu valodu modeļiem. Atšķirībā no iepriekšējiem modeļiem, kas apstrādāja datus secīgi, transformatori vienlaikus apstrādā visas secības, ļaujot tiem tvert sarežģītas attiecības datos.

Viņi izmanto uzmanības mehānismu, kas ļauj modelim koncentrēties uz dažādām secības daļām, veicot prognozes.

Šī uzmanība tiek aprēķināta, izmantojot trīs svaru kopas: vaicājumus, atslēgas un vērtības, kas iegūtas no ievades datiem. Katrs sekvences elements tiek salīdzināts ar katru citu elementu, nodrošinot svaru, kas norāda uz nozīmi jeb “uzmanību”, kas katram elementam jāsaņem, prognozējot nākamo secības elementu.

Transformatori uztur divus galvenos blokus: kodētāju, kas apstrādā ievades datus, un dekodētāju, kas ģenerē izvadi. Kodētājs sastāv no vairākiem slāņiem, no kuriem katrs satur divus apakšslāņus: vairāku galviņu pašatvēršanas mehānismu un vienkāršu, pozīcijas ziņā pilnībā savienotu pārvades tīklu. Normalizācija un atlikušie savienojumi tiek izmantoti katrā apakšslānī, lai palīdzētu apmācīt dziļos tīklus.

Dekodētājam ir arī slāņi ar diviem apakšslāņiem, kas ir līdzīgi kodētājam, taču tam ir pievienots trešais apakšslānis, kas kodētāja izvadei veic vairāku galviņu uzmanību. Dekodētāja secīgais raksturs nodrošina, ka pozīcijas prognozēs var ņemt vērā tikai agrākās pozīcijas, saglabājot autoregresīvo īpašību.

Atšķirībā no transformatoriem, Mamba modelim ir atšķirīga pieeja. Kamēr transformatori risina jautājumu par garajām sekvencēm, izmantojot sarežģītākus uzmanības mehānismus, Mamba izmanto selektīvas stāvokļa telpas, nodrošinot lielāku aprēķinu.

Šeit ir augsta līmeņa pārskats par to, kā darbojas transformators:

  1. Ievades apstrāde: Transformatori vispirms kodē ievades datus modelim saprotamā formātā, bieži izmantojot iegulšanu, kas ietver arī katra elementa pozīciju secībā.
  2. Uzmanības mehānisms: Savā pamatā uzmanības mehānisms aprēķina rezultātu, kas parāda, cik daudz uzmanības jāpievērš citām ievades secības daļām, izprotot pašreizējo elementu.
  3. Kodētāja-dekodētāja arhitektūra: transformatora modelis sastāv no kodētāja ievades apstrādei un dekodera, lai ģenerētu izvadi. Katrs sastāv no vairākiem slāņiem, kas uzlabo modeļa izpratni par ievadi.
  4. Vairāku galvu uzmanība: gan kodētājā, gan dekodētājā vairāku galvu uzmanība ļauj modelim vienlaikus aplūkot dažādas secības daļas no dažādām reprezentācijas telpām, uzlabojot tā spēju mācīties no dažādiem kontekstiem.
  5. Tīkli pēc pozīcijas: Pēc uzmanības, vienkāršs neironu tīkls apstrādā katras pozīcijas izvadi atsevišķi un identiski. Tas tiek apvienots ar ievadi, izmantojot atlikušo savienojumu, un tam seko slāņa normalizācija.
  6. Izejas ģenerēšana: pēc tam dekodētājs prognozē izvades secību, ko ietekmē kodētāja konteksts un līdz šim ģenerētais.

Transformatora spēja apstrādāt secības paralēli un tā spēcīgais uzmanības mehānisms padara to jaudīgu tādu uzdevumu veikšanai kā tulkošana un teksta ģenerēšana.

Turpretim Mamba modelis darbojas atšķirīgi, secību apstrādei izmantojot selektīvas stāvokļa telpas. Šī pieeja novērš skaitļošanas neefektivitāti transformatoros, strādājot ar garām sekvencēm. Mamba dizains ļauj izdarīt ātrākus secinājumus un lineāri mērogot ar secības garumu, nosakot jaunu paradigmu secību modelēšanai, kas varētu būt efektīvāka, jo īpaši tāpēc, ka secības kļūst arvien garākas.

Mamba

Tas, kas padara Mamba patiesi unikālu, ir tā atkāpšanās no tradicionālajiem uzmanības un MLP blokiem. Šīs vienkāršošanas rezultātā tiek izveidots vieglāks, ātrāks modelis, kas lineāri mērogojas ar secības garumu — tas nav līdzvērtīgs tā priekšgājējiem.

Galvenās Mamba iezīmes ir šādas:

  1. Selektīvie SSM: tie ļauj Mambai filtrēt neatbilstošu informāciju un koncentrēties uz atbilstošiem datiem, uzlabojot secību apstrādi. Šī selektivitāte ir ļoti svarīga efektīvai uz saturu balstītai argumentācijai.
  2. Aparatūru apzinošs algoritms: Mamba izmanto paralēlu algoritmu, kas ir optimizēts mūsdienu aparatūrai, īpaši GPU. Šis dizains nodrošina ātrāku aprēķinu un samazina atmiņas prasības salīdzinājumā ar tradicionālajiem modeļiem.
  3. Vienkāršota arhitektūra: Integrējot selektīvos SSM un novēršot uzmanības un MLP blokus, Mamba piedāvā vienkāršāku, viendabīgāku struktūru. Tas nodrošina labāku mērogojamību un veiktspēju.

Mamba ir demonstrējusi izcilu sniegumu dažādās jomās, tostarp valodā, audio un genomikā, izceļoties gan pirmsapmācības, gan domēna specifisku uzdevumu veikšanā. Piemēram, valodu modelēšanā Mamba atbilst vai pārsniedz lielāku Transformer modeļu veiktspēju.

Mamba kods un iepriekš apmācīti modeļi ir atklāti pieejami kopienai vietnē GitHub.

Standarta kopēšanas uzdevumi lineārajiem modeļiem ir vienkārši. Selektīvās kopēšanas un indukcijas galviņām ir nepieciešama dinamiska, saturam atbilstoša atmiņa LLM.

Standarta kopēšanas uzdevumi lineārajiem modeļiem ir vienkārši. Selektīvās kopēšanas un indukcijas galviņām ir nepieciešama dinamiska, saturam atbilstoša atmiņa LLM.

Strukturētās stāvokļa telpas (S4) modeļi nesen ir kļuvuši par daudzsološu secību modeļu klasi, kas ietver RNN, CNN un klasisko stāvokļu telpas modeļu iezīmes. S4 modeļi gūst iedvesmu no nepārtrauktām sistēmām, jo ​​īpaši no sistēmas veida, kas kartē viendimensijas funkcijas vai secības, izmantojot netiešu latentu stāvokli. Dziļās mācīšanās kontekstā tie ir nozīmīgs jauninājums, nodrošinot jaunu metodoloģiju, lai izstrādātu secības modeļus, kas ir efektīvi un ļoti pielāgojami.

S4 modeļu dinamika

SSM (S4) Šis ir pamata strukturētās stāvokļa telpas modelis. Tas aizņem secību x un ražo produkciju y izmantojot apgūtos parametrus A, B, Cun aizkaves parametru Δ. Transformācija ietver parametru diskretizāciju (nepārtrauktu funkciju pārvēršanu par diskrētām) un SSM operācijas piemērošanu, kas ir laikā nemainīga — tas nozīmē, ka tā nemainās dažādos laika posmos.

Diskretizācijas nozīme

Diskretizācija ir galvenais process, kas nepārtrauktos parametrus pārveido diskrētos, izmantojot fiksētas formulas, ļaujot S4 modeļiem uzturēt savienojumu ar nepārtraukta laika sistēmām. Tas piešķir modeļiem papildu īpašības, piemēram, izšķirtspējas nemainīgumu, un nodrošina pareizu normalizāciju, uzlabojot modeļa stabilitāti un veiktspēju. Diskretizācija arī velk paralēles ar RNN atrodamajiem vārtu mehānismiem, kas ir būtiski, lai pārvaldītu informācijas plūsmu caur tīklu.

Lineārā laika invariance (LTI)

S4 modeļu galvenā iezīme ir to lineārā laika nemainība. Šis īpašums nozīmē, ka modeļa dinamika laika gaitā paliek nemainīga, un parametri ir fiksēti visos laika posmos. LTI ir atkārtošanās un konvolūciju stūrakmens, kas piedāvā vienkāršotu, bet jaudīgu sistēmu secību modeļu veidošanai.

Pamata ierobežojumu pārvarēšana

S4 sistēmu tradicionāli ierobežo tā LTI raksturs, kas rada problēmas, modelējot datus, kuriem nepieciešama adaptīva dinamika. Nesenajā pētnieciskajā dokumentā ir piedāvāta pieeja, kas pārvar šos ierobežojumus, ieviešot laika mainīgus parametrus, tādējādi novēršot LTI ierobežojumu. Tas ļauj S4 modeļiem apstrādāt daudzveidīgāku secību un uzdevumu kopumu, ievērojami paplašinot to pielietojamību.

Termins “stāvokļa telpas modelis” plaši aptver jebkuru atkārtotu procesu, kas saistīts ar latentu stāvokli, un ir izmantots, lai aprakstītu dažādus jēdzienus vairākās disciplīnās. Dziļās mācīšanās kontekstā S4 modeļi vai strukturētie SSM attiecas uz konkrētu modeļu klasi, kas ir optimizēti efektīvai aprēķiniem, vienlaikus saglabājot iespēju modelēt sarežģītas secības.

S4 modeļus var integrēt visaptverošās neironu tīklu arhitektūrās, kas darbojas kā atsevišķas secību transformācijas. Tos var uzskatīt par analogiem konvolūcijas slāņiem CNN, nodrošinot mugurkaulu secību modelēšanai dažādās neironu tīklu arhitektūrās.

SSM pret SSM + atlase

SSM pret SSM + atlase

Selektivitātes motivācija secību modelēšanā

Strukturētie SSM

Strukturētie SSM

Rakstā tiek apgalvots, ka secības modelēšanas pamataspekts ir konteksta saspiešana pārvaldāmā stāvoklī. Modeļi, kas var selektīvi fokusēt vai filtrēt ievades, nodrošina efektīvāku līdzekli šī saspiestā stāvokļa uzturēšanai, tādējādi radot efektīvākus un jaudīgākus secības modeļus. Šī selektivitāte ir ļoti svarīga modeļiem, lai adaptīvi kontrolētu informācijas plūsmu secības dimensijā, kas ir būtiska spēja veikt sarežģītus uzdevumus valodas modelēšanā un ārpus tās.

Selektīvie SSM uzlabo parastos SSM, ļaujot to parametriem būt atkarīgiem no ievades, kas ievieš tādu adaptivitātes pakāpi, kas iepriekš nebija sasniedzama ar laika nemainīgiem modeļiem. Tā rezultātā tiek iegūti laikā mainīgi SSM, kas vairs nevar izmantot konvolūcijas efektīvai aprēķināšanai, bet gan paļauties uz lineāru atkārtošanās mehānismu, kas ir būtiska novirze no tradicionālajiem modeļiem.

SSM + atlase (S6) Šis variants ietver atlases mehānismu, pievienojot parametriem atkarību no ievades B un Cun aizkaves parametru Δ. Tas ļauj modelim selektīvi koncentrēties uz noteiktām ievades secības daļām x. Parametri tiek diskretizēti, ņemot vērā atlasi, un SSM darbība tiek piemērota laikā mainīgā veidā, izmantojot skenēšanas operāciju, kas apstrādā elementus secīgi, laika gaitā dinamiski pielāgojot fokusu.

Mambas snieguma izcilākie notikumi

Mamba ir labākā savā klasē ar katru novērtējuma rezultātu

Mamba ir labākā savā klasē ar katru novērtējuma rezultātu

Veiktspējas ziņā Mamba izceļas gan ar secinājumu ātrumu, gan ar precizitāti. Tā dizains ļauj labāk izmantot garākus kontekstus, kas tiek parādīts gan DNS, gan audio modelēšanā, pārspējot iepriekšējos modeļus sarežģītos uzdevumos, kuriem nepieciešama liela attāluma atkarība. Tā daudzpusība ir izcelta arī vairāku uzdevumu nulles novērtējumos, nosakot jaunu standartu šādiem modeļiem efektivitātes un mērogojamības ziņā.

Darba sākšana ar Mamba

Tiem, kas interesējas par Mamba izmantošanu, tehniskajās prasībās ietilpst Linux OS, NVIDIA GPU, PyTorch 1.12+ un CUDA 11.6+. Instalēšana ietver vienkāršas pip komandas, lai instalētu nepieciešamās pakotnes no Mamba repozitorijs. Ja ar PyTorch versijām rodas saderības problēmas, var palīdzēt karoga –no-build-isolation izmantošana ar pip. Šie modeļi, kas apmācīti uz plašām datu kopām, piemēram, Pile un SlimPajama datu kopu, ir izstrādāti, lai apmierinātu dažādas skaitļošanas vajadzības un veiktspējas kritērijus.

Mamba piedāvā dažādu līmeņu saskarnes, sākot no selektīvā SSM slāņa līdz Mamba blokam un pilnām valodas modeļa struktūrām. Mamba bloks, kas ir arhitektūras galvenais modulis, izmanto cēloņsakarības Conv1d slāni, un to var viegli integrēt neironu tīklu projektos. Sniegtais lietojuma piemērs programmā Python parāda Mamba modeļa instantiāciju un datu apstrādi caur to, izceļot sistēmas vienkāršību un elastību.

Iepriekš apmācīti Mamba modeļi ir pieejami vietnē Apskāviena seja, kuru izmēri svārstās no 130 M līdz 2.8 B parametriem, apmācīti par plašo Pile datu kopu un SlimPajama datu kopu. Šie modeļi ir izstrādāti, lai atbilstu dažādām skaitļošanas un veiktspējas prasībām, ievērojot GPT-3 izmēru standartus. Lietotāji var sagaidīt no šiem modeļiem lielu caurlaidspēju un precizitāti, padarot Mamba par konkurētspējīgu izvēli dažādām lietojumprogrammām, tostarp, bet ne tikai, valodu modelēšanai.

Mambas ietekme

Mamba ir lēciens uz priekšu secības modelēšanā, piedāvājot jaudīgu alternatīvu Transformer arhitektūrām informācijas blīvu datu apstrādei. Tā dizains atbilst mūsdienu aparatūras prasībām, optimizējot gan atmiņas lietojumu, gan paralēlās apstrādes iespējas. Mamba kodu bāzes un tās iepriekš apmācīto modeļu atvērtā pirmkoda pieejamība padara to par pieejamu un stabilu rīku pētniekiem un izstrādātājiem AI un dziļās mācīšanās jomā.

Pēdējos piecus gadus esmu pavadījis, iegremdējot sevi aizraujošajā mašīnmācīšanās un dziļās mācīšanās pasaulē. Mana aizraušanās un pieredze lika man piedalīties vairāk nekā 50 dažādos programmatūras inženierijas projektos, īpašu uzmanību pievēršot AI/ML. Mana pastāvīgā ziņkārība mani ir piesaistījusi arī dabiskās valodas apstrādei, jomai, kuru vēlos izpētīt tālāk.