stub Mamba: Redefiniing Sequence Modeling and Outforming Transformers Architecture - Unite.AI
Anslut dig till vårt nätverk!

Artificiell intelligens

Mamba: Redefiniing Sequence Modeling och Outforming Transformers Architecture

mm

publicerade

 on

Mamba AI-modell

I denna artikel om Mamba, ska vi undersöka hur denna innovativa state-space-modell (SSM) revolutionerar sekvensmodellering. Utvecklad av Albert Gu och Tri Dao, är Mamba utmärkt för sin effektivitet i att bearbeta komplexa sekvenser inom områden som språkbehandling, genomik och ljudanalys. Dess linjära tidssekvensmodellering med selektiva tillståndsutrymmen säkerställer exceptionell prestanda över dessa olika modaliteter.

Vi kommer att fördjupa oss i Mambas förmåga att övervinna beräkningsutmaningar som traditionella transformatorer står inför, speciellt med långa sekvenser. Dess selektiva tillvägagångssätt i tillståndsrymdmodeller möjliggör snabbare slutledning och linjär skalning med sekvenslängd, vilket avsevärt förbättrar genomströmningen.

Mambas unika ligger i dess snabba bearbetningsförmåga, selektiva SSM-lager och hårdvaruvänlig design inspirerad av FlashAttention. Dessa funktioner gör det möjligt för Mamba att överträffa många befintliga modeller, inklusive de som är baserade på transformatormetoden, vilket gör det till ett anmärkningsvärt framsteg inom maskininlärning.

Transformers vs Mamba 

Transformatorer, som GPT-4, har satt riktmärken i naturlig språkbehandling. Deras effektivitet sjunker dock med längre sekvenser. Det är här Mamba tar ett steg framåt, med sin förmåga att bearbeta långa sekvenser mer effektivt och sin unika arkitektur som förenklar hela processen.

Transformatorer 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 gör det möjligt för dem att fånga komplexa relationer i datan.

De använder uppmärksamhetsmekanism, som gör att modellen kan 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, härledda från indata. Varje element i en sekvens jämförs med alla andra element, vilket ger en vikt som anger vikten, eller "uppmärksamhet", som varje element bör få när man förutsäger nästa element i sekvensen.

Transformatorer upprätthåller två huvudblock: kodaren, som bearbetar indata, och avkodaren, som genererar utdata. Kodaren består av flera lager som vart och ett innehåller två underlager: en självuppmärksamhetsmekanism med flera huvuden och ett enkelt, positionsmässigt fullt anslutet framkopplingsnätverk. Normalisering och kvarvarande anslutningar används vid varje underlager för att hjälpa till att träna djupa nätverk.

Avkodaren har också lager med två underlager som liknar kodaren men lägger till ett tredje underlager som utför multi-head uppmärksamhet över kodarens utdata. Avkodarens sekventiella karaktär säkerställer att förutsägelser för en position endast kan beakta tidigare positioner, vilket bevarar den autoregressiva egenskapen.

Till skillnad från Transformers tar Mamba-modellen ett annat tillvägagångssätt. Medan Transformers hanterar frågan om långa sekvenser genom att använda mer komplexa uppmärksamhetsmekanismer, använder Mamba selektiva tillståndsutrymmen, vilket ger en mer beräkning

Här är en översikt på hög nivå över hur en transformator fungerar:

  1. Ingångsbearbetning: Transformatorer kodar först indata till ett format som modellen kan förstå, ofta med inbäddningar som också inkluderar positionen för varje element i sekvensen.
  2. Uppmärksamhetsmekanism: I sin kärna beräknar uppmärksamhetsmekanismen en poäng som representerar hur mycket fokus som ska läggas på andra delar av inmatningssekvensen när man förstår ett aktuellt element.
  3. Encoder-Decoder Architecture: Transformatormodellen är sammansatt av en kodare för att bearbeta ingången och en avkodare för att generera utsignalen. Var och en består av flera lager som förfinar modellens förståelse av input.
  4. Multi-Head Attention: Inom både kodaren och avkodaren tillåter multi-head uppmärksamhet modellen att samtidigt ta del av olika delar av sekvensen från olika representationsutrymmen, vilket förbättrar dess förmåga att lära av olika sammanhang.
  5. Positionsmässigt feed-forward-nätverk: Efter uppmärksamhet bearbetar ett enkelt neuralt nätverk utdata från varje position separat och identiskt. Detta kombineras med ingången genom en restanslutning och följs av lagernormalisering.
  6. Utgångsgenerering: Avkodaren förutsäger sedan en utdatasekvens, påverkad av kodarens sammanhang och vad den har genererat hittills.

