Modely a platformy AI

Mamba: Předefinování modelování sekvencí a překonání architektury Transformerů

mm
Přidejte Unite.AI mezi své preferované zdroje na Google

V tomto článku o Mamba prozkoumáme, jak tento inovativní model stavového prostoru (SSM) revolucionalizuje modelování sekvencí. Vyvinutý Albertem Gu a Tri Dao, Mamba je odlišný svou efektivitou při zpracování komplexních sekvencí v oblastech, jako je zpracování jazyka, genomika a analýza audia. Jeho lineární časové modelování sekvencí se selektivními stavovými prostory zajišťuje výjimečné výkony napříč těmito různými modalitami.

Ponorníme se do schopnosti Mamba překonat výpočetní výzvy, kterým čelí tradiční Transformery, zejména s dlouhými sekvencemi. Jeho selektivní přístup ve stavových prostorech umožňuje rychlejší inferenci a lineární škálování se délkou sekvence, což významně zlepšuje propustnost.

Unikátnost Mamba spočívá v jeho rychlé zpracování, selektivní vrstvě SSM a hardwarově přátelském designu inspirovaném FlashAttention. Tyto funkce umožňují Mamba překonat mnoho existujících modelů, včetně těch založených na architektuře Transformer, což z něj činí pozoruhodný pokrok v oblasti strojového učení.

Transformery vs Mamba

Transformery, jako je GPT-4, stanovily benchmarky v zpracování přirozeného jazyka. Nicméně, jejich efektivita klesá s délejšími sekvencemi. Zde Mamba překonává, s jeho schopností zpracovávat dlouhé sekvence efektivněji a jeho unikátní architekturou, která zjednodušuje celý proces.

Transformery jsou vhodné pro zpracování sekvencí dat, jako je text pro jazykové modely. Na rozdíl od předchozích modelů, které zpracovávaly data sekvenčně, Transformery zpracovávají celé sekvence současně, umožňující jim zachytit komplexní vztahy uvnitř dat.

Používají mechanismus pozornosti, který umožňuje modelu zaměřit se na různé části sekvence při vytváření předpovědí.

Tato pozornost je vypočtena pomocí tří sad vah: dotazů, klíčů a hodnot, odvozených z vstupních dat. Každý prvek v sekvenci je porovnán s každým jiným prvkem, poskytujícím váhu, která označuje důležitost, nebo “pozornost”, kterou by každý prvek měl dostat při předpovědi dalšího prvku v sekvenci.

Transformery udržují dvě hlavní bloky: kódovací, který zpracovává vstupní data, a dekódovací, který generuje výstup. Kódovací blok se skládá z více vrstev, z nichž každá obsahuje dvě sub-vrstvy: mechanismus multi-pozornosti a jednoduchou, pozici-vzájemnou plně propojenou feed-forward síť. Normalizace a reziduální spojení jsou použity v každé sub-vrstvě, aby pomohly při školení hlubokých sítí.

Dekódovací blok také má vrstvy se dvěma sub-vrstvami podobnými kódovacímu bloku, ale přidává třetí sub-vrstvu, která provádí multi-pozornost nad výstupem kódovacího bloku. Sekvenční povaha dekódovacího bloku zajišťuje, že předpovědi pro pozici mohou zohledňovat pouze předchozí pozice, zachovávající autoregresivní vlastnost.

Na rozdíl od Transformerů, model Mamba používá odlišný přístup. Zatímco Transformery řeší problém dlouhých sekvencí pomocí složitějších mechanismů pozornosti, Mamba používá selektivní stavové prostory, poskytující efektivnější a výkonnější modelování sekvencí.

Zde je přehled, jak funguje transformer:

  1. Zpracování vstupních dat: Transformery nejprve zakódují vstupní data do formátu, který model může pochopit, často pomocí vnoření, která také zahrnují pozici každého prvku v sekvenci.
  2. Mechanizmus pozornosti: V jeho jádru, mechanismus pozornosti vypočítá skóre, které reprezentuje, kolik pozornosti věnovat jiným částem vstupní sekvence při porozumění aktuálnímu prvku.
  3. Architektura kódovací-dekódovací: Model transformer se skládá z kódovacího bloku, který zpracovává vstup, a dekódovacího bloku, který generuje výstup. Každý z nich se skládá z více vrstev, které refinují modelovo porozumění vstupu.
  4. Multi-pozornost: V rámci kódovacího i dekódovacího bloku, multi-pozornost umožňuje modelu současně se zaměřovat na různé části sekvence z různých reprezentačních prostorů, zlepšujíc jeho schopnost učit se z různých kontextů.
  5. Pozici-vzájemná feed-forward síť: Po pozornosti, jednoduchá neuronová síť zpracovává výstup každé pozice samostatně a identicky. To je kombinováno se vstupem prostřednictvím reziduálního spojení a následované normalizací vrstvy.
  6. Generování výstupu: Dekódovací blok poté předpovídá výstupní sekvenci, ovlivněnou kontextem kódovacího bloku a tím, co již generoval.

Schopnost transformerů zpracovávat sekvence paralelně a jejich robustní mechanismus pozornosti je činí mocnými pro úkoly, jako je překlad a generování textu.

