Pochopenie neurálnych sietí prostredníctvom riedkych obvodov
Vytrénovali sme modely, aby premýšľali v jednoduchších a lepšie sledovateľných krokoch – aby sme mohli lepšie pochopiť, ako fungujú.
Neurálne siete poháňajú dnešné najschopnejšie systémy umelej inteligencie, ale stále sú ťažko pochopiteľné. Tieto modely nepíšeme s explicitnými a podrobnými pokynmi. Namiesto toho sa učia tým, že upravujú miliardy vnútorných prepojení alebo „váh“, až kým úlohu nezvládnu. Navrhujeme pravidlá tréningu, ale nie konkrétne správanie, ktoré sa objavuje, a výsledkom je hustá sieť prepojení, ktorú žiadny človek nedokáže ľahko dešifrovať.
Systémy umelej inteligencie sú čoraz schopnejšie a majú reálny vplyv na rozhodnutia vo vede, vzdelávaní a zdravotníctve, preto je nevyhnutné pochopiť, ako fungujú. Interpretovateľnosť odkazuje na metódy, ktoré nám pomáhajú pochopiť, prečo model vytvoril konkrétny výstup. Existuje mnoho spôsobov, ako by sme to mohli dosiahnuť.
Napríklad modely myslenia sú motivované vysvetľovať svoju prácu na ceste k finálnej odpovedi. Interpretovateľnosť s reťazením myšlienok využíva tieto vysvetlenia na monitorovanie správania modelu. Tento proces má bezprostredné využitie: reťazce myšlienok súčasných modelov uvažovania sa zdajú byť informatívne, pokiaľ ide o znepokojujúce správanie, ako napríklad klamstvo. Úplne sa spoliehať na túto vlastnosť je však neistá stratégia a nemusí sa časom vyplatiť.
Na druhej strane mechanistická interpretovateľnosť, ktorá je hlavným predmetom tejto práce, sa snaží úplne spätne analyzovať výpočty modelu. Doteraz mala menej bezprostredné využitie, ale v zásade by mohla poskytnúť úplnejšie vysvetlenie správania modelu. Mechanistická interpretácia, ktorá sa snaží vysvetliť správanie modelu na čo najdetailnejšej úrovni, môže obsahovať menej predpokladov a poskytnúť nám väčšiu istotu. Celý proces od detailov na nízkej úrovni až k vysvetleniam komplexného správania je však oveľa dlhší a náročnejší.
Podpora interpretovateľnosti slúži niekoľkým kľúčovým cieľom, napríklad umožňuje lepší dohľad a poskytuje včasné varovné signály týkajúce sa nebezpečného alebo strategicky nesprávneho správania. Dopĺňa aj naše ďalšie bezpečnostné opatrenia, ako je škálovateľný dohľad, tréning zameraný na boj proti hrozbám a red-teaming.
V tejto práci ukazujeme, že modely môžeme často trénovať spôsobom, ktorý uľahčuje ich interpretáciu. Našu prácu vnímame ako sľubný doplnok k post-hoc analýze hustých sietí.
Je to veľmi ambiciózna stávka; od našej práce k úplnému pochopeniu komplexného správania našich najvýkonnejších modelov vedie dlhá cesta. Napriek tomu sme zistili, že pri jednoduchom správaní obsahujú riedke modely vytrénované našou metódou malé, oddelené obvody, ktoré sú zrozumiteľné a postačujúce na vykonávanie tohto správania. To naznačuje, že môže existovať schodná cesta k tréningu väčších systémov, ktorých mechanizmy dokážeme pochopiť.
Predchádzajúce práce v oblasti mechanistickej interpretovateľnosti začínali od hustých, zamotaných sietí a snažili sa ich rozpliesť. V týchto sieťach je každý jednotlivý neurón prepojený s tisíckami ďalších neurónov. Zdá sa, že väčšina neurónov vykonáva mnoho rozličných funkcií, v dôsledku čoho sú zdanlivo nepochopiteľné.
Ale čo keby sme trénovali rozpletené neurálne siete s oveľa väčším počtom neurónov, kde by však každý neurón mal len niekoľko desiatok prepojení? Potom možno bude výsledná sieť jednoduchšia a ľahšie pochopiteľná. Toto je ústredná výskumná hypotéza našej práce.
S ohľadom na tento princíp sme trénovali jazykové modely s architektúrou veľmi podobnou existujúcim jazykovým modelom, ako je GPT‑2, s jednou malou úpravou: pri drvivej väčšine váh modelu vynucujeme nulovú hodnotu. Toto obmedzilo model tak, aby používal iba veľmi málo možných prepojení medzi svojimi neurónmi. Toto je jednoduchá zmena, o ktorej tvrdíme, že významným spôsobom rozuzlí vnútorné výpočty modelu.
V normálnych hustých neurálnych sieťach je každý neurón prepojený s každým neurónom v nasledujúcej vrstve. V našich riedkych modeloch sa každý neurón pripája iba k niekoľkým neurónom v ďalšej vrstve. Dúfame, že to uľahčí pochopenie neurónov a celej siete.
Chceme zmerať, do akej miery sú výpočty našich riedkych modelov rozuzlené. Uvažovali sme o rôznych jednoduchých typoch správania modelu a overovali sme, či môžeme izolovať časti modelu zodpovedné za jednotlivé typy správania, ktoré nazývame obvody.
Ručne sme zostavili súbor jednoduchých algoritmických úloh. Pre každý z nich sme model zredukovali na najmenší obvod, ktorý ešte dokáže vykonávať úlohu, a preskúmali sme, aký jednoduchý je tento obvod. (Podrobnosti nájdete v našom článku(otvorí sa v novom okne).) Zistili sme, že trénovaním väčších a redších modelov dokážeme vytvárať čoraz schopnejšie modely s čoraz jednoduchšími obvodmi.
Zobrazujeme interpretovateľnosť v porovnaní so schopnosťou naprieč modelmi (lepšia je ľavá dolná časť). Pri fixnej veľkosti riedkeho modelu zvýšenie riedkosti – nastavenie väčšieho počtu váh na nulu – znižuje schopnosť, ale zvyšuje interpretovateľnosť. Zväčšovanie veľkosti modelu posúva túto hranicu smerom von, čo naznačuje, že môžeme vytvoriť väčšie modely, ktoré sú schopné a interpretovateľné.
Aby sme to konkretizovali: predstavte si úlohu, pri ktorej model vyškolený na kóde Python musí uzavrieť reťazec správnym typom úvodzoviek. V jazyku Python musí 'hello' končiť jednoduchou úvodzovkou a "hello" musí končiť dvojitou úvodzovkou. Model môže tento problém vyriešiť tak, že si zapamätá, ktorý typ úvodzoviek reťazec otvára, a zreprodukuje ho na konci.
Zdá sa, že naše najinterpretovateľnejšie modely obsahujú oddelené obvody, ktoré implementujú presne takýto algoritmus.

