Refresh

This website www.unite.ai/ca/mamba-redefinint-el-modelatge-de-seq%C3%BC%C3%A8ncies-i-formant-l%27arquitectura-dels-transformadors/ is currently offline. Cloudflare's Always Online™ shows a snapshot of this web page from the Internet Archive's Wayback Machine. To check for the live version, click Refresh.

taló Mamba: redefinint el modelatge de seqüències i l'arquitectura dels transformadors - Unite.AI
Connecteu-vos amb nosaltres

Intel·ligència Artificial

Mamba: redefinint el modelatge de seqüències i l'arquitectura dels transformadors

mm

publicat

 on

Model Mamba AI

En aquest article sobre mamba, explorarem com aquest innovador model d'espai d'estats (SSM) revoluciona el modelatge de seqüències. Desenvolupat per Albert Gu i Tri Dao, Mamba es distingeix per la seva eficiència en el processament de seqüències complexes en camps com el processament del llenguatge, la genòmica i l'anàlisi d'àudio. El seu modelatge de seqüències en temps lineal amb espais d'estat selectius garanteix un rendiment excepcional en aquestes diferents modalitats.

Aprofundirem en la capacitat de Mamba per superar els reptes computacionals als quals s'enfronten els transformadors tradicionals, especialment amb seqüències llargues. El seu enfocament selectiu en models d'espai d'estats permet una inferència més ràpida i una escala lineal amb la longitud de la seqüència, millorant significativament el rendiment.

La singularitat de Mamba rau en la seva capacitat de processament ràpid, la capa SSM selectiva i el disseny amigable amb el maquinari inspirat en FlashAttention. Aquestes característiques permeten que Mamba superi molts models existents, inclosos els basats en l'enfocament del transformador, la qual cosa el converteix en un avenç notable en màquina d'aprenentatge.

Transformadors vs mamba 

Els transformadors, com el GPT-4, han establert punts de referència processament del llenguatge natural. Tanmateix, la seva eficiència disminueix amb seqüències més llargues. Aquí és on Mamba avança, amb la seva capacitat de processar seqüències llargues de manera més eficient i la seva arquitectura única que simplifica tot el procés.

Els transformadors són experts en el maneig de seqüències de dades, com ara text per a models lingüístics. A diferència dels models anteriors que processaven dades seqüencialment, els transformadors processen seqüències senceres simultàniament, cosa que els permet capturar relacions complexes dins de les dades.

Utilitzen un mecanisme d'atenció, que permet al model centrar-se en diferents parts de la seqüència en fer prediccions.

Aquesta atenció es calcula mitjançant tres conjunts de pesos: consultes, claus i valors, derivats de les dades d'entrada. Cada element d'una seqüència es compara amb tots els altres elements, proporcionant un pes que significa la importància, o "atenció" que ha de rebre cada element quan es prediu el següent element de la seqüència.

Els transformadors mantenen dos blocs principals: el codificador, que processa les dades d'entrada, i el descodificador, que genera la sortida. El codificador consta de múltiples capes, cadascuna conté dues subcapes: un mecanisme d'autoatenció de diversos capçals i una xarxa de feed-forward senzilla i totalment connectada en funció de la posició. La normalització i les connexions residuals s'utilitzen a cada subcapa per ajudar a entrenar xarxes profundes.

El descodificador també té capes amb dues subcapes similars al codificador, però afegeix una tercera subcapa que realitza una atenció multicaps sobre la sortida del codificador. La naturalesa seqüencial del descodificador assegura que les prediccions d'una posició només poden considerar posicions anteriors, conservant la propietat autoregressiva.

En contrast amb Transformers, el model Mamba adopta un enfocament diferent. Mentre que els Transformers tracten el problema de les seqüències llargues mitjançant l'ús de mecanismes d'atenció més complexos, Mamba utilitza espais d'estat selectius, proporcionant una computació més gran.

