AI-modeller och plattformar

Mamba: Omdefinierar sekvensmodellering och ÃķvertrÃĪffar Transformers-arkitektur

mm
LÃĪgg till Unite.AI bland dina fÃķredragna kÃĪllor pÃĨ Google

I den hÃĪr artikeln om Mamba kommer vi att utforska hur denna innovativa tillstÃĨndsrummodell (SSM) revolutionerar sekvensmodellering. Utvecklad av Albert Gu och Tri Dao, ÃĪr Mamba kÃĪnd fÃķr sin effektivitet i att bearbeta komplexa sekvenser inom omrÃĨden som sprÃĨkbehandling, genetik och ljudanalys. Dess linjÃĪra tidssekvensmodellering med selektiva tillstÃĨndsrum sÃĪkerstÃĪller exceptionell prestanda Ãķver dessa olika modaliteter.

Vi kommer att dyka in i Mambas fÃķrmÃĨga att Ãķvervinna de berÃĪkningsmÃĪssiga utmaningar som traditionella Transformers stÃĨr infÃķr, sÃĪrskilt med lÃĨnga sekvenser. Dess selektiva tillvÃĪgagÃĨngssÃĪtt i tillstÃĨndsrummodeller mÃķjliggÃķr snabbare inferens och linjÃĪr skalning med sekvenslÃĪngd, vilket betydligt fÃķrbÃĪttrar genomstrÃķmningen.

Mambas unikhet ligger i dess snabba bearbetningsfÃķrmÃĨga, selektiva SSM-lager och hÃĨrdvaruvÃĪnlig design inspirerad av FlashAttention. Dessa funktioner mÃķjliggÃķr fÃķr Mamba att ÃķvertrÃĪffa mÃĨnga existerande modeller, inklusive de som baseras pÃĨ transformer-approachen, vilket gÃķr den till en betydande framsteg inom maskinlÃĪrning.

Transformers vs Mamba

Transformers, som GPT-4, har satt benchmark inom naturlig sprÃĨkbehandling. Men deras effektivitet sjunker med lÃĪngre sekvenser. HÃĪr ÃĪr dÃĪr Mamba hoppar fram, med dess fÃķrmÃĨga att bearbeta lÃĨnga sekvenser mer effektivt och dess unika arkitektur som fÃķrenklar hela processen.

Transformers ÃĪr skickliga pÃĨ att hantera sekvenser av data, sÃĨsom text fÃķr sprÃĨkmodeller. Till skillnad frÃĨn tidigare modeller som bearbetade data sekventiellt, bearbetar Transformers hela sekvenser samtidigt, vilket mÃķjliggÃķr fÃķr dem att fÃĨnga komplexa relationer inom data.

De anvÃĪnder uppmÃĪrksamhetsmekanism, som tillÃĨter modellen att fokusera pÃĨ olika delar av sekvensen nÃĪr de gÃķr fÃķrutsÃĪgelser.

Denna uppmÃĪrksamhet berÃĪknas med hjÃĪlp av tre uppsÃĪttningar vikter: frÃĨgor, nycklar och vÃĪrden, som hÃĪrrÃķr frÃĨn indata. Varje element i en sekvens jÃĪmfÃķrs med varje annat element, vilket ger en vikt som anger betydelsen, eller “uppmÃĪrksamhet”, som varje element bÃķr fÃĨ nÃĪr man fÃķrutsÃĪger nÃĪsta element i sekvensen.

Transformers har tvÃĨ huvudsakliga block: en encoder, som bearbetar indata, och en decoder, som genererar utdata. Encodern bestÃĨr av flera lager, var och ett innehÃĨllande tvÃĨ underlager: en multi-huvud sjÃĪlvuppmÃĪrksamhetsmekanism och ett enkelt, positionsvist fullstÃĪndigt anslutet feed-forward-nÃĪtverk. Normalisering och restanslutningar anvÃĪnds vid varje underlager fÃķr att hjÃĪlpa till vid utbildning av djupa nÃĪtverk.

