Modely a platformy AI

Dekodér-založené velké jazykové modely: Úplný průvodce

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

Velké jazykové modely (LLM) revolucionalizovaly oblast zpracování přirozeného jazyka (NLP) tím, že prokázaly pozoruhodné schopnosti v generování lidsky podobného textu, odpovědí na otázky a pomoci s širokým spektrem jazykově související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é ve stěžejním článku “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 realizačními detaily, které tyto modely katapultovaly 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 nezbytné připomenout si transformátorovou architekturu, na níž jsou tyto modely postaveny. Transformátor představil novou přístup k modelování sekvencí, spoléhající se výhradně na mechanismy pozornosti pro zachycení dlouhodobých závislostí v datech, bez potřeby rekurentních nebo konvolučních vrstev.

Transformátorová architektura

Transformátorová architektura

Původní transformátorová architektura se skládá ze dvou hlavních komponent: kodéru a dekodéru. Kodér zpracovává vstupní sekvenci a generuje kontextualizované reprezentace, které jsou pak spotřebovány dekodérem pro generování výstupní sekvence. Tato architektura byla původně navržena pro úkoly strojového překladu, kde kodér zpracovává vstupní větu v zdrojovém jazyce a dekodér generuje odpovídající větu v cílovém jazyce.

Sebe-pozornost: Klíč k úspěchu transformátoru

V srdci transformátoru leží mechanismus sebe-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ě, sebe-pozornost umožňuje modelu zachytit závislosti mezi libovolnou dvojicí tokenů, bez ohledu na jejich pozici v sekvenci.

Multiquery pozornost

Multiquery pozornost

Operace sebe-pozornosti lze rozdělit do tří hlavních kroků:

  1. 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.
  2. Výpočet skóre pozornosti: Pro každou pozici ve vstupní sekvenci jsou vypočtena skóre pozornosti tak, že se bere skalární součin mezi odpovídajícím vektorem dotazu a všemi vektory klíčů. Tato skóre reprezentují relevanci každé pozice pro aktuální pozici, která je zpracovávána.
  3. Vážený součet hodnot: Skóre pozornosti jsou normalizovány pomocí softmax funkce a výsledné váhy pozornosti se používají pro výpočet váženého součtu vektorů hodnot, což produkuje výstupní reprezentaci pro aktuální pozici.

Multi-head pozornost, varianta mechanismu sebe-pozornosti, umožňuje modelu zachytit různé typy vztahů tím, že vypočítává 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 pro zlepšení výkonu, efektivity a obecných schopností. V této sekci se ponoříme do různých architektonických voleb a jejich implikací.

Typy architektur

Dekodér-založené LLM lze rozdělit do tří hlavních typů: kodér-dekodér, kauzální dekodér a prefix dekodér. Každý typ architektury vykazuje odlišné vzorce pozornosti.

Kodér-dekodér architektura

Založená na vanilla transformátorovém modelu, kodér-dekodér architektura se skládá ze dvou zásobníků: kodéru a dekodéru. Kodér používá zásobník multi-head sebe-pozornostních vrstev pro kódování vstupní sekvence a generování latentních reprezentací. Dekodér pak provádí křížovou pozornost na těchto reprezentacích pro generování cílové sekvence. Zatímco efektivní v různých úkolech NLP, málo LLM, jako je Flan-T5,采用 tuto architekturu.

Kauzální dekodér architektura

Kauzální dekodér architektura inkorporuje unidirekční masku pozornosti, umožňující každému vstupnímu tokenу pozornost pouze na minulé tokeny a sám 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 prokazujícím pozoruhodné schopnosti učení v kontextu. Mnoho LLM, včetně OPT, BLOOM a Gopher, široce采用 kauzální dekodéry.

Prefix dekodér architektura

