Ugrás a fő tartalomra
OpenAI

2025. november 13.

KutatásokPublikáció

A neurális hálózatok megértése a ritkított belső kapcsolati mintázatok (sparse circuits) fogalmán keresztül

Úgy tanítottuk be a modelleket, hogy egyszerűbb, könnyebben követhető lépésekben gondolkodjanak, hogy jobban megérthessük a működésüket.

Betöltés…

​​A neurális hálózatok működtetik a mai legfejlettebb AI-rendszereket, de a működésüket továbbra is nehéz megérteni. Ezeket a modelleket nem egyértelmű, lépésről lépésre szóló utasítások formájában írjuk meg. Ehelyett belső kapcsolatok milliárdjainak módosításával, vagyis „súlyozás” alkalmazásával tanulnak, amíg el nem sajátítanak egy feladat tökéletes elvégzését. Mi tervezzük meg a betanítás szabályait, a végül kialakuló konkrét működést viszont nem, így a végeredmény egy sűrű, ember által nehezen áttekinthető, bonyolult kapcsolatháló. 

Értelmezhetőség a mi nézőpontunkból

Ahogy az AI-rendszerek egyre fejlettebbé válnak, és valós hatást gyakorolnak a tudományos, oktatási és egészségügyi döntésekre, elengedhetetlen a működésük megértése. Az értelmezhetőség olyan módszerekre utal, amelyek segítenek megérteni, hogy egy modell miért produkált egy adott kimenetet. Ezt többféleképpen is elérhetjük. 

Az következtetési modelleket például arra ösztönzik, hogy a végső válaszhoz vezető gondolatmenetet is elmagyarázzák. A gondolatmenet értelmezhetősége ezeket a magyarázatokat használja a modell működésének megfigyelésére. Ez közvetlen haszonnal jár: a jelenlegi következtetési modellek gondolatmenetében már most felismerhetők olyan jelek, amelyek problémás viselkedésekre – például megtévesztésre – utalhatnak. Ugyanakkor teljes mértékben erre a tulajdonságra támaszkodni törékeny stratégia, és idővel könnyen működésképtelenné válhat.

Ugyanakkor az ennek a munkának a középpontjában álló mechanizmus-alapú értelmezhetőség a modell számításainak teljes mértékben való visszafejtésére törekszik. Eddig kevésbé bizonyult azonnal hasznosnak, viszont elvben sokkal teljesebb magyarázatot adhat a modell működésére. Azáltal, hogy a modell viselkedését a legapróbb szinten próbálja megmagyarázni, a mechanizmus-alapú értelmezhetőség kevesebb feltételezéssel él, és nagyobb bizalmat nyújt. De az alacsony szintű részletektől az összetett viselkedések megmagyarázásáig vezető út sokkal hosszabb és nehezebb.

Az értelmezhetőség több fontos célt is szolgál, így lehetővé teszi például a modell jobb áttekintését, és korai figyelmeztető jeleket adhat a nem biztonságos, illetve a stratégiailag nem megfelelő viselkedéstől való eltérés esetén. Emellett jól kiegészíti más biztonsági erőfeszítéseinket, például a skálázható felügyeletet és a támadásszimulációt (red-teaming). 

Ebben a munkában megmutatjuk, hogy a modelleket sokszor olyan módon is taníthatók, ami megkönnyíti az értelmezhetőségüket. Erre a munkára a sűrű hálózatok utólagos elemzésének ígéretes kiegészítéseként tekintünk. 

Ez egy nagyon ambiciózus vállalkozás; hosszú út vezet a munkánktól a legerősebb modelljeink összetett viselkedésének teljes megértéséig. Mégis, egyszerű viselkedések esetén azt találjuk, hogy a módszerünkkel képzett ritkított modellek olyan kis, szétválasztott belső kapcsolati mintázatokat tartalmaznak, amelyek érthetőek és elegendőek a viselkedés végrehajtásához. Ez arra enged következtetni, hogy létezhet járható a nagyobb rendszerek betanításához vezető járható út, és ezeknek a mechanizmusait is képesek lehetünk megérteni.

Egy új megközelítés: ritkított modellek tanítása

A korábbi mechanikus értelmezhetőségi munkák sűrű, kusza hálózatokból indultak ki, és azokat próbálták kibogozni. Ezekben a hálózatokban minden egyes neuron több ezer másik neuronhoz kapcsolódik. A legtöbb neuron látszólag sok különböző feladatot lát el, ami szinte lehetetlenné teszi a működésük megértését. 