Decodern har ocksÃĨ lager med tvÃĨ underlager liknande encodern, men lÃĪgger till ett tredje underlager som utfÃķr multi-huvuduppmÃĪrksamhet Ãķver encoderns utdata. Den sekventiella naturen hos decodern sÃĪkerstÃĪller att fÃķrutsÃĪgelser fÃķr en position endast kan ÃķvervÃĪga tidigare positioner, vilket bevarar den autoregressiva egenskapen.

Till skillnad frÃĨn Transformers, tar Mamba-modellen en annan approach. Medan Transformers hanterar problemet med lÃĨnga sekvenser genom att anvÃĪnda mer komplexa uppmÃĪrksamhetsmekanismer, anvÃĪnder Mamba selektiva tillstÃĨndsrum, vilket ger en mer effektiv metod fÃķr att bearbeta sekvenser.

HÃĪr ÃĪr en Ãķversikt av hur en transformer fungerar:

  1. Indata bearbetning: Transformers kodar fÃķrst indata i ett format som modellen kan fÃķrstÃĨ, ofta med hjÃĪlp av inbÃĪddningar som ocksÃĨ inkorporerar positionen fÃķr varje element i sekvensen.
  2. UppmÃĪrksamhetsmekanism: I dess kÃĪrna berÃĪknar uppmÃĪrksamhetsmekanismen en poÃĪng som representerar hur mycket fokus som ska lÃĪggas pÃĨ andra delar av indata sekvensen nÃĪr man fÃķrstÃĨr ett aktuellt element.
  3. Encoder-decoder-arkitektur: Transformer-modellen bestÃĨr av en encoder fÃķr att bearbeta indata och en decoder fÃķr att generera utdata. BÃĨda bestÃĨr av flera lager som raffinerar modellens fÃķrstÃĨelse av indata.
  4. Multi-huvuduppmÃĪrksamhet: Inom bÃĨde encodern och decodern tillÃĨter multi-huvuduppmÃĪrksamhet modellen att samtidigt fokusera pÃĨ olika delar av sekvensen frÃĨn olika representativa utrymmen, vilket fÃķrbÃĪttrar dess fÃķrmÃĨga att lÃĪra sig frÃĨn olika sammanhang.
  5. Positionsvist feed-forward-nÃĪtverk: Efter uppmÃĪrksamhet bearbetar ett enkelt neuronnÃĪtverk utdata frÃĨn varje position separat och identiskt. Detta kombineras med indata genom en restanslutning och fÃķljs av lager normalisering.
  6. Utdata generering: Decodern fÃķrutsÃĪger sedan en utdata sekvens, pÃĨverkad av encoderns sammanhang och vad den har genererat hittills.

Transformers fÃķrmÃĨga att hantera sekvenser parallellt och dess robusta uppmÃĪrksamhetsmekanism gÃķr den kraftfull fÃķr uppgifter som ÃķversÃĪttning och textgenerering.

Till skillnad frÃĨn detta, fungerar Mamba-modellen annorlunda genom att anvÃĪnda selektiva tillstÃĨndsrum fÃķr att bearbeta sekvenser. Denna approach hanterar den berÃĪkningsmÃĪssiga ineffektiviteten i Transformers nÃĪr det gÃĪller lÃĨnga sekvenser. Mambas design mÃķjliggÃķr snabbare inferens och skalar linjÃĪrt med sekvenslÃĪngd, vilket sÃĪtter en ny paradigm fÃķr sekvensmodellering som kan vara mer effektiv, sÃĪrskilt nÃĪr sekvenser blir allt lÃĪngre.

Mamba

Vad som gÃķr Mamba unik ÃĪr dess avvikelse frÃĨn traditionell uppmÃĪrksamhet och MLP-block. Denna fÃķrenkling leder till en lÃĪttare, snabbare modell som skalar linjÃĪrt med sekvenslÃĪngden – en bedrift som inte har setts tidigare.

