Přeskoč na hlavní obsah
OpenAI

13. listopadu 2025

VýzkumPublikace

Porozumění neurálním sítím skrze řídké obvody

Naučili jsme modely přemýšlet v jednodušších a lépe sledovatelných krocích, abychom lépe pochopili, jak fungují.

Načítání…

​​Neurální sítě pohánějí dnešní nejvýkonnější systémy umělé inteligence, ale stále je obtížné je pochopit. Tyto modely nepíšeme s explicitními, podrobnými pokyny. Místo toho se učí úpravou miliard vnitřních spojení, nebo „vah“, dokud úkol nezvládnou. Navrhujeme pravidla trénování, ale ne konkrétní chování, které se objeví, a výsledkem je hustá síť spojení, kterou žádný člověk nedokáže snadno rozluštit. 

Jak vnímáme interpretovatelnost

Jak se systémy AI stávají výkonnější a mají skutečný dopad na rozhodování ve vědě, vzdělávání a zdravotní péči, je důležité pochopit, jak fungují. Interpretovatelnost se týká metod, které nám pomáhají pochopit, proč model vytvořil daný výstup. Existuje mnoho způsobů, jak toho můžeme dosáhnout. 

Například modely odůvodňování jsou motivovány k tomu, aby vysvětlily svou práci na cestě k finální odpovědi. Interpretovatelnost řetězce myšlenek využívá tato vysvětlení ke sledování chování modelu. To je okamžitě užitečné: zdá se, že řetězce myšlenek současných modelů odůvodňování jsou poučné ve vztahu ke znepokojivému chování, jako je klamání. Plné spoléhání se na tuto vlastnost je však křehká strategie a časem se může rozpadnout.

Na druhou stranu mechanistická interpretovatelnost, na kterou se tato práce zaměřuje, usiluje o úplné zpětné inženýrství výpočtů modelu. Doposud byl méně okamžitě užitečný, ale v zásadě by mohl poskytnout úplnější vysvětlení chování modelu. Tím, že se snažíme vysvětlit chování modelu na nejpodrobnější úrovni, může mechanistická interpretovatelnost dělat méně předpokladů a dát nám větší jistotu. Ale cesta od detailů na nízké úrovni k vysvětlení složitého chování je mnohem delší a obtížnější.

Interpretabilita je podporou několika klíčových cílů, například umožňuje lepší dohled a poskytuje včasné varování před nebezpečným nebo strategicky nesprávným chováním. Doplňuje také naše další bezpečnostní úsilí, jako je škálovatelný dohled, trénování zaměřené na soupeře a red-teaming. 

V této práci ukazujeme, že často můžeme modely trénovat způsoby, které usnadňují jejich interpretaci. Naši práci vidíme jako slibný doplněk k post-hoc analýze hustých sítí. 

To je velmi ambiciózní sázka; od naší práce k plnému pochopení složitého chování našich nejvýkonnějších modelů vede dlouhá cesta. Přesto jsme u jednoduchých chování zjistili, že řídké modely vytrénované naší metodou obsahují malé, oddělené obvody, které jsou srozumitelné a dostatečné k provedení daného chování. To naznačuje, že může existovat schůdná cesta k trénování větších systémů, jejichž mechanismům můžeme rozumět.

Nový přístup: učení řídkých modelů

Předchozí práce na mechanistické interpretovatelnosti začínaly s hustými, zamotanými sítěmi a snažily se je rozplést. V těchto sítích je každý neuron propojen s tisíci jinými neurony. Zdá se, že většina neuronů plní řadu různých funkcí, což činí jejich pochopení zdánlivě nemožným. 

Ale co kdybychom trénovali rozpletené neurální sítě s mnohem větším počtem neuronů, ale kde by každý neuron měl jen několik desítek spojení? Potom možná bude výsledná síť jednodušší a snáze pochopitelná. Toto je ústřední výzkumný záměr naší práce.

S ohledem na tento princip jsme trénovali jazykové modely s velmi podobnou architekturou jako stávající jazykové modely, jako je GPT‑2, s jednou malou úpravou: drtivou většinu vah modelu jsme nastavili na nulu. To omezilo model, aby využíval jen velmi málo z možných spojení mezi svými neurony. Jedná se o jednoduchou změnu, která podle našeho názoru podstatně rozplétá vnitřní výpočty modelu.

Schéma porovnávající husté obvody a řídké obvody. Hustá verze zobrazuje dva řádky uzlů s mnoha propojujícími čarami, zatímco řídká verze zobrazuje stejné rozložení, ale s menším počtem a selektivnějšími spojeními.

V běžných hustých neuronových sítích je každý neuron propojen s každým neuronem v následující vrstvě. V našich řídkých modelech se každý neuron připojuje pouze k několika neuronům v další vrstvě. Doufáme, že to usnadní pochopení neuronů a celé sítě.

Vyhodnocení interpretovatelnosti

Chceme změřit, do jaké míry jsou výpočty našich řídkých modelů oddělené. Zvažovali jsme různá jednoduchá chování modelu a zjišťovali jsme, zda můžeme izolovat části modelu zodpovědné za jednotlivá chování, které nazýváme obvody.

Ručně jsme vybrali sadu jednoduchých algoritmických úkolů. U každého jsme model zredukovali na nejmenší obvod, který stále dokáže úkol splnit, a zkoumali jsme, jak jednoduchý tento obvod je. (Podrobnosti najdeš v našem článku(otevře se v novém okně).) Zjistili jsme, že trénováním větších a řidších modelů můžeme vytvářet stále výkonnější modely s čím dál jednoduššími obvody.