Transformatorns förmåga att hantera sekvenser parallellt och dess robusta uppmärksamhetsmekanism gör den kraftfull för uppgifter som översättning och textgenerering.

Däremot fungerar Mamba-modellen annorlunda genom att använda selektiva tillståndsutrymmen för att bearbeta sekvenser. Detta tillvägagångssätt tar itu med beräkningsineffektiviteten i Transformers när man hanterar långa sekvenser. Mambas design möjliggör snabbare slutledning och skalar linjärt med sekvenslängd, vilket sätter ett nytt paradigm för sekvensmodellering som skulle kunna vara mer effektivt, särskilt när sekvenser blir allt längre.

Mamba

Det som gör Mamba verkligen unik är dess avvikelse från traditionell uppmärksamhet och MLP-block. Denna förenkling leder till en lättare, snabbare modell som skalas linjärt med sekvenslängden – en bedrift oöverträffad av sina föregångare.

Viktiga funktioner i Mamba 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 effektiva innehållsbaserade resonemang.
  2. Hårdvarumedveten 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ärksamhet 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 domäner, inklusive språk, ljud och genomik, och har utmärkt sig 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 samhällsbruk på GitHub.

Standardkopieringsuppgifter är enkla för linjära modeller. Selektiva kopierings- och induktionshuvuden kräver dynamiskt, innehållsmedvetet minne för LLM:er.

Standardkopieringsuppgifter är enkla för linjära modeller. Selektiva kopierings- och induktionshuvuden kräver dynamiskt, innehållsmedvetet minne för LLM:er.

S4-modeller (Structured State Space) har nyligen dykt upp som en lovande klass av sekvensmodeller, som omfattar egenskaper från RNNs, CNNs och klassiska state space-modeller. S4-modeller hämtar inspiration från kontinuerliga system, specifikt en typ av system som kartlägger endimensionella funktioner eller sekvenser genom ett implicit latent tillstånd. I samband med djupinlärning representerar de en betydande innovation, som tillhandahåller en ny metodik för att designa sekvensmodeller som är effektiva och mycket anpassningsbara.

Dynamiken hos S4-modeller

SSM (S4) Detta är den grundläggande strukturerade tillståndsmodellen. Det tar en sekvens x och producerar en output y med hjälp av inlärda parametrar A, B, Coch en fördröjningsparameter Δ. Transformationen innefattar att diskretisera parametrarna (omvandla kontinuerliga funktioner till diskreta) och tillämpa SSM-operationen, som är tidsinvariant – vilket innebär att den inte ändras över olika tidssteg.

Betydelsen av diskretisering

Diskretisering är en nyckelprocess som omvandlar de kontinuerliga parametrarna till diskreta sådana genom fasta formler, vilket gör det möjligt för S4-modellerna att upprätthålla en koppling med kontinuerliga tidssystem. Detta ger modellerna ytterligare egenskaper, såsom upplösningsinvarians, och säkerställer korrekt normalisering, vilket förbättrar modellens stabilitet och prestanda. Diskretisering drar också paralleller till grindmekanismerna som finns i RNN, vilka är avgörande för att hantera informationsflödet genom nätverket.

Linjär tidsinvarians (LTI)

En central egenskap hos S4-modellerna är deras linjära tidsinvarians. Den här egenskapen innebär att modellens dynamik förblir konsekvent över tiden, med parametrarna fasta för alla tidssteg. LTI är en hörnsten för återkommande och faltningar, och erbjuder ett förenklat men kraftfullt ramverk för att bygga sekvensmodeller.

Att övervinna grundläggande begränsningar

S4-ramverket har traditionellt begränsats av sin LTI-karaktär, vilket innebär utmaningar vid modellering av data som kräver adaptiv dynamik. Den senaste forskningsrapporten presenterar ett tillvägagångssätt som övervinner dessa begränsningar genom att introducera tidsvarierande parametrar, vilket tar bort begränsningen för LTI. Detta gör att S4-modellerna kan hantera en mer varierad uppsättning sekvenser och uppgifter, vilket avsevärt utökar deras tillämpbarhet.

Termen "tillståndsrymdmodell" täcker i stort sett alla återkommande processer som involverar ett latent tillstånd och har använts för att beskriva olika koncept över flera discipliner. I samband med djupinlärning hänvisar S4-modeller, eller strukturerade SSM:er, till en specifik klass av modeller som har optimerats för effektiv beräkning samtidigt som förmågan att modellera komplexa sekvenser bibehålls.

S4-modeller kan integreras i end-to-end neurala nätverksarkitekturer och fungerar som fristående sekvenstransformationer. De kan ses som analoga med faltningslager i CNN, vilket ger ryggraden för sekvensmodellering i en mängd olika neurala nätverksarkitekturer.