Mambas nyckelfunktioner inkluderar:

  1. Selektiva SSM: Dessa tillÃĨter Mamba att filtrera irrelevant information och fokusera pÃĨ relevant data, vilket fÃķrbÃĪttrar dess hantering av sekvenser. Denna selektivitet ÃĪr avgÃķrande fÃķr effektiv innehÃĨllsbaserad resonemang.
  2. HÃĨrdvaru-medveten algoritm: Mamba anvÃĪnder en parallell algoritm som ÃĪr optimerad fÃķr modern hÃĨrdvara, sÃĪrskilt GPU:er. Denna design mÃķjliggÃķr snabbare berÃĪkning och minskar minneskraven jÃĪmfÃķrt med traditionella modeller.
  3. FÃķrenklad arkitektur: Genom att integrera selektiva SSM och eliminera uppmÃĪrksamhets- och MLP-block, erbjuder Mamba en enklare, mer homogen struktur. Detta leder till bÃĪttre skalbarhet och prestanda.

Mamba har visat ÃķverlÃĪgsen prestanda inom olika omrÃĨden, inklusive sprÃĨk, ljud och genetik, och excellerar i bÃĨde fÃķrtrÃĪning och domÃĪnspecifika uppgifter. Till exempel, i sprÃĨkmodellering, matchar eller ÃķvertrÃĪffar Mamba prestandan hos stÃķrre Transformer-modeller.

Mambas kod och fÃķrtrÃĪnade modeller ÃĪr Ãķppet tillgÃĪngliga fÃķr communityn pÃĨ GitHub.

Standard Copying tasks ÃĪr enkla fÃķr linjÃĪra modeller. Selektiv Copying och Induction Heads krÃĪver dynamisk, innehÃĨllsmedveten minne fÃķr LLM.

Standard Copying tasks ÃĪr enkla fÃķr linjÃĪra modeller. Selektiv Copying och Induction Heads krÃĪver dynamisk, innehÃĨllsmedveten minne fÃķr LLM.

Strukturerade tillstÃĨndsrummodeller (S4) har nyligen dykt upp som en lovande klass av sekvensmodeller, som omfattar egenskaper frÃĨn RNN, CNN och klassiska tillstÃĨndsrummodeller. S4-modeller hÃĪmtar inspiration frÃĨn kontinuerliga system, sÃĪrskilt en typ av system som kartar en-dimensionella funktioner eller sekvenser genom en implicit latent tillstÃĨnd. I sammanhanget med djupinlÃĪrning representerar de en betydande innovation, som ger en ny metodik fÃķr design av sekvensmodeller som ÃĪr effektiva och hÃķgt anpassningsbara.

TillstÃĨndsrummodellens dynamik

SSM (S4) Detta ÃĪr den grundlÃĪggande strukturerade tillstÃĨndsrummodellen. Den tar en sekvens x och producerar en utdata y med hjÃĪlp av lÃĪrd parametrar A, B, C och en fÃķrdrÃķjningsparameter Δ. Transformationen involverar diskretisering av parametrarna (omvandling av kontinuerliga funktioner till diskreta) och tillÃĪmpning av SSM-ÃĨtgÃĪrden, som ÃĪr tidsinvariant – den fÃķrÃĪndras inte Ãķver olika tidssteg.

Discretiseringens betydelse

Discretisering ÃĪr en nyckelprocess som omvandlar kontinuerliga parametrar till diskreta genom fasta formler, vilket mÃķjliggÃķr fÃķr S4-modellerna att upprÃĪtthÃĨlla en koppling till kontinuerliga tidsystem. Detta ger modellerna ytterligare egenskaper, sÃĨsom upplÃķsningsinvarians, och sÃĪkerstÃĪller korrekt normalisering, vilket fÃķrbÃĪttrar modellens stabilitet och prestanda. Discretisering liknar ocksÃĨ gating-mekanismerna som finns i RNN, som ÃĪr avgÃķrande fÃķr att hantera informationsflÃķdet genom nÃĪtverket.

LinjÃĪr tidsinvarians (LTI)

En kÃĪrnegenskap hos S4-modellerna ÃĪr deras linjÃĪra tidsinvarians. Denna egenskap innebÃĪr att modellens dynamik fÃķrblir konstant Ãķver tiden, med parametrarna fasta fÃķr alla tidssteg. LTI ÃĪr en hÃķrnsten i ÃĨterkommande och konvolutioner, som erbjuder en fÃķrenklad men kraftfull ram fÃķr att bygga sekvensmodeller.

