stub Mamba: Redefinering Sequence Modeling and Outforming Transformers Architecture - Unite.AI
Følg os

Kunstig intelligens

Mamba: Redefinering Sequence Modeling og Outforming Transformers Architecture

mm

Udgivet

 on

Mamba AI model

I denne artikel vedr Mamba, vil vi undersøge, hvordan denne innovative state-space model (SSM) revolutionerer sekvensmodellering. Mamba er udviklet af Albert Gu og Tri Dao og er kendt for sin effektivitet i behandlingen af ​​komplekse sekvenser inden for områder som sprogbehandling, genomik og lydanalyse. Dens lineære-tidssekvensmodellering med selektive tilstandsrum sikrer enestående ydeevne på tværs af disse forskellige modaliteter.

Vi vil dykke ned i Mambas evne til at overvinde beregningsmæssige udfordringer, som traditionelle transformere står over for, især med lange sekvenser. Dens selektive tilgang i tilstandsrumsmodeller giver mulighed for hurtigere inferens og lineær skalering med sekvenslængde, hvilket væsentligt forbedrer gennemløbet.

Mambas unikke ligger i dens hurtige behandlingsevne, selektive SSM-lag og hardwarevenlige design inspireret af FlashAttention. Disse funktioner gør det muligt for Mamba at udkonkurrere mange eksisterende modeller, inklusive dem, der er baseret på transformatortilgangen, hvilket gør det til et bemærkelsesværdigt fremskridt inden for maskinlæring.

Transformers vs Mamba 

Transformere, ligesom GPT-4, har sat benchmarks i naturlig sprogbehandling. Deres effektivitet falder dog med længere sekvenser. Det er her Mamba springer frem med sin evne til at behandle lange sekvenser mere effektivt og sin unikke arkitektur, der forenkler hele processen.

Transformere er dygtige til at håndtere sekvenser af data, såsom tekst til sprogmodeller. I modsætning til tidligere modeller, der behandlede data sekventielt, behandler Transformers hele sekvenser samtidigt, hvilket gør dem i stand til at fange komplekse relationer i dataene.

De bruger opmærksomhedsmekanisme, som gør det muligt for modellen at fokusere på forskellige dele af sekvensen, når de laver forudsigelser.

Denne opmærksomhed beregnes ved hjælp af tre sæt vægte: forespørgsler, nøgler og værdier, afledt af inputdata. Hvert element i en sekvens sammenlignes med hvert andet element, hvilket giver en vægt, der angiver vigtigheden, eller 'opmærksomheden', som hvert element skal have, når det forudsiger det næste element i sekvensen.

Transformere opretholder to hovedblokke: indkoderen, som behandler inputdataene, og dekoderen, som genererer outputtet. Encoderen består af flere lag, der hver indeholder to underlag: en flerhovedet selvopmærksomhedsmekanisme og et enkelt, positionsmæssigt fuldt tilsluttet feed-forward-netværk. Normalisering og resterende forbindelser bruges på hvert underlag for at hjælpe med at træne dybe netværk.

Dekoderen har også lag med to underlag svarende til koderen, men tilføjer et tredje underlag, der udfører multi-head opmærksomhed over koderens output. Den sekventielle karakter af dekoderen sikrer, at forudsigelser for en position kun kan tage tidligere positioner i betragtning, hvilket bevarer den autoregressive egenskab.

I modsætning til Transformers har Mamba-modellen en anden tilgang. Mens Transformers håndterer spørgsmålet om lange sekvenser ved at bruge mere komplekse opmærksomhedsmekanismer, bruger Mamba selektive tilstandsrum, hvilket giver en mere computer

