Umělá inteligence
Dekodér-založené velké jazykové modely: Úplný průvodce
Velké jazykové modely (LLM) revolucionalizovaly oblast zpracování přirozeného jazyka (NLP) tím, že prokázaly pozoruhodné schopnosti generovat text podobný lidskému, odpovídat na otázky a pomáhat s širokým spektrem jazykových úkolů. V jádru těchto mocných modelů leží dekodér-only transformátorová architektura, varianta původní transformátorové architektury navržené v seminární práci “Pozornost je vše, co potřebujete” od Vaswaniho a kol.
V tomto komplexním průvodci prozkoumáme vnitřní fungování dekodér-založených LLM, zabýváme se základními stavebními kameny, architektonickými inovacemi a implementačními detaily, které tyto modely posunuly do popředí výzkumu a aplikací NLP.
Transformátorová architektura: Připomenutí
Než se ponoříme do specifik dekodér-založených LLM, je důležité připomenout transformátorovou architekturu, na které tyto modely stojí. Transformátor představil novou přístup k modelování sekvencí, spoléhající se pouze na mechanismy pozornosti pro zachycení dlouhodobých závislostí v datech, bez potřeby rekurentních nebo konvolučních vrstev.
Původní transformátorová architektura se skládá ze dvou hlavních komponent: kódovače a dekodéru. Kódovač zpracovává vstupní sekvenci a generuje kontextualizované reprezentace, které dekodér spotřebuje k produkci výstupní sekvence. Tato architektura byla původně navržena pro úkoly strojového překladu, kde kódovač zpracovává vstupní větu v zdrojovém jazyce a dekodér generuje odpovídající větu v cílovém jazyce.
Samo-pozornost: Klíč k úspěchu transformátoru
V srdci transformátoru leží mechanismus samo-pozornosti, silná technika, která umožňuje modelu vážit a agregovat informace z různých pozic ve vstupní sekvenci. Na rozdíl od tradičních modelů sekvencí, které zpracovávají vstupní tokeny sekvenčně, samo-pozornost umožňuje modelu zachytit závislosti mezi jakýmikoli dvěma tokeny, bez ohledu na jejich pozici v sekvenci.
Operace samo-pozornosti lze rozdělit do tří hlavních kroků:
- Projekce dotazu, klíče a hodnoty: Vstupní sekvence je projetována do tří samostatných reprezentací: dotazů (Q), klíčů (K) a hodnot (V). Tyto projekce jsou získány násobením vstupu s naučenými váhovými maticemi.
- Výpočet skóre pozornosti: Pro každou pozici ve vstupní sekvenci jsou skóre pozornosti vypočteny pomocí dot-produktu mezi odpovídajícím vektorem dotazu a všemi vektory klíčů. Tyto skóre reprezentují relevanci každé pozice pro aktuální pozici, která je zpracovávána.
- Vážený součet hodnot: Skóre pozornosti jsou normalizovány pomocí softmax funkce a výsledné váhy pozornosti se používají k výpočtu váženého součtu vektorů hodnot, produkujících výstupní reprezentaci pro aktuální pozici.
Multi-head pozornost, varianta mechanismu samo-pozornosti, umožňuje modelu zachytit různé typy vztahů výpočtem skóre pozornosti napříč několika “hlavami” paralelně, každá s vlastními projekcemi dotazu, klíče a hodnoty.
Architektonické varianty a konfigurace
Zatímco základní principy dekodér-založených LLM zůstávají konzistentní, výzkumníci prozkoumali různé architektonické varianty a konfigurace, aby zlepšili výkon, efektivitu a obecné schopnosti. V této sekci se ponoříme do různých architektonických voleb a jejich dopadů.
Typy architektur
Dekodér-založené LLM lze obecně klasifikovat do tří hlavních typů: kódovač-dekodér, kauzální dekodér a prefix dekodér. Každý typ architektury vykazuje odlišné vzorce pozornosti.
Kódovač-dekodér architektura
Založená na vanilkovém modelu Transformátor, kódovač-dekodér architektura se skládá ze dvou zásobníků: kódovače a dekodéru. Kódovač používá zásobníky multi-head samo-pozornosti, aby zakódoval vstupní sekvenci a generoval latentní reprezentace. Dekodér pak provádí křížovou pozornost na těchto reprezentacích, aby generoval cílovou sekvenci. Přestože je účinná v různých úkolech NLP, jen málo LLM, jako je Flan-T5,采用 tuto architekturu.
Kauzální dekodér architektura
Kauzální dekodér architektura zahrnuje unidirekční masku pozornosti, umožňující každé vstupní tokeny pozornost pouze na předchozí tokeny a sama sebe. Vstupní i výstupní tokeny jsou zpracovávány uvnitř stejného dekodéru. Pozoruhodné modely, jako GPT-1, GPT-2 a GPT-3, jsou postaveny na této architektuře, s GPT-3, který ukazuje pozoruhodné schopnosti učení v kontextu. Mnoho LLM, včetně OPT, BLOOM a Gopher, široce přijalo kauzální dekodéry.
Prefix dekodér architektura
Také známá jako ne-kauzální dekodér, prefix dekodér architektura modifikuje mechanismus maskování kauzálních dekodérů, aby umožnila bidirekční pozornost nad prefix tokeny a unidirekční pozornost na generované tokeny. Stejně jako kódovač-dekodér architektura, prefix dekodéry mohou zakódovat prefix sekvenci bidirekčně a předpovídat výstupní tokeny autoregresivně pomocí sdílených parametrů. LLM založené na prefix dekodérech zahrnují GLM130B a U-PaLM.
Všechny tři typy architektur lze rozšířit pomocí mixture-of-experts (MoE) techniky škálování, která řídce aktivuje podmnožinu neuronových sítí pro každý vstup. Tento přístup byl použit v modelech, jako je Switch Transformer a GLaM, se zvyšujícím se počtem expertů nebo celkovým parametrem velikosti, který ukazuje významné zlepšení výkonu.
Dekodér-only transformátor: Přijetí autoregresivní povahy
Zatímco původní transformátorová architektura byla navržena pro úkoly sekvence-na-sekvenci, jako je strojový překlad, mnoho úkolů NLP, jako je jazykový model a generování textu, lze formulovat jako autoregresivní problémy, kde model generuje jeden token najednou, podmíněný předchozími generovanými tokeny.
Vstoupí dekodér-only transformátor, zjednodušená varianta transformátorové architektury, která uchovává pouze dekodérskou komponentu. Tato architektura je zvláště vhodná pro autoregresivní úkoly, protože generuje výstupní tokeny jeden po druhém, využívající předchozí generované tokeny jako vstupní kontext.
Klíčový rozdíl mezi dekodér-only transformátorem a původním transformátorovým dekodérem spočívá v mechanismu samo-pozornosti. V dekodér-only nastavení je samo-pozornostní operace modifikována, aby modelu zabránila pozornost na budoucí tokeny, vlastnost známá jako kauzalita. To je dosaženo pomocí techniky nazvané “masked self-attention”, kde skóre pozornosti odpovídající budoucím pozicím jsou nastaveny na negativní nekonečno, efektivní maskování během softmax normalizačního kroku.
Architektonické komponenty dekodér-založených LLM
Zatímco základní principy samo-pozornosti a maskované samo-pozornosti zůstávají stejné, moderní dekodér-založené LLM zavedly několik architektonických inovací, aby zlepšily výkon, efektivitu a obecné schopnosti. Prozkoumejte některé z klíčových komponent a technik používaných ve státních LLM.
Reprezentace vstupu
Než zpracuje vstupní sekvenci, dekodér-založené LLM používají tokenizační a vkládání technik, aby převedly surový text na numerickou reprezentaci vhodnou pro model.
Tokenizace: Tokenizační proces převádí vstupní text na sekvenci tokenů, které mohou být slova, subwords nebo dokonce jednotlivé znaky, v závislosti na použité tokenizační strategii. Populární tokenizační techniky pro LLM zahrnují Byte-Pair Encoding (BPE), SentencePiece a WordPiece. Tyto metody usilují o vyvážení velikosti slovníku a granularity reprezentace, umožňující modelu efektivně zpracovávat vzácná nebo neznámá slova.
Token vkládání: Po tokenizaci je každý token mapován na hustou vektorovou reprezentaci nazývanou token vkládání. Tato vkládání jsou naučena během trénovacího procesu a zachycují sémantické a syntaktické vztahy mezi tokeny.
Pozicionální vkládání: Transformátorové modely zpracovávají celou vstupní sekvenci současně, postrádají vnitřní pojem tokenové pozice přítomný v rekurentních modelech. Aby bylo možné začlenit pozicionální informace, pozicionální vkládání jsou přidána k token vkládáním, umožňující modelu rozlišovat mezi tokeny na základě jejich pozic v sekvenci. Rané LLM používaly pevná pozicionální vkládání založená na sinusoidálních funkcích, zatímco novější modely prozkoumaly naučená pozicionální vkládání nebo alternativní pozicionální kódovací techniky, jako je rotující pozicionální vkládání.
Bloky multi-head pozornosti
Jádrové stavební kameny dekodér-založených LLM jsou multi-head pozornostní vrstvy, které provádějí maskovanou samo-pozornostní operaci popsánu dříve. Tyto vrstvy jsou zásobeny multiplekrát, s každou vrstvou pozornost na výstup předchozí vrstvy, umožňující modelu zachytit stále složitější závislosti a reprezentace.
Pozornostní hlavy: Každá multi-head pozornostní vrstva se skládá z více “pozornostních hlav”, každá s vlastními projekcemi dotazu, klíče a hodnoty. To umožňuje modelu pozornost na různé aspekty vstupu současně, zachycující rozmanité vztahy a vzorce.
Reziduální spojení a normalizace vrstvy: Aby usnadnily trénování hlubokých sítí a zmírnily problém mizejícího gradientu, dekodér-založené LLM používají reziduální spojení a normalizační techniky vrstev. Reziduální spojení přidávají vstup vrstvy k jejímu výstupu, umožňující gradientům lépe téct během zpětného šíření. Normalizace vrstev pomáhá stabilizovat aktivace a gradienty, dále zlepšující stabilitu a výkon trénování.
Feed-forward vrstvy
Kromě multi-head pozornostních vrstev dekodér-založené LLM zahrnují feed-forward vrstvy, které aplikují jednoduchou feed-forward neuronovou síť na každou pozici v sekvenci. Tyto vrstvy zavádějí nelinearity a umožňují modelu naučit se více komplexní reprezentace.
Aktivační funkce: Volba aktivační funkce ve feed-forward vrstvách může mít významný dopad na výkon modelu. Zatímco rané LLM spoléhaly na široce používanou ReLU aktivační funkci, novější modely přijaly sofistikovanější aktivační funkce, jako je Gaussian Error Linear Unit (GELU) nebo SwiGLU aktivační funkce, které ukázaly zlepšený výkon.
Špatná pozornost a efektivní transformátory
Zatímco mechanismus samo-pozornosti je silný, přichází s kvadratickou výpočetní složitostí ve vztahu k délce sekvence, což z něj činí výpočetně nákladné pro dlouhé sekvence. Aby se tato výzva řešila, byly navrženy several techniky pro snížení výpočetní a paměťové náročnosti samo-pozornosti, umožňující efektivní zpracování delších sekvencí.
Špatná pozornost: Techniky špatné pozornosti, jako je ta použitá v modelu GPT-3, selektivně pozornost na podmnožinu pozic ve vstupní sekvenci, místo výpočtu skóre pozornosti pro všechny pozice. To může významně snížit výpočetní složitost, zatímco zachovává rozumný výkon.
Klouzavé okno pozornosti: Zavedené v modelu Mistral 7B, klouzavé okno pozornosti (SWA) je jednoduchá, ale efektivní technika, která omezí rozsah pozornosti každého tokenu na pevnou velikost okna. Tento přístup využívá schopnost transformátorových vrstev přenášet informace napříč několika vrstvami, efektivně zvyšuje rozsah pozornosti bez kvadratické složitosti plné samo-pozornosti.
Rolovací buffer cache: Aby se dále snížily paměťové nároky, zejména pro dlouhé sekvence, model Mistral 7B používá rolující buffer cache. Tato technika ukládá a znovu využívá vypočtené vektory klíčů a hodnot pro pevnou velikost okna, vyhýbající se redundálním výpočtům a minimalizujícím paměťové použití.
Seskupená dotazová pozornost: Zavedená v modelu LLaMA 2, seskupená dotazová pozornost (GQA) je varianta mechanismu multi-dotazové pozornosti, která dělí pozornostní hlavy do skupin, každá skupina sdílí společnou matici klíče a hodnoty. Tento přístup nachází rovnováhu mezi efektivitou multi-dotazové pozornosti a výkonem standardní samo-pozornosti, poskytující zlepšené časy inferencing, zatímco zachovává vysoké kvalitní výsledky.