De mi lenne, ha eleve sokkal több neuront tartalmazó kibogozott neurális hálózatot tanítanánk be, de úgy, hogy minden neuron csak néhány tucat másikhoz kapcsolódjon? Akkor talán a kapott hálózat egyszerűbb és könnyebben érthető lenne. Ez a kutatásunk központi célkitűzése.

Ezt az elvet követve olyan nyelvi modelleket tanítottunk be, amelyek felépítése nagyon hasonló a jelenlegi modellekéhez, például a GPT‑2‑höz, egyetlen apró módosítással: a modell súlyozásának döntő többségét nullára kényszerítjük. Ez arra korlátozta a modellt a lehetséges neuronkapcsolatoknak csak nagyon kis részét használhatta. Ez egy olyan egyszerű módosítás, amely véleményünk szerint jelentős mértékben szétszálazza a modell belső számításait.

Sűrű és a ritkított belső kapcsolati mintázatokat összehasonlító diagram. A sűrű változat két sorban elhelyezett csomópontokat mutat, közöttük sok összekötő vonallal, míg a ritkított változat ugyanezt az elrendezést ábrázolja, de kevesebb, sokkal szelektívebb kapcsolattal.

A hagyományos sűrű neurális hálózatokban minden egyes neuron össze van kapcsolva a következő réteg minden egyes neuronjával. A ritka modellekben minden neuron csak a következő réteg néhány neuronjához kapcsolódik. Reméljük, hogy ez megkönnyíti a neuronok és a hálózat egészének megértését.

Az értelmezhetőség értékelése

Szeretnénk mérni, hogy a ritkított modellek számításai mennyire különülnek el egymástól. Különböző egyszerű modellviselkedéseket vizsgáltunk, és megnéztük, hogy el tudjuk-e különíteni a modell egyes viselkedésekért felelős, belső kapcsolati mintázatokat (circuit).

Kézzel összeállítottunk egy sor egyszerű algoritmikus feladatot. Mindegyik esetében a modellt a legkisebb olyan belső kapcsolati mintázatra csökkentettük, amely még képes elvégezni a feladatot, és megvizsgáltuk, hogy ez a mintázat mennyire egyszerű. (Részletekért lásd a tanulmányunkat(új ablakban nyílik meg).) Azt találtuk, hogy nagyobb és ritkítottabb modellek betanításával egyre jobb képességű modelleket tudtunk létrehozni, amelyekben a belső kapcsolati mintázatok egyre egyszerűbbé váltak.

Szórásdiagram, amely a vízszintes tengelyen a modell képességét (betanítás előtti veszteség), a függőleges tengelyen pedig az értelmezhetőséget (a megnyesett belső kapcsolati mintázat mérete) ábrázolja. A pontok különböző méretű és különböző mértékben ritkított modelleket jelölnek, ahol a szín az összes paramétert, a jelölőméret pedig a nem nulla paraméterek számát mutatja. A nyilak jelzik, hogy a jobb felső irány a „jobb” eredményt mutatja.

Az egyes modellek esetében az értelmezhetőséget a képességgel vetjük össze (itt a bal alsó sarok jelenti a jobb eredményt). Egy adott ritkított modellméret mellett a ritkaság növelése – vagyis több súlyozás nullára állítása – csökkenti a képességet, viszont növeli az értelmezhetőséget. A modellméret növelése kifelé tolja ezt a határt, ami arra utal, hogy lehetőség van olyan nagyobb modellek létrehozására, amelyeknek egyszerre jobbak a képességei, és jól értelmezhetők.

Hogy kézzelfogható legyen, vegyünk egy feladatot, ahol egy Python-kóddal betanított modellnek a megfelelő idézőjellel kell befejeznie egy karakterláncot. Pythonban a ‘hello’ szónak egyetlen idézőjellel, a “hello” szónak pedig dupla idézőjellel kell végződnie. A modell ezt úgy oldja meg, hogy „észben tartja”, milyen idézőjel nyitotta a karakterláncot, és ugyanazt teszi a végére is.

A legérthetőbb modelljeink látszólag olyan különálló belső kapcsolati mintázatokat tartalmaznak, amelyek pontosan ezt az algoritmust hajtják végre.