Övervinna grundlÃĪggande begrÃĪnsningar

S4-ramverket har traditionellt begrÃĪnsats av sin LTI-natur, som stÃĪller utmaningar i modellering av data som krÃĪver adaptiva dynamik. Den senaste forskningsartikeln presenterar en metod som Ãķvervinner dessa begrÃĪnsningar genom att infÃķra tidsvariabler parametrar, vilket tar bort LTI-begrÃĪnsningen. Detta mÃķjliggÃķr fÃķr S4-modellerna att hantera en mer varierad uppsÃĪttning sekvenser och uppgifter, vilket betydligt utvidgar deras tillÃĪmpbarhet.

Termen “tillstÃĨndsrummodell” tÃĪcker i allmÃĪnhet varje ÃĨterkommande process som involverar ett latent tillstÃĨnd och har anvÃĪnts fÃķr att beskriva olika koncept inom flera discipliner. I sammanhanget med djupinlÃĪrning refererar S4-modeller, eller strukturerade SSM, till en specifik klass av modeller som har optimerats fÃķr effektiv berÃĪkning samtidigt som de behÃĨller fÃķrmÃĨgan att modellera komplexa sekvenser.

S4-modeller kan integreras i slutna neurala nÃĪtverksarkitekturer, fungerande som fristÃĨende sekvensomvandlingar. De kan ses som analoger till konvolutionslager i CNN, som ger ryggraden fÃķr sekvensmodellering i en mÃĪngd olika neurala nÃĪtverksarkitekturer.

SSM vs SSM + Selektion

SSM vs SSM + Selektion

Motivation fÃķr selektivitet i sekvensmodellering

Strukturerade SSM

Strukturerade SSM

Artikeln hÃĪvdar att en grundlÃĪggande aspekt av sekvensmodellering ÃĪr komprimering av sammanhang till en hanterbar tillstÃĨnd. Modeller som kan selektivt fokusera pÃĨ eller filtrera indata tillhandahÃĨller ett mer effektivt sÃĪtt att upprÃĪtthÃĨlla denna komprimerade tillstÃĨnd, vilket leder till mer effektiva och kraftfulla sekvensmodeller. Denna selektivitet ÃĪr avgÃķrande fÃķr modeller att adaptivt kontrollera hur information flÃķdar lÃĪngs sekvensdimensionen, en avgÃķrande fÃķrmÃĨga fÃķr att hantera komplexa uppgifter i sprÃĨkmodellering och bortom.

Selektiva SSM fÃķrbÃĪttrar konventionella SSM genom att tillÃĨta deras parametrar att vara indata-beroende, vilket introducerar en grad av adaptivitet som tidigare inte var mÃķjlig med tidsinvarianta modeller. Detta resulterar i tidsvariabler SSM som inte lÃĪngre kan anvÃĪnda konvolutioner fÃķr effektiv berÃĪkning, utan istÃĪllet fÃķrlitar sig pÃĨ en linjÃĪr ÃĨterkommande mekanism, en betydande avvikelse frÃĨn traditionella modeller.

SSM + Selektion (S6) Denna variant innehÃĨller en selektionsmekanism, som lÃĪgger till indata-beroende till parametrarna B och C, och en fÃķrdrÃķjningsparameter Δ. Detta tillÃĨter modellen att selektivt fokusera pÃĨ vissa delar av indata sekvensen x. Parametrarna diskretiseras med hÃĪnsyn till selektionen, och SSM-ÃĨtgÃĪrden tillÃĪmpas pÃĨ ett tidsvariabelt sÃĪtt med hjÃĪlp av en skanningsoperation, som bearbetar element sekventiellt, anpassar fokus dynamiskt Ãķver tiden.

Mambas prestanda

Mamba ÃĪr bÃĪst i klassen pÃĨ varje enskild utvÃĪrderingsresultat

Mamba ÃĪr bÃĪst i klassen pÃĨ varje enskild utvÃĪrderingsresultat

