Modely v modelu: In-context learning posouvá hranice LLM

V popředí zájmu AI komunity v poslední době stojí velké jazykové modely, známější pod anglickou zkratkou LLM (large language models). Chatbot schopný přesvědčivě, precizně a překvapivě „lidsky“ komunikovat s člověkem má potenciál značný. LLM nejsou novinkou, jen nacházíme stále nové a nové možnosti využití s tím, jak se vylepšují jejich schopnosti. Tedy v posledních měsících poměrně dramaticky.

Než si vysvětlíme, co je přesně in-context learning, zaměřme se ve stručnosti na to, jak fungují (hluboké) neuronové sítě, na nichž LLM staví. Blíže se podíváme na jednu z nejsofistikovanějších neuronových sítí dneška, populární GPT od OpenAI, a poodhalíme, jak pokročilé algoritmy dokáží tak efektivně napodobovat člověka. A proč vlastně úplně přesně nevíme, jak dospějí ke svým výstupům.

Velké jazykové modely využívají obrovské množství dat, často podstatnou část internetu, porůznu vyčištěnou tak, aby pro potřeby algoritmů data dávala smysl. Na těchto datových sadách je pak LLM trénován, aby dokázal sloužit danému účelu – jako chatbot, překladač nebo jiná služba – a produkoval věrohodné a smysluplné výstupy. Ačkoli primární use case se stále týká jazyků, LLM už tuto limitující škatulku překonaly.

Metod, pomocí kterých toho dosahuje, je celá řada. Patří mezi ně například samostatně supervizované předtrénování (self-supervised pretraining), kdy se model učí doplňovat chybějící slova v sekvencích, nebo transfer learning, kdy již hotový model přizpůsobujeme pro řešení podobné úlohy. Během učení LLM se používá takzvaná regularizace, která zajistí, že jazykový model nebude příliš spoléhat na konkrétní trénovací data.

LLM svou strukturou vycházejí s tzv. dopředných neuronových sítí, kde se signál šíří přes vrstvy umělých neuronů od vstupu k výstupu. Připomínají tak skutečné biologické neuronové sítě. LLM se například naučí, že některá slova se často používají u sebe, a že jejich pořadí ve větě není nahodilé, ale má svá pravidla. Zjistí také, že například některá témata spolu blízce souvisí (objevují se často společně). Čím více dat neuronová síť dostane, tím lépe je možné ji vytrénovat. Proces skutečně připomíná výuku.

LLM fungují tak dobře (většinou) díky tomu, že jsou optimalizovány pro konkrétní úkoly. Příkladem může být jazykový model, který je navržen tak, aby předpovídal příští slovo ve větě (například při psaní na virtuální klávesnici mobilního telefonu). Při učení můžeme model opravovat, pokud slovo netrefí správně – drobně se upraví váhy neuronů v síti tak, aby se snížila chyba predikce na výstupu.

Koncept samotný je poměrně jednoduchý a snadno pochopitelný. Vlivem vysoké míry abstrakce je ale těžké nahlédnout pod pokličku, tedy chápat přesně, jak neuronová síť dospěje ke svým výstupům, protože neuronů je mnoho a (podobně jako u mozku živých organizmů) není lehké vysledovat, jak přesně se ten který neuron podílí na výsledku.

Překvapivé dovednosti velkých jazykových modelů

Velmi zajímavá situace nastane, když se podíváme na některé překvapivé dovednosti těchto moderních neuronových sítí. Vědci se si nedávno všimli podivuhodného fenoménu: takzvaného in-context learningu (česky učení souvislostí / učení v souvislostech). Jde o úkaz, kterému zatím odborníci zcela nerozumí – LLM se dokáže efektivně uplatnit pro plnění nového překvapivého úkolu, a to aniž by byl k tomuto úkolu trénován (tedy aby se přímo měnily váhy modelu, viz box 2). Své chování zvládne LLM upravit během tzv. vybavování (model inference), kdy pouze dáváme modelu vstupy a dopředným šířením signálu přes vrstvy neuronů počítáme výstup.

Jde o součást takzvaného few-shot learningu, metodu strojového učení, která učí model rozpoznávat nové třídy (např. objektů) pouze z malého množství trénovacích dat. Díky tomu si moderní modely dokážou poradit s daleko větším množstvím problémů.

V tomto případě dáme LLM na vstup větu s očekávanou odpovědí na konci. Je fascinující, že dokáže odvodit souvislosti a zareagovat správným výstupem.