Aquí teniu una visió general d'alt nivell de com funciona un transformador:

  1. Processament d'entrada: els transformadors codifiquen primer les dades d'entrada en un format que el model pugui entendre, sovint utilitzant incrustacions que també incorporen la posició de cada element a la seqüència.
  2. Mecanisme d'atenció: En el seu nucli, el mecanisme d'atenció calcula una puntuació que representa el focus que cal posar en altres parts de la seqüència d'entrada quan s'entén un element actual.
  3. Arquitectura de codificador-descodificador: El model de transformador està format per un codificador per processar l'entrada i un descodificador per generar la sortida. Cadascuna consta de diverses capes que perfeccionen la comprensió del model de l'entrada.
  4. Atenció de múltiples caps: Tant dins del codificador com del descodificador, l'atenció multicapçal permet al model atendre simultàniament diferents parts de la seqüència des de diferents espais de representació, millorant la seva capacitat per aprendre des de contextos diversos.
  5. Xarxes de feed-forward segons la posició: Després de l'atenció, una xarxa neuronal senzilla processa la sortida de cada posició per separat i de manera idèntica. Això es combina amb l'entrada a través d'una connexió residual i seguida de la normalització de la capa.
  6. Generació de Sortides: El descodificador prediu llavors una seqüència de sortida, influenciada pel context del codificador i el que ha generat fins ara.

La capacitat del transformador per manejar seqüències en paral·lel i el seu robust mecanisme d'atenció el fan potent per a tasques com la traducció i la generació de text.

En canvi, el model Mamba funciona de manera diferent utilitzant espais d'estats selectius per processar seqüències. Aquest enfocament aborda la ineficiència computacional en Transformers quan es tracta de seqüències llargues. El disseny de Mamba permet una inferència més ràpida i escala linealment amb la longitud de la seqüència, establint un nou paradigma per al modelatge de seqüències que podria ser més eficient, especialment a mesura que les seqüències es fan cada cop més llargues.

mamba

El que fa que Mamba sigui realment únic és la seva allunyament de l'atenció tradicional i els blocs MLP. Aquesta simplificació condueix a un model més lleuger i ràpid que s'escala linealment amb la longitud de la seqüència, una gesta sense igual pels seus predecessors.

Les característiques principals de Mamba inclouen:

  1. SSM selectius: permeten a Mamba filtrar informació irrellevant i centrar-se en dades rellevants, millorant el seu maneig de seqüències. Aquesta selectivitat és crucial per a un raonament eficient basat en el contingut.
  2. Algorisme conscient del maquinari: Mamba utilitza un algorisme paral·lel optimitzat per al maquinari modern, especialment les GPU. Aquest disseny permet un càlcul més ràpid i redueix els requisits de memòria en comparació amb els models tradicionals.
  3. Arquitectura simplificada: En integrar els SSM selectius i eliminar els blocs d'atenció i MLP, Mamba ofereix una estructura més simple i homogènia. Això condueix a una millor escalabilitat i rendiment.

Mamba ha demostrat un rendiment superior en diversos dominis, inclosos el llenguatge, l'àudio i la genòmica, destacant tant en tasques de preentrenament com en tasques específiques del domini. Per exemple, en el modelatge de llenguatge, Mamba iguala o supera el rendiment dels models Transformer més grans.

El codi de Mamba i els models pre-entrenats estan disponibles obertament per a l'ús de la comunitat a GitHub.

Les tasques de còpia estàndard són senzilles per als models lineals. Els capçals de còpia selectiva i d'inducció requereixen una memòria dinàmica i conscient del contingut per als LLM.

Les tasques de còpia estàndard són senzilles per als models lineals. Els capçals de còpia selectiva i d'inducció requereixen una memòria dinàmica i conscient del contingut per als LLM.