Her er en oversigt på højt niveau over, hvordan en transformer fungerer:

  1. Inputbehandling: Transformere koder først inputdata til et format, som modellen kan forstå, ofte ved hjælp af indlejringer, der også inkorporerer placeringen af ​​hvert element i sekvensen.
  2. Opmærksomhedsmekanisme: I sin kerne beregner opmærksomhedsmekanismen en score, der repræsenterer, hvor meget fokus der skal lægges på andre dele af inputsekvensen, når man forstår et aktuelt element.
  3. Encoder-Decoder Arkitektur: Transformatormodellen er sammensat af en koder til at behandle input og en dekoder til at generere output. Hver består af flere lag, der forfiner modellens forståelse af input.
  4. Multi-Hoved opmærksomhed: Inden for både indkoderen og dekoderen tillader multi-head opmærksomhed, at modellen samtidigt kan deltage i forskellige dele af sekvensen fra forskellige repræsentationsrum, hvilket forbedrer dens evne til at lære fra forskellige sammenhænge.
  5. Positionsmæssigt feed-forward netværk: Efter opmærksomhed behandler et simpelt neuralt netværk outputtet fra hver position separat og identisk. Dette kombineres med input gennem en restforbindelse og efterfølges af lagnormalisering.
  6. Outputgenerering: Dekoderen forudsiger derefter en outputsekvens, påvirket af koderens kontekst og hvad den har genereret indtil nu.

Transformatorens evne til at håndtere sekvenser parallelt og dens robuste opmærksomhedsmekanisme gør den kraftfuld til opgaver som oversættelse og tekstgenerering.

I modsætning hertil fungerer Mamba-modellen anderledes ved at bruge selektive tilstandsrum til at behandle sekvenser. Denne tilgang adresserer den beregningsmæssige ineffektivitet i Transformers, når de beskæftiger sig med lange sekvenser. Mambas design muliggør hurtigere inferens og skalerer lineært med sekvenslængde, hvilket sætter et nyt paradigme for sekvensmodellering, der kunne være mere effektivt, især da sekvenser bliver mere og mere lange.

Mamba

Det, der gør Mamba helt unik, er dens afvigelse fra traditionelle opmærksomheds- og MLP-blokke. Denne forenkling fører til en lettere, hurtigere model, der skalerer lineært med sekvenslængden - en bedrift uden sidestykke af sine forgængere.

Nøglefunktioner ved Mamba inkluderer:

  1. Selektive SSM'er: Disse tillader Mamba at filtrere irrelevant information og fokusere på relevante data, hvilket forbedrer dens håndtering af sekvenser. Denne selektivitet er afgørende for effektiv indholdsbaseret ræsonnement.
  2. Hardware-bevidst algoritme: Mamba bruger en parallel algoritme, der er optimeret til moderne hardware, især GPU'er. Dette design muliggør hurtigere beregning og reducerer hukommelseskravene sammenlignet med traditionelle modeller.
  3. Forenklet arkitektur: Ved at integrere selektive SSM'er og eliminere opmærksomhed og MLP-blokke tilbyder Mamba en enklere, mere homogen struktur. Dette fører til bedre skalerbarhed og ydeevne.

Mamba har demonstreret overlegen ydeevne inden for forskellige domæner, herunder sprog, lyd og genomik, og har udmærket sig i både fortræning og domænespecifikke opgaver. For eksempel i sprogmodellering matcher Mamba eller overgår ydeevnen af ​​større Transformer-modeller.

Mambas kode og fortrænede modeller er åbent tilgængelige for samfundsbrug på GitHub.

Standardkopieringsopgaver er enkle for lineære modeller. Selektive kopierings- og induktionshoveder kræver dynamisk, indholdsbevidst hukommelse til LLM'er.

Standardkopieringsopgaver er enkle for lineære modeller. Selektive kopierings- og induktionshoveder kræver dynamisk, indholdsbevidst hukommelse til LLM'er.

Structured State Space (S4)-modeller er for nylig dukket op som en lovende klasse af sekvensmodeller, der omfatter træk fra RNN'er, CNN'er og klassiske state space-modeller. S4-modeller henter inspiration fra kontinuerlige systemer, specifikt en type system, der kortlægger endimensionelle funktioner eller sekvenser gennem en implicit latent tilstand. I forbindelse med dyb læring repræsenterer de en væsentlig innovation, der giver en ny metode til at designe sekvensmodeller, der er effektive og meget tilpasningsdygtige.

