Preskočite na glavni sadržaj
OpenAI

13. studenoga 2025.

IstraživanjePublikacija

Razumijevanje neuronskih mreža kroz rijetke sklopove

Modele smo uvježbali da razmišljaju u jednostavnijim koracima lakšima za praćenje – tako da bismo bolje razumjeli kako rade.

Učitavanje…

​​Neuronske mreže pokreću današnje najnaprednije AI sustave, ali i dalje ih je teško razumjeti. Te modele ne pišemo pomoću eksplicitnih uputa korak-po-korak. Umjesto toga, oni uče prilagođavajući milijarde internih veza, odnosno „težina”, sve dok ne ovladaju zadatkom. Mi određujemo pravila treniranja, ali ne i specifična ponašanja koja iz tog procesa nastanu – a rezultat je gust splet veza koji nijedan čovjek ne može lako protumačiti. 

Kako promatramo interpretabilnost

Kako sustavi umjetne inteligencije postaju sve sposobniji i imaju stvaran utjecaj na odluke u znanosti, obrazovanju i zdravstvu, razumijevanje njihova djelovanja postaje ključno. Interpretabilnost se odnosi na metode koje nam pomažu razumjeti zašto je model proizveo određeni izlaz. Postoji mnogo načina na koje bismo to mogli postići. 

Na primjer, modeli za zaključivanje potiču se da objašnjavaju svoj rad na putu do konačnog odgovora. Interpretabilnost metode Chain-of-Thought (lančanog razmišljanja) koristi ta objašnjenja kako bi se pratilo ponašanje modela. To je odmah korisno: trenutačni modeli za zaključivanje pokazuju da je njihov Chain-of-Though informativan u pogledu zabrinjavajućih ponašanja poput obmane. Ipak, potpuno oslanjanje na tu značajku krhka je strategija i moglo bi s vremenom prestati funkcionirati.

S druge strane, mehanistička interpretabilnost koja je u središtu ovog rada, nastoji u potpunosti obrnuto inženjerski razotkriti proračune modela. Dosad je bila manje odmah korisna, ali bi načelno mogla ponuditi potpunije objašnjenje ponašanja modela. Budući da nastoji objasniti ponašanje modela na najuvjerljivijoj, najdetaljnijoj razini, mehanistička interpretabilnost se može oslanjati na manje pretpostavki i pružiti nam veću sigurnost. No put od niskorazinskih detalja do objašnjenja složenih ponašanja mnogo je duži i zahtjevniji.

Interpretabilnost podupire nekoliko ključnih ciljeva – primjerice, omogućuje bolje nadziranje i pruža rane znakove nesigurnog ili strateški neprilagođenog ponašanja. Također nadopunjuje naše druge sigurnosne pristupe, poput skalabilnog nadzora, adversarijalnog treniranja i red-teaminga. 

U ovom radu pokazujemo da modele često možemo uvježbati na načine koji ih čine lakšima za interpretaciju. Svoj rad vidimo kao obećavajuću nadopunu post-hoc analizi gustih mreža. 

Ovo je vrlo ambiciozna pretpostavka – dug je put od našeg rada do potpunog razumijevanja složenih ponašanja naših najsnažnijih modela. Ipak, za jednostavna ponašanja otkrivamo da rijetki modeli trenirani našom metodom sadrže male, razdvojene sklopove koji su istovremeno razumljivi i dostatni za izvođenje tog ponašanja. To upućuje na mogućnost ostvarivog puta prema treniranju većih sustava čije mehanizme možemo razumjeti.

Novi pristup: učenje rijetkih modela

Dosadašnji radovi na mehanističkoj interpretabilnosti polazili su od gustih, zapetljanih mreža i pokušavali ih razmrsiti. U takvim mrežama svaki pojedini neuron povezan je s tisućama drugih neurona. Većina neurona kao da obavlja više različitih funkcija istodobno, što njihovo razumijevanje čini gotovo nemogućim. 

Ali što ako bismo trenirali nerazmršene neuronske mreže, s mnogo više neurona, ali tako da svaki neuron ima samo nekoliko desetaka veza? Tad bi možda nastala mreža bila jednostavnija i lakša za razumjeti. To je središnja istraživačka pretpostavka našeg rada.

Imajući na umu ovo načelo, obučili smo jezične modele s arhitekturom vrlo sličnom postojećim jezičnim modelima poput GPT‑2, uz jednu malu izmjenu: prisilili smo golemi dio težina modela da budu nule. Time je model bio ograničen da koristi samo vrlo mali broj mogućih veza između svojih neurona. To je jednostavna izmjena za koju smatramo da značajno raščlanjuje interne proračune modela.

Dijagram koji uspoređuje guste i rijetke sklopove. Gusta verzija prikazuje dva reda čvorova s mnogo međusobnih veza, dok rijetka verzija prikazuje isti raspored, ali s manjim brojem odabranih veza.

U uobičajenim gustim neuronskim mrežama svaki je neuron povezan sa svakim neuronom u sljedećem sloju. U našim rijetkim modelima svaki je neuron povezan samo s nekolicinom neurona u sljedećem sloju. Nadamo se da će to neurone i mrežu u cjelini učiniti lakšima za razumijevanje.

Procjena interpretabilnosti

Želimo izmjeriti u kojoj su mjeri proračuni naših rijetkih modela raščlanjeni. Razmatrali smo različita jednostavna ponašanja modela i provjeravali možemo li izdvojiti dijelove modela odgovorne za svako od tih ponašanja - koje nazivamo sklopovima.