Els models d'espai d'estat estructurat (S4) han sorgit recentment com una classe prometedora de models de seqüència, que inclou trets de RNN, CNN i models d'espai d'estat clàssics. Els models S4 s'inspiren en sistemes continus, concretament en un tipus de sistema que mapeja funcions o seqüències unidimensionals mitjançant un estat latent implícit. En el context de l'aprenentatge profund, representen una innovació important, aportant una nova metodologia per dissenyar models de seqüències eficients i altament adaptables.

La dinàmica dels models S4

SSM (S4) Aquest és el model bàsic d'espai d'estats estructurat. Es necessita una seqüència x i produeix una sortida y utilitzant paràmetres apresos A, B, C, i un paràmetre de retard Δ. La transformació implica discretitzar els paràmetres (convertir funcions contínues en discretes) i aplicar l'operació SSM, que és invariant en el temps, és a dir, no canvia en diferents passos de temps.

La importància de la discretització

La discretització és un procés clau que transforma els paràmetres continus en discrets mitjançant fórmules fixes, permetent als models S4 mantenir una connexió amb sistemes de temps continu. Això dota els models de propietats addicionals, com ara la invariància de resolució, i garanteix una normalització adequada, millorant l'estabilitat i el rendiment del model. La discretització també fa paral·lelismes amb els mecanismes de gating que es troben a les RNN, que són crítics per gestionar el flux d'informació a través de la xarxa.

Invariància temporal lineal (LTI)

Una característica bàsica dels models S4 és la seva invariància temporal lineal. Aquesta propietat implica que la dinàmica del model es mantingui constant al llarg del temps, amb els paràmetres fixats per a tots els passos de temps. LTI és una pedra angular de la recurrència i les circumvolucions, que ofereix un marc simplificat però potent per construir models de seqüències.

Superació de les limitacions fonamentals

El marc S4 ha estat tradicionalment limitat per la seva naturalesa LTI, que planteja reptes en la modelització de dades que requereixen dinàmiques adaptatives. El recent treball de recerca presenta un enfocament que supera aquestes limitacions mitjançant la introducció de paràmetres variables en el temps, eliminant així la restricció de LTI. Això permet als models S4 gestionar un conjunt més divers de seqüències i tasques, ampliant significativament la seva aplicabilitat.

El terme "model d'espai d'estats" cobreix àmpliament qualsevol procés recurrent que impliqui un estat latent i s'ha utilitzat per descriure diversos conceptes en múltiples disciplines. En el context de l'aprenentatge profund, els models S4, o SSM estructurats, fan referència a una classe específica de models que s'han optimitzat per a un càlcul eficient tot conservant la capacitat de modelar seqüències complexes.

Els models S4 es poden integrar en arquitectures de xarxes neuronals d'extrem a extrem, funcionant com a transformacions de seqüències autònomes. Es poden veure com a anàlegs a les capes de convolució de les CNN, proporcionant la columna vertebral per al modelatge de seqüències en una varietat d'arquitectures de xarxes neuronals.

SSM vs SSM + Selecció

SSM vs SSM + Selecció

Motivació per a la selectivitat en el modelatge de seqüències

SSM estructurats

SSM estructurats

El document argumenta que un aspecte fonamental del modelatge de seqüències és la compressió del context en un estat manejable. Els models que poden centrar-se o filtrar de manera selectiva les entrades proporcionen un mitjà més eficaç per mantenir aquest estat comprimit, donant lloc a models de seqüència més eficients i potents. Aquesta selectivitat és vital perquè els models controlin de manera adaptativa com flueix la informació al llarg de la dimensió de la seqüència, una capacitat essencial per gestionar tasques complexes en el modelatge del llenguatge i més enllà.

Els SSM selectius milloren els SSM convencionals permetent que els seus paràmetres depenguin de l'entrada, la qual cosa introdueix un grau d'adaptabilitat abans inassolible amb models invariants en el temps. Això dóna lloc a SSM variables en el temps que ja no poden utilitzar convolucions per a un càlcul eficient, sinó que es basen en un mecanisme de recurrència lineal, una desviació significativa dels models tradicionals.