Také známá jako ne-kauzální dekodér, prefix dekodér architektura modifikuje maskovací mechanismus kauzálních dekodérů pro umožnění bidirekční pozornosti nad prefix tokeny a unidirekční pozornosti nad generovanými tokeny. Stejně jako kodér-dekodér architektura, prefix dekodéry mohou kó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á selektivně aktivuje podmnožinu neuronových síťových váh pro každý vstup. Tento přístup byl použit v modelech, jako je Switch Transformer a GLaM, s rostoucím počtem expertů nebo celkovými parametry prokazujících 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 sekvenční-sekvenční, jako je strojový překlad, mnoho úkolů NLP, jako je modelování jazyka a generování textu, lze formulovat jako autoregresivní problémy, kde model generuje jeden token za čas, podmíněný dříve 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, generuje výstupní tokeny jeden po druhém, využívající dříve generované tokeny jako vstupní kontext.

Klíčový rozdíl mezi dekodér-only transformátorem a původním transformátorovým dekodérem leží v mechanismu sebe-pozornosti. V dekodér-only nastavení je operace sebe-pozornosti modifikována pro zabránění modelu pozornosti budoucích tokenů, vlastnost známá jako kauzalita. To je dosaženo pomocí techniky nazvané “masked sebe-pozornost”, kde skóre pozornosti odpovídající budoucím pozicím jsou nastaveny na zápornou nekonečno, efektivně je maskují během softmax normalizace.

Architektonické komponenty dekodér-založených LLM

Zatímco základní principy sebe-pozornosti a maskované sebe-pozornosti zůstávají stejné, moderní dekodér-založené LLM zavedly několik architektonických inovací pro zlepšení výkonu, efektivity a obecných schopností. Prozkoumeme některé z klíčových komponent a technik používaných ve státních LLM.

Reprezentace vstupu

Před zpracováním vstupní sekvence dekodér-založené LLM používají tokenizaci a techniků vložení pro převod syrového textu na numerickou reprezentaci vhodnou pro model.

Vektorové vložení

Vektorové vložení

Tokenizace: Proces tokenizace 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 se snaží najít rovnováhu mezi velikostí slovníku a jemností reprezentace, umožňující modelu zpracovat vzácná nebo neznámá slova efektivně.

Token vložení: Po tokenizaci je každý token mapován na hustou vektorovou reprezentaci nazývanou token vložení. Tato vložení jsou naučena během trénování a zachycují sémantické a syntaktické vztahy mezi tokeny.

Pozicionální vložení: Transformátorové modely zpracovávají celou vstupní sekvenci najednou, postrádají vnitřní pojem tokenové pozice přítomný v rekurentních modelech. Pro inkorporaci pozicionální informace jsou pozicionální vložení přidána k token vložení, umožňující modelu rozlišovat tokeny na základě jejich pozic v sekvenci. Rané LLM používaly pevná pozicionální vložení založená na sinusoidálních funkcích, zatímco novější modely prozkoumaly naučená pozicionální vložení nebo alternativní pozicionální kódovací techniky, jako je rotující pozicionální vložení.

Multi-head pozornostní bloky

Jádrové stavební bloky dekodér-založených LLM jsou multi-head pozornostní vrstvy, které provádějí maskovanou sebe-pozornostní operaci popsánu dříve. Tyto vrstvy jsou zásobeny multiplekrát, s každou vrstvou pozornosti k výstupu předchozí vrstvy, umožňující modelu zachytit stále komplexnější závislosti a reprezentace.

Pozornostní hlavy: Každá multi-head pozornostní vrstva se skládá z více “pozornostních hlav“, každá se svými vlastními projekcemi dotazu, klíče a hodnoty. To umožňuje modelu pozornosti k různým aspektům vstupní sekvence současně, zachycující rozmanité vztahy a vzory.

Residuální spojení a vrstvená normalizace: Pro usnadnění trénování hlubokých sítí a zmírnění problému mizícího gradientu dekodér-založené LLM používají residuální spojení a vrstvenou normalizační techniky. Residuální spojení přidávají vstup vrstvy k jejímu výstupu, umožňující gradientům теч více snadno během zpětného šíření. Vrstvená normalizace pomáhá stabilizovat aktivační funkce a gradienty, dále zlepšující stabilitu trénování a výkon.