Ručno smo odabrali niz jednostavnih algoritamskih zadataka. Za svaki od njih sveli smo model na najmanji sklop koji i dalje može izvršiti zadatak te analizirali koliko je taj sklop jednostavan. (Za detalje, pogledajte naš rad(otvara se u novom prozoru).) Otkrili smo da treniranjem većih i rjeđih modela možemo dobiti sve sposobnije modele sa sve jednostavnijim sklopovima.

Raspršeni grafikon prikazuje sposobnost modela (pretraining loss) na x-osi u odnosu na interpretabilnost (veličinu obrezanog sklopa) na y-osi. Točke predstavljaju modele različitih veličina i razina rijetkosti, pri čemu boja označava ukupan broj parametara, a veličina markera broj aktivnih parametara. Strelice označavaju smjer prema gornjem desnom kutu kao „bolje”.

Na grafikonu prikazujemo interpretabilnost u odnosu na sposobnost modela (donji lijevi kut je bolji). Za fiksnu veličinu rijetkog modela, povećanje rijetkosti – postavljanje većeg broja težina na nulu – smanjuje sposobnost, ali povećava interpretabilnost. Povećavanje veličine modela pomiče ovu granicu prema van, što upućuje na to da možemo izgraditi veće modele koji su istodobno i sposobni i interpretabilni.

Kako bismo to konkretizirali, razmotrimo zadatak u kojem model uvježban na kodu Python mora dovršiti niz ispravnom vrstom navodnika. U Pythonu se niz ‘hello’ mora završiti jednostrukim navodnikom, a “hello” dvostrukim navodnikom. Model to može riješiti tako da zapamti kojom je vrstom navodnika niz započeo – i istu tu vrstu ponovi na kraju.

Čini se da naši najinterpretabilniji modeli sadrže raščlanjene sklopove koji upravo taj algoritam provode točno onako kako je zamišljeno.

Dijagram prikazuje primjer sklopa u rijetkom transformeru. Prikazuje kako se određeni neuroni i glave pozornosti aktiviraju kao odgovor na ulazne tokene poput „(” i „circuits”, s označenim putanjama pozitivnih i negativnih težina, umnožavanja, nelinearnosti te veza između MLP slojeva i slojeva pozornosti, što u konačnici vodi do vjerojatnosti izlaznog tokena.

Primjer sklopa u rijetkom transformeru koji predviđa treba li niz završiti jednostrukim ili dvostrukim navodnikom. Ovaj sklop koristi samo pet rezidualnih kanala (vertikalne sive linije), dva neurona u MLP sloju 0 te jedan query–key kanal pozornosti i jedan value kanal u sloju 10. Model (1) kodira jednostruke navodnike u jedan rezidualni kanal, a dvostruke u drugi; (2) slojem MLP pretvara to u jedan kanal koji detektira bilo koji navodnik i drugi koji klasificira između jednostrukih i dvostrukih navodnika; (3) operacijom pozornosti zanemaruje međusobno umetnute tokene, pronalazi prethodni navodnik i prenosi njegov tip do završnog tokena; te (4) predviđa odgovarajući završni navodnik.

Prema našoj definiciji, upravo su prikazane veze dovoljne za izvođenje zadatka – ako uklonimo ostatak modela, ovaj mali sklop i dalje radi. One su ujedno i nužne – brisanje tih nekoliko bridova dovodi do toga da model zakaže.

Također smo proučavali i neka složenija ponašanja. Naše sklopove za ta ponašanja (primjerice vezivanje varijabli, prikazano dolje) teže je u potpunosti objasniti. Čak i tada možemo postići relativno jednostavna djelomična objašnjenja koja su prediktivna za ponašanje modela.

Dijagram prikazuje istaknuti primjer sklopa u rijetkom transformeru unutar funkcije Python get_neighbors. Dvije dodjele current = set() uokvirene su kvadratićima, a obojene strelice pokazuju koje se glave pozornosti (označene indeksima Q/K/V) aktiviraju kako bi povezale svaku pojavu varijable current s njezinim korištenjem u petlji.

Još jedan primjer sklopa, manje detaljan. Kako bi odredio tip varijable nazvane current, jedna operacija pozornosti kopira naziv varijable u token set() kad se ona definira, a druga operacija kasnije kopira tip iz tokena set() u kasniju upotrebu te varijable, što modelu omogućuje da zaključi ispravan sljedeći token.

Put pred nama

Ovaj rad predstavlja rani korak prema većem cilju: olakšati razumijevanje izračuna modela. No pred nama je još dug put. Naši su rijetki modeli znatno manji od vodećih modela, a veliki dijelovi njihovih proračuna i dalje ostaju neinterpretirani. 

Kad je u pitanju sljedeći korak, nadamo se skalirati naše tehnike na veće modele i objasniti veći dio njihova ponašanja. Nabrajanjem sklopovnih motiva koji leže u osnovi složenijeg zaključivanja u sposobnim rijetkim modelima mogli bismo razviti razumijevanje koje će nam pomoći preciznije usmjeriti istraživanja vodećih modela.

Kako bismo prevladali neučinkovitost treniranja rijetkih modela, vidimo dva puta naprijed. Jedan je izdvajanje rijetkih sklopova iz postojećih gustih modela, umjesto treniranja rijetkih modela od nule. Gusti modeli su u osnovi učinkovitiji za primjenu nego rijetki modeli. Drugi put je razvoj učinkovitijih tehnika za treniranje modela radi interpretabilnosti, što bi moglo biti lakše primijeniti u produkciji.

Napominjemo da naši nalazi ne jamče da će se ovaj pristup proširiti na sposobnije sustave, ali ovi rani rezultati su obećavajući. Naš je cilj postupno povećavati dio modela koji možemo pouzdano interpretirati te graditi alate koji će buduće sustave učiniti lakšima za analiziranje, otklanjanje pogrešaka i vrednovanje.

Autori

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