Preskočite na glavni sadržaj
OpenAI

13. novembar 2025.

IstraživanjePublikacija

Razumijevanje neuronskih mreža kroz rijetke sklopove

Obučili smo modele da razmislite u jednostavnijim, sljedivijim koracima - kako bismo mogli bolje razumjeti kako funkcionišu.

Učitavanje…

​​Neuronske mreže pokreću današnje najsposobnije UI sisteme, ali ih je i dalje teško razumjeti. Ove modele ne pišemo eksplicitnim, detaljnim uputama. Umjesto toga, uče prilagođavanjem milijardi unutrašnjih veza, ili “pondera”, dok ne savladaju zadatak. Mi dizajniramo pravila obuke, ali ne i specifična ponašanja koja se pojavljuju, a rezultat je gusta mreža veza koje nijedan čovjek ne može lako dešifrirati. 

Kako mi vidimo interpretabilnost

Kako sistemi umjetne inteligencije postaju sposobniji i imaju stvarni uticaj na odluke u nauci, obrazovanju i zdravstvu, razumijevanje njihovog rada je od suštinskog značaja. Interpretabilnost se odnosi na metode koje nam pomažu da razumijemo zašto je model proizveo određeni izlaz. Postoji mnogo načina na koje bismo ovo mogli postići. 

Na primjer, modeli rezonovanja su potaknuti da objasne svoj rad na putu do konačnog odgovora. Lanac misli koristi ova objašnjenja za praćenje ponašanja modela. Ovo je odmah korisno: čini se da su lanci mišljenja trenutnih modela zaključivanja informativni u vezi s ponašanjima kao što je obmana. Međutim, potpuno oslanjanje na ovo svojstvo je krhka strategija, i to se s vremenom može raspasti.

S druge strane, mehanistička interpretabilnost, koja je u fokusu ovog rada, nastoji potpuno obrnuti inženjering proračuna modela. Do sada nije bilo odmah korisno, ali bi u principu moglo ponuditi potpunije objašnjenje ponašanja modela. Nastojeći objasniti ponašanje modela na najdetaljnijem nivou, mehanistička interpretacija može napraviti manje pretpostavki i dati nam više povjerenja. Ali put od detalja niskog nivoa do objašnjenja složenih ponašanja je mnogo duži i teži.

Interpretabilnost podržava nekoliko ključnih ciljeva, na primjer, omogućava bolji nadzor i pruža rane znakove upozorenja o nesigurnom ili strateški neusklađenom ponašanju. Također nadopunjuje naše druge sigurnosne napore, kao što su skalabilni nadzor, obuka za suprotstavljanje i testiranje crvenim timom. 

U ovom radu pokazujemo da često možemo obučavati modele na načine koji ih čine lakšim za tumačenje. Naš rad vidimo kao obećavajući dodatak post-hoc analizi gustih mreža. 

Ovo je vrlo ambiciozna opklada; dug je put od našeg rada do potpunog razumijevanja složenih ponašanja naših najmoćnijih modela. Ipak, za jednostavna ponašanja otkrivamo da rijetki modeli obučeni našom metodom sadrže male, razdvojene sklopove koji su i razumljivi i dovoljni za obavljanje ponašanja. Ovo sugeriše da može postojati izvediv put ka obuci većih sistema čije mehanizme možemo razumjeti.

Novi pristup: učenje oskudnih modela

Prethodni rad na mehanističkoj interpretabilnosti započeo je s gustim, zamršenim mrežama i pokušao ih razmrsiti. U tim mrežama, svaki pojedinačni neuron povezan je s tisućama drugih neurona. Čini se da većina neurona obavlja mnoge različite funkcije, što ih čini naizgled nemogućim za razumijevanje. 

Ali šta ako bismo obučili nezapetljane neuronske mreže, s mnogo više neurona, ali gdje svaki neuron ima samo nekoliko desetaka veza? Tada će možda rezultirajuća mreža biti jednostavnija i lakša za razumijevanje. Ovo je centralna istraživačka hipoteza našeg rada.

Imajući na umu ovaj princip, obučili smo jezičke modele s arhitekturom vrlo sličnom postojećim jezičkim modelima poput GPT‑2, uz jednu malu modifikaciju: prisiljavamo veliku većinu težina modela da budu nule. Ovo je ograničilo model da koristi samo vrlo mali broj mogućih veza između svojih neurona. Ovo je jednostavna promjena za koju tvrdimo da značajno razdvaja unutrašnje proračune modela.

Dijagram koji upoređuje guste i rijetke strujne krugove. Gusta verzija prikazuje dva reda čvorova s mnogo međusobno povezujućih linija, dok rijetka verzija prikazuje isti raspored, ali s manje, selektivnijih veza.

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

Procjena mogućnosti tumačenja

Želimo izmjeriti u kojoj mjeri su proračuni naših rijetkih modela razdvojeni. Razmotrili smo različita jednostavna ponašanja modela i provjerili možemo li izolirati dijelove modela odgovorne za svako ponašanje - što nazivamo sklopovima.

Ručno smo odabrali niz jednostavnih algoritamskih zadataka. Za svaki smo orezali model do najmanjeg sklopa koji još uvijek može obavljati zadatak i ispitali koliko je taj sklop jednostavan. (Za detalje, pogledajte naš rad(otvara se u novom prozoru).) Otkrili smo da obukom većih i rjeđih modela možemo proizvesti sve sposobnije modele sa sve jednostavnijim sklopovima.