Dynamikken i S4-modeller

SSM (S4) Dette er den grundlæggende strukturerede tilstandsrumsmodel. Det kræver en sekvens x og producerer et output y ved hjælp af indlærte parametre A, B, Cog en forsinkelsesparameter Δ. Transformationen involverer diskretisering af parametrene (vender kontinuerlige funktioner til diskrete) og anvendelse af SSM-operationen, som er tidsinvariant - hvilket betyder, at den ikke ændres over forskellige tidstrin.

Betydningen af ​​diskretisering

Diskretisering er en nøgleproces, der transformerer de kontinuerte parametre til diskrete gennem faste formler, hvilket gør det muligt for S4-modellerne at opretholde en forbindelse med kontinuerte tidssystemer. Dette giver modellerne yderligere egenskaber, såsom opløsningsinvarians, og sikrer korrekt normalisering, hvilket forbedrer modellens stabilitet og ydeevne. Diskretisering drager også paralleller til gating-mekanismerne, der findes i RNN'er, som er afgørende for at styre informationsstrømmen gennem netværket.

Lineær tidsinvarians (LTI)

Et kernetræk ved S4-modellerne er deres lineære tidsinvarians. Denne egenskab indebærer, at modellens dynamik forbliver konsistent over tid, med parametrene fastsat for alle tidstrin. LTI er en hjørnesten i gentagelse og foldninger, og tilbyder en forenklet, men alligevel kraftfuld ramme til opbygning af sekvensmodeller.

Overvinde fundamentale begrænsninger

S4-rammen har traditionelt været begrænset af dens LTI-karakter, hvilket giver udfordringer i modellering af data, der kræver adaptiv dynamik. Den seneste forskningsartikel præsenterer en tilgang, der overvinder disse begrænsninger ved at indføre tidsvarierende parametre, og dermed fjerne begrænsningen af ​​LTI. Dette gør det muligt for S4-modellerne at håndtere et mere forskelligartet sæt af sekvenser og opgaver, hvilket væsentligt udvider deres anvendelighed.

Udtrykket 'statsrumsmodel' dækker bredt over enhver tilbagevendende proces, der involverer en latent tilstand og er blevet brugt til at beskrive forskellige begreber på tværs af flere discipliner. I forbindelse med dyb læring refererer S4-modeller eller strukturerede SSM'er til en specifik klasse af modeller, der er blevet optimeret til effektiv beregning, mens de bevarer evnen til at modellere komplekse sekvenser.

S4-modeller kan integreres i end-to-end neurale netværksarkitekturer, der fungerer som selvstændige sekvenstransformationer. De kan ses som analoge med foldningslag i CNN'er, der udgør rygraden for sekvensmodellering i en række neurale netværksarkitekturer.

SSM vs SSM + Udvælgelse

SSM vs SSM + Udvælgelse

Motivation for selektivitet i sekvensmodellering

Strukturerede SSM'er

Strukturerede SSM'er

Artiklen hævder, at et grundlæggende aspekt af sekvensmodellering er komprimering af kontekst til en håndterbar tilstand. Modeller, der selektivt kan fokusere på eller filtrere input, giver et mere effektivt middel til at opretholde denne komprimerede tilstand, hvilket fører til mere effektive og kraftfulde sekvensmodeller. Denne selektivitet er afgørende for, at modeller adaptivt kan kontrollere, hvordan information flyder langs sekvensdimensionen, en væsentlig evne til at håndtere komplekse opgaver inden for sprogmodellering og videre.

Selektive SSM'er forbedrer konventionelle SSM'er ved at tillade deres parametre at være inputafhængige, hvilket introducerer en grad af adaptivitet, der tidligere var uopnåelig med tidsinvariante modeller. Dette resulterer i tidsvarierende SSM'er, der ikke længere kan bruge foldninger til effektiv beregning, men i stedet stole på en lineær gentagelsesmekanisme, en væsentlig afvigelse fra traditionelle modeller.