SSM + selecció (S6) Aquesta variant inclou un mecanisme de selecció, afegint dependència d'entrada als paràmetres B i C, i un paràmetre de retard Δ. Això permet al model centrar-se selectivament en determinades parts de la seqüència d'entrada x. Els paràmetres es discretitzen tenint en compte la selecció, i l'operació SSM s'aplica de manera variable en el temps mitjançant una operació d'escaneig, que processa els elements de manera seqüencial, ajustant l'enfocament de manera dinàmica al llarg del temps.

Aspectes destacats del rendiment de Mamba

Mamba és el millor de la seva classe en tots els resultats d'avaluació

Mamba és el millor de la seva classe en tots els resultats d'avaluació

Pel que fa al rendiment, Mamba destaca tant en velocitat d'inferència com en precisió. El seu disseny permet una millor utilització de contextos més llargs, que es demostra tant en el modelatge d'ADN com d'àudio, superant els models anteriors en tasques complexes que requereixen dependències de llarg abast. La seva versatilitat també es destaca en les avaluacions zero-shot en múltiples tasques, establint un nou estàndard per a aquests models en termes d'eficiència i escalabilitat.

Com començar amb Mamba

Per a aquells que estiguin interessats a aprofitar Mamba, els requisits tècnics inclouen un sistema operatiu Linux, una GPU NVIDIA, PyTorch 1.12+ i CUDA 11.6+. La instal·lació implica ordres pip senzilles per instal·lar els paquets necessaris des de Repositori de Mamba. Si sorgeixen problemes de compatibilitat amb les versions de PyTorch, utilitzar el senyalador –no-build-isolation amb pip pot ajudar. Aquests models, entrenats en conjunts de dades extensos com el conjunt de dades Pile i SlimPajama, estan dissenyats per satisfer diverses necessitats computacionals i punts de referència de rendiment.

Mamba ofereix diferents nivells d'interfícies, des de la capa SSM selectiva fins al bloc Mamba i estructures completes de model de llenguatge. El bloc Mamba, que és el mòdul principal de l'arquitectura, utilitza una capa Conv1d causal i es pot integrar fàcilment en dissenys de xarxes neuronals. L'exemple d'ús proporcionat a Python demostra la instanciació d'un model Mamba i el processament de dades a través d'ell, destacant la simplicitat i la flexibilitat del sistema.

Els models de Mamba preentrenats estan disponibles a Cara abraçada, amb mides que oscil·len entre els paràmetres de 130M a 2.8B, entrenats amb l'extens conjunt de dades Pile i el conjunt de dades SlimPjama. Aquests models estan dissenyats per satisfer diversos requisits computacionals i de rendiment, adherint-se als estàndards dimensionals de GPT-3. Els usuaris poden esperar un alt rendiment i precisió d'aquests models, cosa que fa de Mamba una opció competitiva per a diverses aplicacions, inclosa, entre d'altres, el modelatge d'idiomes.

L'impacte de Mamba

Mamba representa un salt endavant en el modelatge de seqüències, oferint una alternativa potent a les arquitectures Transformer per processar dades denses en informació. El seu disseny s'alinea amb les demandes del maquinari modern, optimitzant tant l'ús de memòria com les capacitats de processament paral·lel. La disponibilitat de codi obert de la base de codis de Mamba i els seus models preentrenats la converteixen en una eina accessible i robusta per als investigadors i desenvolupadors en el camp de l'IA i l'aprenentatge profund.

He passat els últims cinc anys submergint-me en el fascinant món de l'aprenentatge automàtic i l'aprenentatge profund. La meva passió i experiència m'han portat a contribuir a més de 50 projectes diversos d'enginyeria de programari, amb un enfocament particular en IA/ML. La meva curiositat contínua també m'ha atret cap al processament del llenguatge natural, un camp que tinc ganes d'explorar més.