Príklad obvodu v riedkom transformátore, ktorý predpovedá, či sa má reťazec končiť jednoduchou alebo dvojitou úvodzovkou. Tento obvod používa len päť reziduálnych kanálov (zvislé sivé čiary), dva neuróny MLP vo vrstve 0 a jeden kanál pozornosti typu dopyt-kľúč a jeden kanál hodnoty vo vrstve 10. Model (1) kóduje jednoduché úvodzovky v jednom reziduálnom kanáli a dvojité úvodzovky v inom; (2) používa vrstvu MLP na konverziu na jeden kanál, ktorý deteguje všetky úvodzovky, a druhý, ktorý klasifikuje medzi jednoduchými a dvojitými úvodzovkami; (3) používa operáciu pozornosti na ignorovanie zasahujúcich tokenov, nájdenie predchádzajúcej úvodzovky a skopírovanie jej typu na konečný token; a (4) predpovedá zodpovedajúcu koncovú úvodzovku.
V našej definícii sú presne uvedené pripojenia dostatočné na vykonanie úlohy – ak odstránime zvyšok modelu, tento malý obvod stále funguje. Sú tiež nevyhnutné – odstránenie niekoľkých takýchto okrajov spôsobí zlyhanie modelu.
Pozreli sme sa aj na niektoré zložitejšie typy správania. Naše obvody pre tieto typy správania (napríklad variabilná väzba znázornená nižšie) je ťažšie úplne vysvetliť. Napriek tomu môžeme dosiahnuť relatívne jednoduché čiastkové vysvetlenia, ktoré sú prediktívne vzhľadom na správanie modelu.
Ďalší príklad obvodu v menších detailoch. Na určenie typu premennej s názvom current jedna operácia pozornosti skopíruje názov premennej do tokenu set() pri jej definovaní a ďalšia operácia neskôr skopíruje typ z tokenu set() do následného použitia premennej, čo umožňuje modelu odvodiť správny nasledujúci token.
Táto práca je počiatočným krokom k väčšiemu cieľu: uľahčiť pochopenie výpočtov modelov. Stále nás však ešte čaká dlhá cesta. Naše riedke modely sú oveľa menšie ako špičkové modely a veľké časti ich výpočtu stále nie sú interpretované.
Ďalej dúfame, že rozšírime naše techniky na väčšie modely a podrobnejšie vysvetlíme správanie modelov. Vymenovaním motívov obvodov, ktoré sú základom zložitejšieho uvažovania v schopných riedkych modeloch, by sme mohli dospieť k porozumeniu, ktoré nám pomôže lepšie zacieliť skúmanie špičkových modelov.
Aby sme prekonali neefektívnosť tréningu riedkych modelov, vidíme dve možnosti ďalšieho vývoja. Jednou z nich je extrahovať riedke obvody z existujúcich hustých modelov namiesto trénovania riedkych modelov od začiatku. Husté modely majú zásadne efektívnejšie nasadzovanie ako riedke modely. Druhou možnosťou je vyvinúť účinnejšie techniky na trénovanie modelov na interpretovateľnosť, čo by sa mohlo ľahšie zaviesť do produkcie.
Upozorňujeme, že naše zistenia tu nie sú zárukou, že sa tento prístup rozšíri na schopnejšie systémy, ale tieto predbežné výsledky sú sľubné. Naším cieľom je postupne rozširovať, do akej miery dokážeme model spoľahlivo interpretovať, a vytvoriť nástroje, ktoré uľahčia analýzu, ladenie a hodnotenie budúcich systémov.
Autori
Leo Gao, Achyuta Rajaram, Jacob Coxon, Soham V. Govande, Bowen Baker a Dan Mossing