in-context-learning StanfordZdroj: How does in-context learning work? A framework for understanding the differences from traditional supervised learning, The Stanford AI Lab Blog

Jako další příklad si uveďme populární generátor obrázků Midjourney. Ten byl natrénován na obrovské hromadě obrázků z celého internetu, z nichž se poté učil; nejprve dostal za úkol malovat jednoduché věci a postupně se propracoval k mnohem sofistikovanějším.

Fungování procesu uvnitř neuronové sítě je následující. Najdeme lineární funkci, která dokáže namalovat konkrétní věc, kupříkladu oblouk. Ten následně použije k namalování listu a podobně. Tato funkce před začátkem trénování modelu neexistovala – vytvořil si ji sám.

Když poté po takto předtrénovaném modelu chcete něco jiného, je to pro něj jednodušší. Najednou už nepotřebuje obrovské množství vstupních příkladů, ale poradí si i s málem. Pokud třeba dostane za úkol nakreslit lidský obličej, využije už existující lineární model, ale místo tvorby listu z něj vytvoří kus ucha.

K tomu se algoritmus musel změnit, přizpůsobit se novému úkolu. To se právě děje někde v té střední části abstrakce, do které nevidíme, a která jednotlivé lineární funkce spojuje do použitelného výstupu, v tomto případě vygenerovaného obrázku.

Když po předtrénovaném modelu chcete něco jiného, je to pro něj jednodušší. Už nepotřebuje obrovské množství vstupních příkladů, poradí si s málem.
Algoritmus se musel změnit, a to se právě děje v té střední části abstrakce, do které nevidíme.

Standardně by model strojového učení musel být přetrénován pomocí nových dat. Jde o základní princip algoritmů a modely tak standardně fungují. Model při trénování aktualizuje stávající parametry spolu s tím, jak zpracovává nové informace. Pomocí in-context learningu ale nedojde k žádné předem dané změně parametrů. Model se tak – na první pohled – naučí nový úkol bez toho, aby měnil své váhy.

Výzkum vědců z MIT, Google Research či Stanfordovy univerzity ukazuje, že tyto masivní neuronové sítě hluboko v sobě obsahují menší, jednodušší lineární modely, které model získal při původním trénování. Jazykový model poté využije jednoduchý algoritmus, kterým tento menší, lineární model vytrénuje na splnění úkolu využitím informací, které se už v samotném velkém modelu nachází.

Jde vlastně o model v modelu.

Chytřejší modely za méně peněz

Jako příklad si uveďme GPT. Model má stovky miliard parametrů a byl trénován na obrovském množství textu z internetu. Pokud tedy někdo modelu předloží nový úkol, je velmi pravděpodobně, že model bude umět adekvátně reagovat. Během trénování se totiž s něčím podobným velmi pravděpodobně již setkal. Model se neučí na nové úkoly reagovat separátně, ale opakuje vzorce, které již během svého trénování viděl. Ve výstupu používá již dříve vycvičený menší model, schovaný uvnitř celkového modelu.

Proč ale vědci neví přesně, jak LLM pracují? Zběžně to samozřejmě vědí, ale to, co se děje v neuronových sítí mezi vstupem a výstupem je z části skryto i odborníkům. Jednotlivé vrstvy propojených neuronů zkrátka „nějak“ pracují – míra abstrakce už je opravdu velmi vysoká. Magie to není, fascinující úkaz potvrzující pokročilost umělých neuronových sítí však ano; jde o překvapivě inteligentní proces, jemuž teprve musíme do hloubky porozumět. O to zajímavější neuronové sítě a velké jazykové modely jsou.

In-context learning je potenciálně jednou z nejdůležitějších funkcí neuronových sítí. Při jeho důkladném pochopení by ji šlo aplikovat tak, aby nebylo nutné modely přetrénovávat na nové úkoly, což je jinak poměrně drahá záležitost.

Doba, kdy se AI ještě výrazněji uplatní v každodenním lidském životě, se rapidně přibližuje. Změní se naše poznání a chápání, dost možná i podstata práce a produktivity jako takové. Obecná umělá inteligence, koncept, který fascinuje a děsí autory sci-fi příběhů již po mnoho generací, se neustále přibližuje. Otázkou je čas a limity, které si sami lidé stanoví: A čím lépe budeme AI rozumět, tím bezpečněji, lépe a udržitelněji budeme moci nejnovější technologie využívat.

Sdílejte