Na rozdíl od toho, model Mamba funguje odlišně, pomocí selektivních stavových prostorů pro zpracování sekvencí. Tento přístup řeší výpočetní neefektivitu Transformerů při zpracování dlouhých sekvencí. Design Mamba umožňuje rychlejší inferenci a lineární škálování se délkou sekvence, stanovující nový paradigm pro modelování sekvencí, který by mohl být efektivnější, zejména při zpracování stále delších sekvencí.

Mamba

Co dělá Mamba skutečně jedinečným, je jeho odchod od tradiční pozornosti a bloků MLP. Tato zjednodušení vede k lehčímu, rychlejšímu modelu, který se lineárně škáluje s délkou sekvence – výkon, který jeho předchůdci nezvládli.

Klíčové funkce Mamba zahrnují:

  1. Selektivní SSM: Tyto umožňují Mamba filtrovat irelevantní informace a zaměřit se na relevantní data, zlepšujíc jeho zpracování sekvencí. Tato selektivita je zásadní pro efektivní zpracování obsahu.
  2. Hardwarově vědomý algoritmus: Mamba používá paralelní algoritmus, který je optimalizován pro moderní hardware, zejména GPU. Tento design umožňuje rychlejší výpočet a snižuje požadavky na paměť ve srovnání s tradičními modely.
  3. Zjednodušená architektura: Integrací selektivních SSM a eliminací pozornosti a bloků MLP, Mamba nabízí jednodušší, více homogenní strukturu. To vede k lepší škálovatelnosti a výkonu.

Mamba prokázal výjimečné výkony v různých oblastech, včetně jazyka, audia a genomiky, vynikajících v obou předtrénování a úkolech specifických pro doménu. Například v jazykovém modelování, Mamba odpovídá nebo překonává výkon větších modelů Transformer.

Mambaův kód a předtrénované modely jsou otevřeně dostupné pro komunitu na GitHubu.

Standardní úkoly kopírování jsou jednoduché pro lineární modely. Selektivní kopírování a indukční hlavy vyžadují dynamickou, obsahově-aware paměť pro LLM.

Standardní úkoly kopírování jsou jednoduché pro lineární modely. Selektivní kopírování a indukční hlavy vyžadují dynamickou, obsahově-aware paměť pro LLM.

Strukturované modely stavového prostoru (S4) se nedávno objevily jako slibná třída modelů sekvencí, zahrnující vlastnosti z RNN, CNN a klasických modelů stavového prostoru. S4 modely odvozují inspiraci z kontinuálních systémů, konkrétně z typu systému, který mapuje jednoduché funkce nebo sekvence prostřednictvím implicitního latentního stavu. V kontextu hlubokého učení, reprezentují významnou inovaci, poskytující novou metodologii pro návrh modelů sekvencí, které jsou efektivní a vysoce přizpůsobivé.

Dynamika S4 modelů

SSM (S4) Tento je základní strukturovaný model stavového prostoru. Bere sekvenci x a produkuje výstup y pomocí naučených parametrů A, B, C a zpožďovací parametr Δ. Transformace zahrnuje diskrétní parametry (převod kontinuálních funkcí na diskrétní) a aplikaci operace SSM, která je časově invariantní – tj. nezměňuje se v průběhu různých časových kroků.

Význam diskrétního zpracování

Diskrétní zpracování je klíčový proces, který transformuje kontinuální parametry na diskrétní prostřednictvím pevných vzorců, umožňující S4 modelům udržet spojení s kontinuálními systémy. To vybavuje modely dalšími vlastnostmi, jako je invariantnost rozlišení, a zajišťuje správnou normalizaci, zlepšující stabilitu a výkon modelu. Diskrétní zpracování také připomíná mechanismy brány v RNN, které jsou kritické pro správu toku informací skrze síť.

Lineární časová invariantnost (LTI)

Jedním z hlavních rysů S4 modelů je jejich lineární časová invariantnost. Tato vlastnost znamená, že dynamika modelu zůstává konzistentní v průběhu času, s pevnými parametry pro všechny časové kroky. LTI je základním kamenem rekurze a konvolucí, nabízejícím zjednodušenou, ale mocnou strukturu pro stavbu modelů sekvencí.

Překonání základních omezení

Rámec S4 byl tradičně omezen jeho LTI povahou, která klade výzvy při modelování dat, která vyžadují adaptivní dynamiku. Nedávná výzkumná práce představuje přístup, který překonává tato omezení, zavádějíce časově proměnné parametry, a tím odstraňuje omezení LTI. To umožňuje S4 modelům zpracovávat širší sadu sekvencí a úkolů, významně rozšiřujíc jejich použitelnost.

Termín “model stavového prostoru” obecně pokrývá jakýkoli rekurentní proces, který zahrnuje latentní stav, a byl použit pro popis různých konceptů v různých oborech. V kontextu hlubokého učení, S4 modely, nebo strukturované SSM, odkazují na specifickou třídu modelů, které byly optimalizovány pro efektivní výpočet, zatímco si zachovávají schopnost modelovat komplexní sekvence.