SSM + udvælgelse (S6) Denne variant inkluderer en udvælgelsesmekanisme, der tilføjer input-afhængighed til parametrene B , Cog en forsinkelsesparameter Δ. Dette giver modellen mulighed for selektivt at fokusere på visse dele af inputsekvensen x. Parametrene diskretiseres under hensyntagen til valget, og SSM-operationen anvendes på en tidsvarierende måde ved hjælp af en scanningsoperation, som behandler elementer sekventielt og justerer fokus dynamisk over tid.

Præstationshøjdepunkter fra Mamba

Mamba er bedst i klassen på hvert enkelt evalueringsresultat

Mamba er bedst i klassen på hvert enkelt evalueringsresultat

Med hensyn til ydeevne udmærker Mamba sig i både inferenshastighed og nøjagtighed. Dets design muliggør bedre udnyttelse af længere sammenhænge, ​​hvilket er demonstreret i både DNA- og lydmodellering, der overgår tidligere modeller på komplekse opgaver, der kræver afhængigheder på lang afstand. Dens alsidighed fremhæves også i nul-shot-evalueringer på tværs af flere opgaver, hvilket sætter en ny standard for sådanne modeller med hensyn til effektivitet og skalerbarhed.

Kom godt i gang med Mamba

For dem, der er interesseret i at udnytte Mamba, omfatter de tekniske krav et Linux OS, en NVIDIA GPU, PyTorch 1.12+ og CUDA 11.6+. Installation involverer enkle pip-kommandoer for at installere de nødvendige pakker fra Mamba-depot. Hvis der opstår kompatibilitetsproblemer med PyTorch-versioner, kan det hjælpe at bruge flaget –no-build-isolation med pip. Disse modeller, trænet på omfattende datasæt som Pile- og SlimPajama-datasættet, er designet til at opfylde forskellige beregningsmæssige behov og præstationsbenchmarks.

Mamba tilbyder forskellige niveauer af grænseflader, fra det selektive SSM-lag til Mamba-blokken og komplette sprogmodelstrukturer. Mamba-blokken, som er arkitekturens hovedmodul, bruger et kausalt Conv1d-lag og kan nemt integreres i neurale netværksdesign. Det medfølgende brugseksempel i Python demonstrerer instansiering af en Mamba-model og behandling af data gennem den, hvilket fremhæver systemets enkelhed og fleksibilitet.

Foruddannede Mamba-modeller er tilgængelige på Knusende ansigt, med størrelser fra 130M til 2.8B parametre, trænet på det omfattende Pile-datasæt og SlimPajama-datasættet. Disse modeller er designet til at opfylde forskellige beregnings- og ydeevnekrav og overholder dimensionsstandarderne for GPT-3. Brugere kan forvente høj gennemstrømning og nøjagtighed fra disse modeller, hvilket gør Mamba til et konkurrencedygtigt valg til forskellige applikationer, inklusive men ikke begrænset til sprogmodellering.

Mambas indvirkning

Mamba repræsenterer et spring fremad inden for sekvensmodellering og tilbyder et kraftfuldt alternativ til transformatorarkitekturer til behandling af informationstætte data. Dens design stemmer overens med kravene fra moderne hardware, og optimerer både hukommelsesbrug og parallelle behandlingsmuligheder. Open source tilgængeligheden af ​​Mambas kodebase og dens fortrænede modeller gør den til et tilgængeligt og robust værktøj for forskere og udviklere inden for AI og deep learning.

Jeg har brugt de sidste fem år på at fordybe mig i den fascinerende verden af ​​Machine Learning og Deep Learning. Min passion og ekspertise har ført mig til at bidrage til over 50 forskellige software engineering projekter, med særligt fokus på AI/ML. Min vedvarende nysgerrighed har også trukket mig hen imod Natural Language Processing, et felt jeg er ivrig efter at udforske yderligere.