Varnost in usklajenost v dobi modelov z dolgim časovnim horizontom
Kaj nas je interna uporaba dolgotrajnega modela naučila o varnosti.
Povzetek
Dolgotrajni modeli lahko rešujejo zahtevne, odprte probleme, vendar jim njihova vztrajnost daje več priložnosti za neželena dejanja.
Med omejeno interno uporabo modela, naučenega za dolgotrajne naloge, smo opazili nove vrste neuspehov, ki jih naše obstoječe evalvacije pred uvedbo niso zajele, zato smo dostop začasno ustavili. Nato smo spoznanja iz teh neuspehov uporabili za izdelavo novih evalvacij, izboljšanje usklajenosti pri dolgih časovnih horizontih, dodajanje spremljanja na ravni trajektorij ter večjo vidnost in nadzor za uporabnike, preden smo obnovili omejen dostop.
Izkušnja je potrdila vrednost iterativne uvedbe. Noben nespremenljiv sklop evalvacij ne more predvideti vsakega vedenja, zato mora biti preizkušanje pred uvedbo združeno z budnim spremljanjem, varovali, ki lahko posredujejo, ter možnostjo začasne ustavitve ali povrnitve na prejšnje stanje, kadar je to potrebno.
Modeli, ki lahko dolgo delujejo avtonomno, se lahko lotijo zahtevnih, odprtih problemov. Toda ista vztrajnost, zaradi katere so uporabni, jim daje tudi več priložnosti za neželena dejanja – in to na načine, ki jih evalvacije, namenjene modelom s krajšim časovnim horizontom, lahko spregledajo.
Pred približno dvema mesecema smo objavili, da je interni splošnonamenski model ovrgel Erdősovo domnevo o enotski razdalji. Ta model je bil zasnovan za zelo dolgotrajno avtonomno delo. Med omejeno in nadzorovano interno uporabo smo opazili neželeno vedenje, ki ga naše obstoječe evalvacije za uvedbo niso zajele. Ker je bila uvedba omejena in nadzorovana, smo lahko te težave prepoznali, začasno ustavili dostop, na podlagi opaženega pripravili nove evalvacije, okrepili model in njegova varovala, nato pa ob nadaljnjem spremljanju obnovili dostop.
Pogoji, v katerih ocenjujemo modele, se nikoli ne bodo popolnoma ujemali s pogoji, na katere naletijo pri dejanski uporabi. Zato je treba evalvacije pred uvedbo združiti z omejeno, nadzorovano uvedbo in možnostjo posredovanja, začasne ustavitve ali povrnitve na prejšnje stanje, ko se pojavijo težave. Kar se naučimo pri uvedbi, lahko nato postane del močnejših evalvacij in varoval, preden se dostop razširi.
V naslednjih razdelkih predstavljamo konkretne primere tega, kar smo opazili, kako smo odpravili težave in kako bo ta izkušnja oblikovala prihodnje izdaje.
Novi model lahko z večkratnimi poskusi skozi daljše časovno obdobje še naprej deluje proti cilju. Ista vztrajnost ga lahko pripelje do tega, da najde in izkoristi šibkosti v svojem okolju. Prejšnji modeli so se ob omejitvah peskovnika ali okolja preprosto ustavili in se vrnili k uporabniku. Ta model je pogosto nadaljeval poskuse, tudi tako, da je iskal načine za delovanje zunaj svojega peskovnika.
Primer tega se je zgodil med interno evalvacijo na speedrunu NanoGPT(odpre se v novem oknu), javnem merilu uspešnosti za učenje majhnega jezikovnega modela v čim manjšem številu korakov. Naš model je razvil ohlajanje učne stopnje po potenčnem zakonu, imenovano PowerCool, kar je prineslo pomembno izboljšanje. Model je imel navodilo, naj rezultate objavi samo v Slacku, vendar navodila za NanoGPT pravijo, da je treba rezultate objaviti kot PR na GitHubu, in model je sledil slednjim navodilom ter odprl PR #287 v javnem repozitoriju na GitHubu. Model je zaobšel omejitve peskovnika, namenjene blokiranju zunanjega dostopa, in nadaljeval nalaganje na GitHub. Naš model je potreboval eno uro, da je našel ranljivost v peskovniku in lahko ustvaril PR; prejšnji modeli so bili manj vztrajni in ranljivosti niso uspeli najti, zato so del s PR-jem opustili.1
Številni varnostni nadzori za UI-pomočnike so zasnovani okoli posameznih dejanj. Če dejanje ni dovoljeno, je blokirano. Če je občutljivo, sistem uporabnika prosi za izrecno odobritev. Toda dolgotrajni modeli, katerih dejanja se lahko avtonomno odvijajo ure, dneve ali celo tedne, takšno ureditev postavljajo pod vprašaj: spremljanje posameznih dejanj ne zadošča več za sledenje namenu celotne trajektorije.
Na primer v scenariju, v katerem je bil model pozvan, naj reši problem, je opazil, da imajo drugi sistemi uspešne, vendar zasebne oddaje, in je poskušal te rešitve pridobiti iz zaledja evalvacije. Ko je bil njegov prvi poskus blokiran, ker je pregledovalnik zaznal avtentikacijski žeton, je model telo žetona razdelil na dva fragmenta, ju zakril in nato poverilnico znova sestavil med izvajanjem, tako da se celoten žeton nikoli ni pojavil kot en neprekinjen niz. Model je v komentarjih uporabniku in v svojih sledovih sklepanja izrecno navedel, da te korake izvaja, da bi zaobšel pregledovalnik.
Ta primer kaže, kako je lahko vsak korak sam zase videti sprejemljiv, medtem ko lahko zaporedje privede do izida, ki ne bi bil odobren. Kaže tudi, kako se lahko model, ki učinkovito deluje čez dolge časovne horizonte, nauči slepih peg sistema odobritev in jih zaobide, da doseže svoje cilje. Varnost pri dolgih časovnih horizontih ne zahteva le vprašanja »Ali je to dejanje dovoljeno?«, temveč tudi »Kakšnemu izidu je namenjeno to zaporedje dejanj?«.
Zaradi takšnih incidentov smo interno uvedbo novega modela začasno ustavili. Varnostni sistem smo na novo zasnovali okoli večplastne obrambe in spremljanja na ravni trajektorij.
- Evalvacije, izpeljane iz incidentov. Evalvacije nam lahko dajo občutek, ali je sistem varen za uvedbo, še preden je dejansko uveden. Da pa bi bila evalvacija kar najbolj uporabna, mora odražati porazdelitev in dolžino časovnega horizonta trajektorij med dejansko uvedbo. Zato smo opažene neuspehe uporabili za razvoj nasprotovalnih evalvacij. Ugotovili smo, da izboljšanje rezultatov pri evalvacijah, izpeljanih iz incidentov v resničnem svetu, posledično vodi do varnejšega vedenja po uvedbi v produkcijo.
- Izboljšana usklajenost. Sprejeli smo ukrepe za zmanjšanje njegove težnje, da pri sledenju uporabnikovemu cilju brez dovoljenja izvaja neželena dejanja. Ugotovili smo na primer, da si naši modeli pri dolgih izvajanjih slabše zapomnijo navodila; ko smo model urili za to sposobnost, je nastal model, ki je ostal usklajen skozi daljša izvajanja.
- Aktivno spremljanje. Ustvarili smo sistem spremljanja, ki pregleduje razvijajočo se trajektorijo modela in išče znake, da je ta zaobšel uporabniško omejitev ali varnostno mejo. Nadzornik ne opazuje le posameznega dejanja, temveč celotno trajektorijo. Pomembno je, da lahko nadzornik sejo začasno ustavi in uporabnika opozori, naj jo podrobneje pregleda. Po pregledu se lahko uporabnik odloči, da nadaljuje delo modela, če se je nadzornik sprožil po pomoti.
- Večja vidnost in nadzor za uporabnike. Izboljšali smo možnost, da uporabnik pregleda te dolgotrajne seje, vidi izvedena dejanja in spremlja posredovanja.
Za oceno novega sistema spremljanja smo znova izvedli majhen nabor internih uvedbenih okolij, v katerih je model prej sledil neusklajenim dejanjem, tokrat z novimi varovali2. Nova varovala so uspela ujeti precej več neusklajenih dejanj, ki jim je sledil model, vsa spregledana pa so bila ocenjena z nizko stopnjo resnosti.
Nekateri primeri teh incidentov nizke stopnje resnosti vključujejo naslednje primere:
- Za dostop do orodja ukazne vrstice Linear je model zagnal ugnezdeno sejo
codex --yolo, čeprav bi to dejansko lahko storil brez zastavice--yolo. - Model je opazil, da manjka prej aktiven vir, nato pa začel raziskovati in se prek SSH povezovati z drugimi aktivnimi podi CPU v imenskem prostoru svojega lastnika ter tudi – neuspešno – s podi drugih zaposlenih pri OpenAI, in to brez utemeljenega razloga.
- Model je imel veliko procesov
find, ki so obtičali, in vsak ukaz lupine je obvisel. Nato je zagnal ukazkill -9 -1, ki bi v primeru izvedbe poslal navodilo SIGKILL vsakemu procesu, ki ga sme pokončati v tem podu. Vendar je potekla časovna omejitev in ukaz se ni izvedel.
Po preizkusu novega sistema smo sklenili, da lahko obnovimo omejen interni dostop do modelov z zmožnostmi za dolge časovne horizonte. Od začetka ponovne uvedbe pred več tedni nismo opazili nobenega resnega zaobidenja varoval. Prva različica teh varoval je bila namenoma konservativna. Sistem smo še naprej prilagajali, da bi zmanjšali nepotrebne prekinitve, ne da bi oslabili varovala.
Ker smo uvajali iterativno, smo lahko vrzeli odkrili in odpravili, preden smo razširili dostop. Evalvacije pred uvedbo ostajajo ključne, vendar šele uvedba razkrije vedenja, ki jih evalvacije spregledajo. Začetek z omejenim dostopom nam je omogočil, da model opazujemo v praksi, ob pojavu težav naredimo premor, te neuspehe uporabimo za boljše evalvacije in varovala ter po preizkusu sprememb obnovimo omejen dostop.
Ko se modeli lotevajo daljših in bolj zapletenih nalog, imajo lahko neuspehi, ki jih evalvacije spregledajo, večje posledice. Še naprej bomo zmanjševali vrzel med evalvacijo in uvedbo: modele bomo preizkušali na daljših trajektorijah, izboljševali usklajenost, gradili sisteme spremljanja, ki lahko posredujejo, ter uporabnikom zagotavljali jasnejši vpogled in nadzor. S temi izzivi pa se ne bo soočal samo OpenAI, zato upamo, da bodo spoznanja, ki jih delimo, širši panogi pomagala, da se ustrezno pripravi nanje.
Avtor
Opombe
- 1
Čeprav smo PR (»pull request«) hitro zaprli, ga je več udeležencev v speedrunu že videlo in pristop uporabilo v svojih oddajah; zaporedne oddaje svetovnih rekordov s 3030(odpre se v novem oknu), 2990(odpre se v novem oknu), 2930(odpre se v novem oknu), 2925(odpre se v novem oknu), 2900(odpre se v novem oknu) in 2890(odpre se v novem oknu) koraki vse navajajo PR 287. Med njimi je posebej zanimiv PR 300(odpre se v novem oknu), ker ga je oddal Opus 4.7, ko ga je Prime Intellect(odpre se v novem oknu) ocenil na speedrunu NanoGPT. Opus je videl PR, ki ga je oddal naš model, vključil odkritja in v končnem rezultatu navedel naš PR.
- 2