S4 modely mohou být integrovány do architektur neuronových sítí, fungujících jako samostatné transformace sekvencí. Mohou být považovány za analogické k konvolučním vrstvám v CNN, poskytujícím základní strukturu pro modelování sekvencí v různých architekturách neuronových sítí.

SSM vs SSM + Selektivní

SSM vs SSM + Selektivní

Motivace pro selektivitu v modelování sekvencí

Strukturované SSM

Strukturované SSM

Článek argumentuje, že fundamentálním aspektem modelování sekvencí je komprese kontextu do zpracovatelného stavu. Modely, které mohou selektivně se zaměřovat nebo filtrovat vstupy, poskytují efektivnější prostředek pro udržení tohoto komprimovaného stavu, vedoucí k efektivnějším a výkonnějším modelům sekvencí. Tato selektivita je zásadní pro modely, aby adaptovaly tok informací podél dimenze sekvence, esenciální schopnost pro zvládnutí komplexních úkolů v jazykovém modelování a za jeho rámec.

Selektivní SSM posilují konvenční SSM, umožňujícím jejich parametrům být závislé na vstupu, což zavádí stupeň adaptivity, který nebyl dříve dosažitelný s časově invariantními modely. To vede k časově proměnným SSM, které již nemohou používat konvoluce pro efektivní výpočet, ale místo toho spoléhají na lineární rekurzi, což je významný odchod od tradičních modelů.

SSM + Selektivní (S6) Tato varianta zahrnuje mechanismus selekce, přidávající závislost na vstupu k parametrům B a C, a zpožďovací parametr Δ. To umožňuje modelu selektivně se zaměřovat na určité části vstupní sekvence x. Parametry jsou diskrétní s ohledem na selekci, a operace SSM je aplikována v časově proměnném způsobem pomocí skenovací operace, která zpracovává prvky sekvenčně, dynamicky upravujíc se v průběhu času.

Výkonnostní výšky Mamba

Mamba je nejlepší ve své třídě ve všech hodnoceních

Mamba je nejlepší ve své třídě ve všech hodnoceních

Z hlediska výkonu, Mamba vyniká jak v rychlosti inferencing, tak v přesnosti. Jeho design umožňuje lepší využití delších kontextů, což je demonstrováno v modelování DNA a audia, překonávajícím předchozí modely na komplexních úkolech vyžadujících dlouhodobé závislosti. Jeho všestrannost je také zdůrazněna v nulových hodnoceních napříč několika úkoly, stanovujících nový standard pro takové modely z hlediska efektivity a škálovatelnosti.

Zahájení práce s Mamba

Pro ty, kteří se chtějí zapojit do Mamba, technické požadavky zahrnují Linux OS, NVIDIA GPU, PyTorch 1.12+ a CUDA 11.6+. Instalace zahrnuje jednoduché příkazy pip pro instalaci nezbytných balíčků z repozitáře Mamba. Pokud vzniknou problémy s kompatibilitou s verzemi PyTorch, použití –no-build-isolation vlajky s pip může pomoci. Tyto modely, trénované na rozsáhlých datech, jako je Pile a SlimPajama dataset, jsou navrženy tak, aby splňovaly různé výpočetní potřeby a výkonové benchmarky.

Mamba nabízí různé úrovně rozhraní, od selektivní vrstvy SSM po bloky Mamba a kompletní struktury jazykových modelů. Blok Mamba, který je hlavní modul architektury, využívá kauzální konvoluční vrstvu a může být snadno integrován do návrhů neuronových sítí. Poskytnutý příklad použití v Pythonu demonstruje instanciování modelu Mamba a zpracování dat skrze něj, zdůrazňujíc jednoduchost a flexibilitu systému.

Předtrénované modely Mamba jsou dostupné na Hugging Face, s velikostmi sahajícími od 130M do 2,8B parametrů, trénovaných na rozsáhlém datasetu Pile a SlimPajama. Tyto modely jsou navrženy tak, aby splňovaly různé výpočetní a výkonové požadavky, dodržujíc dimenzionální standardy GPT-3. Uživatelé mohou očekávat vysokou propustnost a přesnost od těchto modelů, činíc Mamba konkurenceschopnou volbou pro různé aplikace, včetně, ale nejen, jazykového modelování.

Dopad Mamba

Mamba představuje skok vpřed v modelování sekvencí, nabízející mocnou alternativu k architekturám Transformer pro zpracování dat s vysokou hustotou informací. Jeho design je v souladu s požadavky moderního hardwaru, optimalizujícím využití paměti a paralelní zpracování. Otevřená dostupnost kódu Mamba a jeho předtrénovaných modelů činí z něj přístupný a robustní nástroj pro výzkumníky a vývojáře v oblasti AI a hlubokého učení.

Já pět let se ponořím do fascinujícího světa strojového učení a hlubokého učení. Mé vášně a odborné znalosti mě vedly k tomu, abych se podílel na více než 50 různých projektech softwarového inženýrství, se zvláštním zaměřením na AI/ML. Mé pokračující zvědavosti mě také přivedly k přirozenému jazykovému zpracování, oblasti, kterou jsem ochoten prozkoumat dále.