Vad gÃĪller prestanda, ÃķvertrÃĪffar Mamba i bÃĨde inferenshastighet och noggrannhet. Dess design mÃķjliggÃķr bÃĪttre utnyttjande av lÃĪngre sammanhang, vilket visas i bÃĨde DNA- och ljudmodellering, och ÃķvertrÃĪffar tidigare modeller pÃĨ komplexa uppgifter som krÃĪver lÃĨngvÃĪga beroenden. Dess mÃĨngsidighet framhÃĪvs ocksÃĨ i zero-shot-utvÃĪrderingar Ãķver flera uppgifter, vilket sÃĪtter en ny standard fÃķr sÃĨdana modeller i termer av effektivitet och skalbarhet.

Komma igÃĨng med Mamba

FÃķr de som ÃĪr intresserade av att utnyttja Mamba, inkluderar de tekniska kraven en Linux-OS, en NVIDIA-GPU, PyTorch 1.12+ och CUDA 11.6+. Installationen innefattar enkla pip-kommandon fÃķr att installera nÃķdvÃĪndiga paket frÃĨn Mamba-repositoriet. Om kompatibilitetsproblem uppstÃĨr med PyTorch-versioner, kan anvÃĪndning av –no-build-isolation-flaggan med pip hjÃĪlpa. Dessa modeller, trÃĪnade pÃĨ omfattande dataset som Pile och SlimPajama-datasetet, ÃĪr utformade fÃķr att mÃķta olika berÃĪknings- och prestandabehov.

Mamba erbjuder olika grÃĪnssnitt, frÃĨn det selektiva SSM-lagret till Mamba-blocket och kompletta sprÃĨkmodellsstrukturer. Mamba-blocket, som ÃĪr arkitekturens huvudmodul, anvÃĪnder ett kausalt Conv1d-lager och kan enkelt integreras i neurala nÃĪtverksdesigner. Det tillhandahÃĨllna anvÃĪndningsexemplet i Python visar hur man kan instansiera en Mamba-modell och bearbeta data genom den, vilket framhÃĪver systemets enkelhet och flexibilitet.

FÃķrtrÃĪnade Mamba-modeller ÃĪr tillgÃĪngliga pÃĨ Hugging Face, med storlekar som strÃĪcker sig frÃĨn 130M till 2,8B parametrar, trÃĪnade pÃĨ det omfattande Pile-datasetet och SlimPajama-datasetet. Dessa modeller ÃĪr utformade fÃķr att mÃķta olika berÃĪknings- och prestandakrav, och fÃķljer de dimensionella standarderna fÃķr GPT-3. AnvÃĪndare kan fÃķrvÃĪnta sig hÃķg genomstrÃķmning och noggrannhet frÃĨn dessa modeller, vilket gÃķr Mamba till ett konkurrenskraftigt val fÃķr olika tillÃĪmpningar, inklusive men inte begrÃĪnsat till sprÃĨkmodellering.

Mambas pÃĨverkan

Mamba representerar ett stort steg framÃĨt i sekvensmodellering, och erbjuder en kraftfull alternativ till Transformer-arkitekturer fÃķr att bearbeta informationsrika data. Dess design ÃĪr anpassad till modern hÃĨrdvaras krav, och optimerar bÃĨde minnesanvÃĪndning och parallellbearbetningsfÃķrmÃĨga. Den Ãķppna tillgÃĪngligheten av Mambas kodbas och fÃķrtrÃĪnade modeller gÃķr det till ett tillgÃĪngligt och robust verktyg fÃķr forskare och utvecklare inom omrÃĨdet AI och djupinlÃĪrning.

Jag har tillbringat de senaste fem ÃĨren med att dyka djupt in i den fascinerande vÃĪrlden av MaskinlÃĪrning och DjupinlÃĪrning. Min passion och expertis har lett mig till att bidra till Ãķver 50 olika mjukvaruprojekt, med sÃĪrskild fokus pÃĨ AI/ML. Min pÃĨgÃĨende nyfikenhet har ocksÃĨ lett mig mot Naturlig SprÃĨkbehandling, ett omrÃĨde som jag ÃĪr angelÃĪgen om att utforska vidare.