Mesterséges intelligencia

Hogyan szabadíthatjuk fel a cenzúrázott nyelvi modelleket abliteration segítségével?

Az utóbbi években a mesterséges intelligenciával működő nyelvi modellek, például a Llama harmadik generációja, egyre kifinomultabbá váltak az utasítások megértésében és követésében. Ezeket a modelleket azonban erősen cenzúrázzák, hogy elkerüljék a káros vagy etikailag problematikus válaszokat. A gyakori „As an AI assistant, I cannot help you” típusú elutasítási reakciók ugyan fontos biztonsági elemek, de jelentősen korlátozzák a modell rugalmasságát és alkalmazhatóságát. Ebben a cikkben egy rendkívül érdekes módszert mutatunk be, az úgynevezett abliteration technikát, amely lehetővé teszi bármely nyelvi modell cenzúrájának eltávolítását anélkül, hogy újra kellene tanítani a modellt.

Mi az az abliteration és hogyan működik?

Az abliteration egy olyan beavatkozás, amely a modell elutasító viselkedésének idegi nyomát, az úgynevezett „refusal direction”-t célozza meg. Egy friss kutatás szerint a nyelvi modellekben az utasítások elutasítása egy speciális irány a modell belső aktivációs térben (residual stream) jelenik meg. Ha ezt az irányt eltávolítjuk, a modell elveszíti a képességét arra, hogy az adott utasítást elutasítsa – vagyis megszűnik a cenzúrázó mechanizmus.

Technikailag a Llama-szerű modellek három fő ponton tárolják az aktivációkat: a blokkok elején („pre”), az attention és a többrétegű perceptron (MLP) rétegek között („mid”), valamint az MLP után („post”). Az abliteration során először adatokat gyűjtünk: a modellt különféle ártalmas és ártalmatlan utasításokon futtatjuk, majd kiszámoljuk az aktivációk átlagos különbségét, amely megmutatja az elutasítás irányát. Ezt követően ezt az irányt vagy ideiglenesen eltávolítjuk az inferencia során, vagy tartósan, súlyok ortogonalizálásával módosítjuk a modell paramétereit.

Az abliteration gyakorlati megvalósítása

Az eljárás megvalósításához olyan eszközöket használunk, mint a TransformerLens könyvtár, amely kifejezetten a modellek mechanisztikus értelmezésére és beavatkozására lett fejlesztve. A folyamat során két adatbázist használunk: egy ártalmatlan és egy ártalmas utasításokat tartalmazót. Ezeket előkészítjük és tokenizáljuk, majd a modell aktivációit gyűjtjük mindkét csoport esetén.

Ezek után kiszámoljuk a „refusal direction”-t minden rétegben, és kiválasztjuk a legerősebb irányt, amely a leginkább meghatározza az elutasító viselkedést. A technikai megoldás vagy az inferencia közbeni projekciók levonásával történő beavatkozás, vagy a modell súlyainak módosítása a súlyok ortogonalizálásával (weight orthogonalization). Ez utóbbi megközelítés a hosszabb távú megoldást jelenti, mivel a modell alapvető működését változtatja meg úgy, hogy az elutasító irány ne legyen többé elérhető.

Miért izgalmas az abliteration?

Ez a módszer egyedülálló abban, hogy nem igényel újratanítást vagy hatalmas mennyiségű adatot, amely általában szükséges egy nyelvi modell finomhangolásához. Az abliteration révén lényegében „kikapcsolhatjuk” a modelltől a cenzúra funkciót, így sokkal szabadabban használhatjuk például kutatási vagy fejlesztési célokra. Természetesen ez a megközelítés etikai kérdéseket is felvet, hiszen a cenzúra eltávolítása növeli a modell potenciális visszaéléseinek kockázatát. Ezért fontos, hogy a módszert felelősségteljesen, megfelelő környezetben alkalmazzuk.

Ha érdekel a téma mélyebb technikai oldala, vagy szeretnél kipróbálni előre elkészített abliterate modelleket, érdemes megnézni a forrásként szolgáló anyagot, amely részletesen bemutatja a folyamatot és a kódokat is.