Raspršeni grafikon koji prikazuje sposobnost modela (gubitak prije treninga) na x-osi u odnosu na interpretabilnost (veličina orezanog sklopa) na y-osi. Točke predstavljaju modele različitih veličina i nivoa rijetkosti, pri čemu boja označava ukupne parametre, a veličina markera ukazuje na broj parametara koji nisu nula. Strelice označavaju smjer prema gore-desno kao "bolji".

Prikazujemo interpretabilnost u odnosu na sposobnost kroz modele (donji lijevi ugao je bolji). Za fiksnu veličinu rijetkog modela, povećanje rijetkosti—postavljanje više težina na nulu—smanjuje mogućnosti, ali povećava interpretabilnost. Povećanje veličine modela pomiče ovu granicu prema van, sugerirajući da možemo izgraditi veće modele koji su i sposobni i razumljivi.

Da bismo ovo učinili konkretnim, razmislite o zadatku u kojem model obučen na Python kodu mora dovršiti niz s ispravnom vrstom navodnika. U Pythonu, 'hello' mora završiti jednostrukim navodnikom, a “hello” mora završiti dvostrukim navodnikom. Model može riješiti ovo tako što će zapamtiti koji tip navodnika je otvorio niz i reproducirati ga na kraju.

Naši najinterpretabilniji modeli čini se da sadrže razdvojene sklopove koji implementiraju upravo taj algoritam.

Dijagram koji prikazuje primjer sklopa u rijetkom transformatoru. Pokazuje kako se specifični neuroni i glave pažnje aktiviraju kao odgovor na ulazne tokene poput “(” i “sklopovi”, s označenim putevima za pozitivne i negativne težine, množenja, nelinearnosti i veze između MLP i slojeva pažnje, što kulminira vjerojatnostima izlaznog tokena.

Primjer sklopa u rijetkom transformatoru koji predviđa hoće li se niz završiti jednostrukim ili dvostrukim navodnikom. Ovo kolo koristi samo pet rezidualnih kanala (vertikalne sive linije), dva MLP neurona u sloju 0 i jedan kanal za upit-ključ pažnje i jedan kanal vrijednosti u sloju 10. Model (1) kodira pojedinačne navodnike u jednom rezidualnom kanalu i dvostruke navodnike u drugom; (2) koristi MLP sloj za pretvaranje ovoga u jedan kanal koji detektuje bilo koji navodnik i drugi koji klasifikuje između pojedinačnih i dvostrukih navodnika; (3) koristi operaciju pažnje da ignoriše intervenišuće tokene, pronađe prethodni navodnik i kopira njegovu vrstu na završni token; i (4) predviđa odgovarajući završni navodnik.

U našoj definiciji, tačne veze prikazane iznad dovoljne su za izvršenje zadatka—ako uklonimo ostatak modela, ovaj mali sklop i dalje funkcioniše. Oni su također neophodni – izbrisivanje ovih nekoliko ivica uzrokuje neuspjeh modela.

Takođe smo razmotrili neka složenija ponašanja. Naši krugovi za ova ponašanja (na primjer, varijabilno vezivanje prikazano u nastavku) teže su za potpuno objašnjenje. Čak i tada, još uvijek možemo postići relativno jednostavna djelomična objašnjenja koja su prediktivna za ponašanje modela.

Dijagram koji prikazuje primjer kruga rijetkog transformatora unutar Python funkcije get_neighbors. Dva dodjeljivanja na current = set() su u kutiji, s obojenim strelicama koje pokazuju koje glave pažnje (označene Q/K/V indeksima) se aktiviraju kako bi povezale se svaku pojavu varijable current s njenom upotrebom u petlji.

Još jedan primjer strujnog kruga, s manje detalja. Da bi se odredio tip varijable nazvane current, jedna operacija pažnje kopira naziv varijable u set() token kada je definisana, a druga kasnija operacija kopira tip iz set() tokena u kasniju upotrebu varijable, omogućavajući modelu da zaključi ispravan sljedeći token.

Put ispred nas

Ovaj rad je rani korak ka većem cilju: olakšavanje razumijevanja proračuna modela. Ali, pred nama je još dug Go. Naši rijetki modeli su mnogo manji od naprednih modela, a veliki dijelovi njihovog računanja ostaju neinterpretirani. 

Nadalje, nadamo se da ćemo proširiti naše tehnike na veće modele i objasniti više ponašanja modela. Nabrajanjem motiva kola koji su u osnovi složenijeg zaključivanja u sposobnim rijetkim modelima, mogli bismo razviti razumijevanje koje nam pomaže da bolje ciljamo istraživanja naprednih modela.

Da bismo prevladali neefikasnost obuke rijetkih modela, vidimo dva puta naprijed. Jedan pristup je ekstraktovanje rijetkih sklopova iz postojećih gustih modela, umjesto obuke rijetkih modela od nule. Gusti modeli su u osnovi učinkovitiji za implementaciju od rijetkih modela. Drugi put je razviti efikasnije tehnike za obučavanje modela za interpretabilnost, što bi moglo biti lakše staviti u proizvodnju.

Imajte na umu da naši nalazi ovdje nisu garancija da će se ovaj pristup proširiti na sposobnije sisteme, ali ovi rani rezultati su obećavajući. Naš cilj je postepeno proširiti koliko modela možemo pouzdano protumačiti i izgraditi alate koji će olakšati analizu, otkloniti neispravnosti i procjenu budućih sistema.

Autori

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