Bodový graf znázorňující schopnost modelu (ztráta při předtrénování) na ose x oproti interpretovatelnosti (velikost prořezaného obvodu) na ose y. Body představují modely různých velikostí a úrovní řídkosti, přičemž barva označuje celkový počet parametrů a velikost značky označuje počet nenulových parametrů. Šipky označují směr vpravo nahoře jako „lepší“.

Vykreslujeme interpretovatelnost versus schopnost napříč modely (vlevo dole je lepší). Pro pevně stanovenou velikost řídkého modelu zvyšování řídkosti – nastavení více vah na nulu – snižuje schopnosti, ale zvyšuje interpretovatelnost. Zvětšení velikosti modelu posouvá tuto hranici dále, což naznačuje, že můžeme vytvořit větší modely, které jsou jak výkonné, tak i interpretovatelné.

Abychom to konkretizovali, představme si úkol, kdy model vycvičený na kódu Pythonu musí doplnit řetězec správným typem uvozovek. V Pythonu musí 'hello' končit jednoduchou uvozovkou a "hello" musí končit dvojitou uvozovkou. Model to může vyřešit tím, že si zapamatuje, jaký typ uvozovek řetězec otevřel, a reprodukuje ho na konci.

Zdá se, že naše nejlépe interpretovatelné modely obsahují oddělené obvody, které implementují přesně tento algoritmus.

Schéma znázorňující příklad obvodu v řídkém transformeru. Ukazuje, jak se specifické neurony a hlavy pozornosti aktivují v reakci na vstupní tokeny jako „(“ a „obvody“, s označenými cestami pro kladné a záporné váhy, násobení, nelinearity a spojení mezi MLP a vrstvami pozornosti, což vyústí v pravděpodobnosti výstupních tokenů.

Příklad obvodu v řídkém transformeru, který předpovídá, zda ukončit řetězec jednoduchou nebo dvojitou uvozovkou. Tento obvod používá jen pět reziduálních kanálů (svislé šedé čáry), dva neurony MLP ve vrstvě 0 a jeden kanál pro dotaz-klíč pozornosti a jeden kanál pro hodnotu ve vrstvě 10. Model (1) kóduje jednoduché uvozovky v jednom reziduálním kanálu a dvojité uvozovky v jiném; (2) používá vrstvu MLP k převodu do jednoho kanálu, který detekuje jakoukoli uvozovku, a druhého, který klasifikuje mezi jednoduchými a dvojitými uvozovkami; (3) používá operaci pozornosti k ignorování intervenujících tokenů, nalezení předchozí uvozovky a zkopírování jejího typu do koncového tokenu; a (4) předpovídá odpovídající závěrečnou uvozovku.

V naší definici jsou přesně výše uvedená spojení dostatečná k provedení úkolu – pokud odebereme zbytek modelu, tento malý obvod stále funguje. Jsou také nezbytné – odstranění těchto několika hran způsobí selhání modelu.

Také jsme se podívali na některá složitější chování. Naše obvody pro tato chování (např. vazba proměnných uvedená níže) je obtížnější zcela vysvětlit. I tehdy můžeme stále dosáhnout relativně jednoduchých dílčích vysvětlení, která předpovídají chování modelu.

Schéma zvýrazňující příklad obvodu řídkého transformeru v rámci funkce Python get_neighbors. Dvě přiřazení k current = set() jsou v rámečku, s barevnými šipkami ukazujícími, které hlavy pozornosti (označené indexy Q/K/V) se aktivují, aby připojily každý výskyt proměnné current s jejím použitím ve smyčce.

Další příklad obvodu, méně podrobně. K určení typu proměnné nazvané current jedna operace pozornosti zkopíruje název proměnné do tokenu set() při její definici a další operace později zkopíruje typ z tokenu set() do následného použití proměnné, což modelu umožňuje odvodit správný další token.

Co ještě musíme udělat

Tato práce je prvním krokem k dosažení většího cíle: usnadnit pochopení výpočtů modelu. Ale ještě máme před sebou dlouhou cestu. Naše řídké modely jsou mnohem menší než pokročilé modely a velká část jejich výpočtů zůstává neinterpretována. 

Dále doufáme, že rozšíříme naše techniky na větší modely a více vysvětlíme chování modelů. Vyjmenováním motivů obvodů, které jsou základem složitějšího odůvodňování ve výkonných řídkých modelech, bychom mohli rozvinout pochopení, které nám pomůže lépe zacílit výzkum hraničních modelů.

Abychom překonali neefektivitu trénování řídkých modelů, vidíme dvě cesty vpřed. Jedním z přístupů je extrahovat řídké obvody ze stávajících hustých modelů, místo aby se řídké modely trénovaly od začátku. Husté modely jsou zásadně efektivnější pro nasazení než řídké modely. Druhou cestou je vývoj efektivnějších technik pro trénování interpretovatelnosti modelů, které by mohly být snadněji zaváděny do produkčního prostředí.

Všimni si, že naše zjištění zde nejsou zárukou, že se tento přístup rozšíří na výkonnější systémy, ale tyto rané výsledky jsou slibné. Naším cílem je postupně rozšiřovat, jak velkou část modelu dokážeme spolehlivě interpretovat, a vytvářet nástroje, které usnadní analýzu, ladění a vyhodnocování budoucích systémů.

Autoři

Leo Gao, Achyuta Rajaram, Jacob Coxon, Soham V. Govande, Bowen Baker, Dan Mossing