Egy ritkított transzformátor belső kapcsolati mintázatának példáját illusztráló ábra. Azt mutatja, hogyan aktiválódnak bizonyos neuronok és attention head-ek olyan bemeneti tokenekre, mint a „(” vagy a „circuits”, a jelölt útvonalak mutatják a pozitív és negatív súlyozásokat, a szorzásokat, a nemlineáris függvényeket, valamint az MLP- és attention-rétegek közötti kapcsolatokat, végül pedig azt, hogyan alakulnak a kimeneti tokenek valószínűségei.

Példa egy ritkított transzformátor belső kapcsolati mintázatára, amely eldönti, hogy a karakterláncot aposztróffal vagy idézőjellel kell lezárni. Ez a belső kapcsolati mintázat mindössze öt reziduális csatornát (függőleges szürke vonalak), a 0. rétegben található két MLP-neuront, valamint egy attention query–key csatornát, illetve egy 10. rétegben található értékcsatornát használ. A modell (1) az egyszerű idézőjeleket egy maradék csatornában, a kettős idézőjeleket pedig egy másikban kódolja; (2) egy MLP-réteg segítségével átalakítja ezt egy olyan csatornává, amely bármilyen idézőjelet észlel, és egy másik csatornává, amely az egyszerű és kettős idézőjelek között osztályoz; (3) egy figyelmi műveletet használ a közbeeső tokenek figyelmen kívül hagyására, az előző idézőjel megtalálására és típusának átmásolására a végső tokenbe; és (4) megjósolja a megfelelő záró idézőjelet.

A mi meghatározásunk szerint a fent bemutatott kapcsolatok önmagukban elegendők a feladat elvégzéséhez – ha a modell többi részét eltávolítjuk, ez a kis belső kapcsolati mintázat akkor is működik. Ezek szükségesek is, mert ha ezt a néhány élt töröljük, az a modell meghibásodását okozza.

Néhány bonyolultabb viselkedést is megvizsgáltunk. Az ezekhez a viselkedésekhez tartozó belső kapcsolati mintázatokat (például az alább látható változókötést) már nehezebb teljesen megmagyarázni. Még így is viszonylag egyszerű, részleges magyarázatokat tudunk adni, amelyek jól előrejelzik a modell viselkedését.

Diagram, amelyen egy példaként szolgáló ritkított transzformátor belső kapcsolati mintázata látható kiemelve a get_neighbors nevű Python-függvényen belül. A current = set() két hozzárendelése dobozban van, a színes nyilak pedig azt mutatják, hogy mely (Q/K/V indexekkel jelölt) attention head-ek aktiválódnak, hogy az current változó minden egyes előfordulását összekapcsolják a ciklusban való felhasználásával.

Egy újabb belső kapcsolati mintázati példa, kevesebb részlettel. A current nevű változó típusának meghatározásához az egyik figyelmi művelet a változó nevét definiáláskor a set() tokenbe másolja, egy másik későbbi művelet pedig a típust a set() tokenből átmásolja a változó későbbi felhasználásába, így a modell következtetni tud a megfelelő következő tokenre.

Az előttünk álló út

Ez a munka egy korai lépés egy nagyobb cél felé: egyszerűbbé szeretnénk tenni a modellszámítások megértését. De még mindig hosszú út áll előttünk. A ritkított modelljeink jóval kisebbek, mint a csúcskategóriás modellek, és a belső számításaik nagy részére továbbra sincs magyarázat. 

A következő lépésként szeretnénk ezeket a módszereket nagyobb modellekre is kiterjeszteni, és a működésük még több részletét megmagyarázni. Ha sikerül felsorolni azokat a belső kapcsolati mintázatokat, amelyek a fejlettebb, ritkított modellek összetettebb következtetései mögött állnak, akkor olyan értelmezést alakíthatunk ki, amely segít pontosabban irányítani a csúcskategóriás modellek vizsgálatát.

A ritkított modellek betanításának hatékonysági problémáit kétféle módon látjuk kiküszöbölhetőnek. Az egyik mód az, hogy a meglévő, sűrű modellekből nyerjük ki a ritkított belső kapcsolati mintázatokat, ahelyett hogy a ritkított modelleket teljesen a nulláról tanítanánk be. A sűrű modellek alapvetően hatékonyabban telepíthetők, mint a ritkított modellek. A másik mód, hogy hatékonyabb módszereket dolgozunk ki az értelmezhetőségre optimalizált modellek betanítására, ami könnyebben alkalmazható lehet éles környezetben.

Fontos megjegyezni, hogy az itt bemutatott eredmények nem garantálják, hogy ez a megközelítés a jóval erősebb rendszerekre is kiterjeszthető lesz, de a korai jelek biztatóak. A célunk fokozatosan bővíteni, hogy a modell mekkora részét tudjuk megbízhatóan értelmezni, és olyan eszközöket hozzunk létre, amelyekkel a jövőbeli rendszereket könnyebb lesz elemezni, hibakeresni és értékelni.

Szerzők

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