Feed-forward vrstvy

Kromě multi-head pozornostních vrstev dekodér-založené LLM inkorporují 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 komplexnější 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采用 více sofistikované aktivační funkce, jako je Gaussian Error Linear Unit (GELU) nebo SwiGLU aktivační funkce, které prokázaly zlepšený výkon.

Špatná pozornost a efektivní transformátory

Zatímco mechanismus sebe-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áročné pro dlouhé sekvence. Pro řešení této výzvy byly navrženy several techniky pro snížení výpočetní a paměťové náročnosti sebe-pozornosti, umožňující efektivní zpracování delších sekvencí.

Špatná pozornost: Techniky špatné pozornosti, jako je ta používaná v modelu GPT-3, selektivně pozornost k podmnožině 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é okenní pozornost: Zavedená v modelu Mistral 7B, klouzavé okenní pozornost (SWA) je jednoduchá, ale efektivní technika, která omezí pozornostní rozsah 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 pozornostní rozsah bez kvadratické složitosti plné sebe-pozornosti.

Rolling buffer cache: Pro další snížení paměťových požadavků, zejména pro dlouhé sekvence, model Mistral 7B používá rolling buffer cache. Tato technika ukládá a znovu využívá vypočtené klíčové a hodnotové vektory pro pevnou velikost okna, vyhýbající se redundantním výpočtům a minimalizující paměťové použití.

Seskupená dotazová pozornost: Zavedená v modelu LLaMA 2, seskupená dotazová pozornost (GQA) je varianta multi-dotazové pozornostní mechanismu, která rozděluje pozornostní hlavy do skupin, každá sdílejí společnou klíč a hodnotu matici. Tento přístup nachází rovnováhu mezi efektivitou multi-dotazové pozornosti a výkonem standardní sebe-pozornosti, poskytující zlepšené časy inference, zatímco zachovává vysoké kvalitní výsledky.

Seskupená dotazová pozornost

Seskupená dotazová pozornost

Velikost modelu a škálování

Jedna z definujících charakteristik moderních LLM je jejich velikost, s počtem parametrů sahajícím od miliard do stovek miliard. Zvyšování velikosti modelu bylo klíčovým faktorem pro dosažení státního výkonu, protože větší modely mohou zachytit komplexnější vzory a vztahy v datech.

Počet parametrů: Počet parametrů v dekodér-založeném LLM je primárně určen dimenzí vložení (d_model), počtem pozornostních hlav (n_heads), počtem vrstev (n_layers) a velikostí slovníku (vocab_size). Například model GPT-3 má 175 miliard parametrů, s d_model = 12288, n_heads = 96, n_layers = 96 a vocab_size = 50257.

Modelová paralelizace: Trénování a nasazení takto masivních modelů vyžaduje podstatné výpočetní zdroje a specializované hardwarové vybavení. Pro překonání této výzvy byly použity modelové paralelizační techniky, kde je model rozdělen napříč několika GPU nebo TPU, s každým zařízením zodpovědným za část výpočtů.

Mixture-of-Experts: Další přístup ke škálování LLM je architektura mixture-of-experts (MoE), která kombinuje několik expertních modelů, každý specializovaný na konkrétní podmnožinu dat nebo úkol. Model Mixtral 8x7B je příkladem MoE modelu, který využívá Mistral 7B jako základní model, dosahující lepšího výkonu, zatímco zachovává výpočetní efektivitu.

Inference a generování textu

Jedním z primárních použití dekodér-založených LLM je generování textu, kde model generuje koherentní a přirozeně znějící text na základě zadaného vstupu nebo kontextu.