SSM vs SSM + Urval

SSM vs SSM + Urval

Motivation för selektivitet i sekvensmodellering

Strukturerade SSM

Strukturerade SSM

Uppsatsen hävdar att en grundläggande aspekt av sekvensmodellering är komprimeringen av sammanhang till ett hanterbart tillstånd. Modeller som selektivt kan fokusera på eller filtrera ingångar ger ett mer effektivt sätt att upprätthålla detta komprimerade tillstånd, vilket leder till mer effektiva och kraftfulla sekvensmodeller. Denna selektivitet är avgörande för modeller för att adaptivt kontrollera hur information flödar längs sekvensdimensionen, en väsentlig förmåga för att hantera komplexa uppgifter inom språkmodellering och vidare.

Selektiva SSM förbättrar konventionella SSM genom att tillåta deras parametrar att vara ingångsberoende, vilket introducerar en grad av adaptivitet som tidigare var ouppnåelig med tidsinvarianta modeller. Detta resulterar i tidsvarierande SSM:er som inte längre kan använda faltningar för effektiv beräkning utan istället förlitar sig på en linjär återfallsmekanism, en betydande avvikelse från traditionella modeller.

SSM + urval (S6) Denna variant inkluderar en urvalsmekanism som lägger till ingångsberoende till parametrarna B och Coch en fördröjningsparameter Δ. Detta tillåter modellen att selektivt fokusera på vissa delar av inmatningssekvensen x. Parametrarna diskretiseras med hänsyn till valet, och SSM-operationen tillämpas på ett tidsvarierande sätt med användning av en skanningsoperation, som bearbetar element sekventiellt och justerar fokus dynamiskt över tiden.

Prestanda Höjdpunkter i Mamba

Mamba är bäst i klassen på varje enskilt utvärderingsresultat

Mamba är bäst i klassen på varje enskilt utvärderingsresultat

När det gäller prestanda utmärker sig Mamba i både slutledningshastighet och precision. Dess design möjliggör bättre utnyttjande av längre sammanhang, vilket demonstreras 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 nollutvärderingar över flera uppgifter, vilket sätter en ny standard för sådana modeller när det gäller effektivitet och skalbarhet.

Komma igång med Mamba

För dem som är intresserade av att utnyttja Mamba inkluderar de tekniska kraven ett Linux OS, en NVIDIA GPU, PyTorch 1.12+ och CUDA 11.6+. Installation innebär enkla pip-kommandon för att installera de nödvändiga paketen från Mamba förråd. Om kompatibilitetsproblem uppstår med PyTorch-versioner kan det hjälpa att använda flaggan –no-build-isolation med pip. Dessa modeller, utbildade på omfattande datauppsättningar som Pile och SlimPajama dataset, är designade för att möta olika beräkningsbehov och prestanda riktmärken.

Mamba erbjuder olika nivåer av gränssnitt, från det selektiva SSM-lagret till Mamba-blocket och kompletta språkmodellstrukturer. Mamba-blocket, som är arkitekturens huvudmodul, använder ett kausalt Conv1d-lager och kan enkelt integreras i neurala nätverksdesigner. Det medföljande användningsexemplet i Python visar att man instansierar en Mamba-modell och bearbetar data genom den, vilket framhäver systemets enkelhet och flexibilitet.

Förtränade Mamba-modeller finns tillgängliga på Kramande ansikte, med storlekar som sträcker sig från 130M till 2.8B parametrar, tränad på den omfattande Pile-datauppsättningen och SlimPajama-datauppsättningen. Dessa modeller är designade för att möta olika beräknings- och prestandakrav, och följa dimensionsstandarderna 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 applikationer, inklusive men inte begränsat till språkmodellering.

Mambas inverkan

Mamba representerar ett steg framåt i sekvensmodellering och erbjuder ett kraftfullt alternativ till transformatorarkitekturer för bearbetning av informationstäta data. Dess design är i linje med kraven från modern hårdvara, vilket optimerar både minnesanvändning och parallell bearbetningskapacitet. Tillgängligheten med öppen källkod för Mambas kodbas och dess förtränade modeller gör den till ett tillgängligt och robust verktyg för forskare och utvecklare inom området AI och djupinlärning.

Jag har ägnat de senaste fem åren åt att fördjupa mig i den fascinerande världen av Machine Learning och Deep Learning. Min passion och expertis har lett mig till att bidra till över 50 olika programvaruutvecklingsprojekt, med särskilt fokus på AI/ML. Min pågående nyfikenhet har också dragit mig mot Natural Language Processing, ett område som jag är ivrig att utforska vidare.