Connect with us

Umělá inteligence

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

mm
Decoder-Based Large Language Models: A Complete Guide

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.

Transformátorová architektura

Transformátorová architektura

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.

Multiquery pozornost

Multiquery pozornost

Operace samo-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 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.
  3. 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.

vector vkládání

vector vkládání

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.

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 při dosahování státních výkonů, protože větší modely mohou zachytit složitější vzorce a vztahy v datech.

Počet parametrů: Počet parametrů v dekodér-založeném LLM je primárně určen dimenzí vkládání (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á paralelnost: Trénování a nasazování takových masivních modelů vyžaduje podstatné výpočetní zdroje a specializované hardware. Aby se tato výzva překonala, byly použity techniky modelové paralelnosti, kde je model rozdělen napříč několika GPU nebo TPU, s každým zařízením odpově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ý specializující se na konkrétní podmnožinu dat nebo úkol. Model Mixtral 8x7B je příkladem modelu MoE, 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ě daného podnětu nebo kontextu.

Autoregresivní dekódování: Během inferencing dekodér-založené LLM generují text autoregresivním způsobem, předpovídající jeden token najednou na základě předchozích generovaných tokenů a vstupního podnětu. Tento proces pokračuje, dokud není splněna předem určená kritéria zastavení, jako je dosažení maximální délky sekvence nebo generování tokenů konce sekvence.

Vzorkovací strategie: Aby se generoval rozmanitý a realistický 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íc pravděpodobnostní rozdělení nad slovníkem.

Inženýrství podnětu: Kvalita a specifičnost vstupního podnětu může výrazně ovlivnit generovaný text. Inženýrství podnětu, umění vytváření účinných podnětů, se stalo kritickým aspektem využití LLM pro různé úkoly, umožňujícím uživatelům vést generovací proces modelu a dosahovat požadovaných výstupů.

Lidský faktor v dekódování: Aby se dále zlepšila kvalita 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 na text generovaný modelem, který je pak použit k jemnému ladě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ůlomy, které neustále tlačí 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é okno pozornosti udělaly významné kroky ve zlepšování efektivity dekodér-založených LLM, výzkumníci aktivně prozkoumávají alternativní transformátorové architektury a mechanismy pozornosti, aby dále snížili výpočetní požadavky, zatímco zachovávají nebo zlepšují výkon.

Multimodální LLM: Rozšiřování schopností LLM za hranice textu, multimodální modely cílí na integraci více modálit, jako jsou obrázky, audio nebo video, do jediné sjednocené architektury. To otevírá zajímavé možnosti pro aplikace, jako je popis obrázků, vizuální otázka a odpověď a multimediální generování obsahu.

Řízené 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é generování textu a ladění podnětu, cílí na poskytování 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, tlačící hranice toho, co je možné s generováním a porozuměním jazyka.

Jak budeme pokračovat v prozkoumávání a rozvoji dekodér-založených LLM, můžeme očekávat, že budeme svědky ještě více pozoruhodných úspěchů v jazykových úkolech, jakož i integraci těchto modelů do širokého spektra aplikací a domén. Je však důležité ř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 rozvoji 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á jsem strávil posledních pět let ponořen do fascinujícího světa Machine Learning a Deep Learning. Moje vášeň a odbornost mě vedly k tomu, abych přispěl k více než 50 různým softwarovým inženýrským projektům, se zvláštním zaměřením na AI/ML. Moje pokračující zvědavost mě také táhne směrem k Natural Language Processing, oblasti, kterou jsem ochoten dále prozkoumat.