Autoregresivní dekódování: Během inference dekodér-založené LLM generují text autoregresivně, předpovídající jeden token za čas, podmíněný dříve generovanými tokeny a vstupním promptem. Tento proces pokračuje, dokud není splněna předem určená zastavovací kritéria, jako je dosažení maximální délky sekvence nebo generování koncového tokenu sekvence.

Vzorkovací strategie: Pro generování rozmanitých a realistických textů lze použít různé vzorkovací strategie, jako je top-k vzorkování, top-p vzorkování (také známé jako jaderné vzorkování) nebo teplotní škálování. Tyto techniky kontrolují obchod mezi rozmanitostí a koherencí generovaného textu, upravují rozdělení pravděpodobnosti nad slovníkem.

Inženýrství vstupních promtů: Kvalita a specifičnost vstupního promptu mohou mít významný dopad na generovaný text. Inženýrství vstupních promtů, umění vytváření efektivní promtů, se stalo klíčovým aspektem využití LLM pro různé úkoly, umožňující uživatelům vést generovací proces modelu a dosahovat požadovaných výstupů.

Lidský cyklus dekódování: Pro další zlepšení kvality a koherence generovaného textu byly použity techniky, jako je Učení s posilováním z lidské zpětné vazby (RLHF). V tomto přístupu lidské hodnotitele poskytují zpětnou vazbu k textu generovanému modelem, která je pak použita pro jemné doladění modelu, efektivnímu zarovnání s lidskými preferencemi a zlepšení jeho výstupů.

Pokroky a budoucí směry

Oblast dekodér-založených LLM se rychle vyvíjí, s novým výzkumem a průlomovými objevy, které neustále rozšiřují hranice toho, co tyto modely mohou dosáhnout. Zde jsou některé pozoruhodné pokroky a potenciální budoucí směry:

Efektivní varianty transformátoru: Zatímco špatná pozornost a klouzavé okenní pozornost udělaly významné kroky ve zlepšení efektivity dekodér-založených LLM, výzkumníci aktivně prozkoumávají alternativní transformátorové architektury a pozornostní mechanismy pro další snížení výpočetních požadavků, zatímco zachovávají nebo zlepšují výkon.

Multimodální LLM: Rozšíření schopností LLM za hranice textu, multimodální modely cílí na integraci několika modálních zdrojů, jako jsou obrázky, audio nebo video, do jediného sjednoceného rámce. To otevírá zajímavé možnosti pro aplikace, jako je generování popisků obrázků, vizuální otázka-odpověď nebo multimediální generování obsahu.

Riadené generování: Umožnění jemné kontroly nad generovaným textem je náročným, ale důležitým směrem pro LLM. Techniky, jako je řízené textové generování a promptové ladění, cílí na poskytnutí uživatelům více jemné kontroly nad různými atributy generovaného textu, jako je styl, tón nebo konkrétní požadavky na obsah.

Závěr

Dekodér-založené LLM se staly transformační silou v oblasti zpracování přirozeného jazyka, rozšiřující hranice toho, co je možné s generováním a porozuměním jazyka. Od jejich skromných počátků jako zjednodušené varianty transformátorové architektury se tyto modely vyvinuly v vysoce sofistikované a mocné systémy, využívající špičkové techniky a architektonické inovace.

Jak budeme pokračovat v prozkoumávání a rozvoji dekodér-založených LLM, můžeme očekávat, že uvidíme ještě více pozoruhodných úspěchů v jazykově souvisejících úkolech, jakož i integraci těchto modelů do širokého spektra aplikací a domén. Nicméně, je zásadní řešit etické úvahy, výzvy interpretability a potenciální předpojatosti, které mohou vzniknout z širokého nasazení těchto mocných modelů.

Zůstáním v čele výzkumu, podporou otevřené spolupráce a udržením silného závazku k odpovědnému vývoji AI, můžeme odemknout plný potenciál dekodér-založených LLM, zatímco zajistíme, že jsou vyvíjeny a využívány bezpečným, etickým a prospěšným způsobem pro společnost.

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.