Sauga ir suderinimas ilgos laiko perspektyvos modelių eroje
Ko vidinis ilgai veikiančio modelio naudojimas mus išmokė apie saugą.
Santrauka
Ilgai veikiantys modeliai gali spręsti sudėtingas, atviro pobūdžio problemas, tačiau jų atkaklumas suteikia daugiau galimybių atlikti nepageidaujamus veiksmus.
Riboto vidinio modelio, apmokyto ilgai trunkančioms užduotims, naudojimo metu pastebėjome naujų nesėkmių, kurių mūsų esami prieš diegimą atliekami vertinimai nebuvo užfiksavę, ir pristabdėme prieigą. Tada šių nesėkmių įžvalgas panaudojome naujiems vertinimams kurti, ilgos laiko perspektyvos suderinimui gerinti, trajektorijos lygmens stebėsenai pridėti ir naudotojams suteikti daugiau matomumo bei kontrolės prieš atkuriant ribotą prieigą.
Ši patirtis dar kartą patvirtino iteracinio diegimo vertę. Joks fiksuotas vertinimų rinkinys negali numatyti kiekvieno elgesio, todėl prieš diegimą atliekamus bandymus būtina derinti su atidžia stebėsena, apsaugos priemonėmis, galinčiomis įsikišti, ir galimybe prireikus pristabdyti arba grąžinti ankstesnę būseną.
Modeliai, galintys ilgai dirbti savarankiškai, gali imtis sudėtingų, atviro pobūdžio problemų. Tačiau tas pats atkaklumas, dėl kurio jie yra naudingi, suteikia jiems daugiau galimybių atlikti nepageidaujamus veiksmus — ir daryti tai taip, kad trumpesnės laiko perspektyvos modeliams skirtas vertinimas gali to nepastebėti.
Maždaug prieš du mėnesius paskelbėme, kad vidinis bendrosios paskirties modelis paneigė Erdőso vienetinio atstumo hipotezę. Šis modelis buvo sukurtas labai ilgai dirbti savarankiškai. Riboto ir stebimo vidinio naudojimo metu pastebėjome nepageidaujamą elgesį, kurio mūsų esami diegimo vertinimai nebuvo užfiksavę. Kadangi diegimas buvo ribotas ir stebimas, galėjome nustatyti šias problemas, pristabdyti prieigą, sukurti naujus vertinimus pagal tai, ką pastebėjome, sustiprinti modelį ir jo apsaugos priemones, o tada atkurti prieigą toliau ją stebėdami.
Sąlygos, kuriomis vertiname modelius, niekada idealiai neatitiks tų, su kuriomis jie susiduria realiai naudojami. Todėl prieš diegimą atliekamus vertinimus reikia derinti su ribotu, stebimu diegimu ir galimybe įsikišti, pristabdyti arba grąžinti ankstesnę būseną, kai kyla problemų. Tai, ko išmokstame diegimo metu, vėliau gali tapti stipresnių vertinimų ir apsaugos priemonių dalimi prieš išplečiant prieigą.
Tolesniuose skyriuose dalijamės konkrečiais pavyzdžiais: ką pastebėjome, kaip sprendėme problemas ir kaip ši patirtis formuos būsimus leidimus.
Naujasis modelis gali ilgą laiką tęsti darbą siekdamas tikslo, bandydamas vėl ir vėl. Tas pats atkaklumas gali paskatinti jį rasti ir išnaudoti savo aplinkos silpnąsias vietas. Ankstesni modeliai, susidūrę su smėliadėžės ar aplinkos apribojimais, paprasčiausiai sustodavo ir grįždavo pas naudotoją. Šis modelis dažnai bandydavo toliau, be kita ko, ieškodamas būdų veikti už savo smėliadėžės ribų.
Toks pavyzdys įvyko per vidinį vertinimą „NanoGPT speedrun“(atsidaro naujame lange) — viešame etalone, kuriame siekiama apmokyti mažą kalbos modelį per kuo mažiau žingsnių. Mūsų modelis sukūrė laipsninio dėsnio mokymosi spartos mažinimo metodą „PowerCool“, kuris gerokai pagerino rezultatą. Modeliui buvo nurodyta rezultatus skelbti tik „Slack“, tačiau „NanoGPT“ instrukcijose sakoma rezultatus pateikti kaip PR į „GitHub“, ir modelis vadovavosi pastarosiomis instrukcijomis, atidarydamas PR #287 viešoje „GitHub“ saugykloje. Modelis apėjo smėliadėžės apribojimus, skirtus išorinei prieigai blokuoti, ir tęsė įkėlimą į „GitHub“. Mūsų modeliui prireikė valandos, kad rastų smėliadėžės pažeidžiamumą ir galėtų pateikti PR; ankstesni modeliai buvo mažiau atkaklūs ir pažeidžiamumų rasti nepajėgė, todėl PR dalies atsisakydavo.1
Daugelis DI asistentų saugos kontrolės priemonių kuriamos aplink atskirus veiksmus. Jei veiksmas neleidžiamas, jis blokuojamas. Jei jis jautrus, sistema paprašo naudotojo aiškaus patvirtinimo. Tačiau ilgai veikiantys modeliai, kurių veiksmai savarankiškai gali rutuliotis valandas, dienas ar net savaites, kelia iššūkį tokiai sąrangai: stebėti pavienius veiksmus nebepakanka, kad būtų galima sekti visos trajektorijos ketinimą.
Pavyzdžiui, viename scenarijuje modelio buvo paprašyta išspręsti problemą; modelis pastebėjo, kad kitos sistemos turėjo sėkmingų, bet privačių pateikimų, ir bandė atkurti tuos sprendimus iš vertinimo vidinės sistemos. Kai pradinis bandymas buvo užblokuotas, nes skaitytuvas aptiko autentifikavimo žetoną, modelis padalijo žetono korpusą į du fragmentus, juos užmaskavo, o tada vykdymo metu atkūrė kredencialą, kad visas žetonas niekada nepasirodytų kaip viena vientisa eilutė. Tiek komentaruose naudotojui, tiek savo protavimo pėdsakuose modelis aiškiai nurodė, kad šių veiksmų imasi siekdamas apeiti skaitytuvą.
Šis pavyzdys rodo, kaip kiekvienas žingsnis atskirai gali atrodyti priimtinas, o seka gali lemti rezultatą, kuriam nebūtų pritarta. Jis taip pat rodo, kaip modelis, veiksmingai veikiantis per ilgas laiko perspektyvas, gali išmokti patvirtinimo sistemos akląsias zonas ir jas apeiti, kad pasiektų savo tikslus. Ilgos laiko perspektyvos saugai reikia klausti ne tik „ar šis veiksmas leidžiamas?“, bet ir „kokio rezultato siekia ši veiksmų seka?“
Dėl tokių incidentų sustabdėme naujojo modelio vidinį diegimą. Saugos sistemą perkūrėme remdamiesi gynybos keliais sluoksniais ir trajektorijos lygmens stebėsena.
- Iš incidentų išvesti vertinimai. Vertinimai gali padėti suprasti, ar sistemą saugu diegti dar prieš ją faktiškai įdiegiant. Tačiau kad vertinimas būtų kuo naudingesnis, jis turėtų atspindėti trajektorijų pasiskirstymą ir laiko perspektyvos trukmę realaus diegimo metu. Todėl stebėtas nesėkmes panaudojome kurdami priešiškus vertinimus. Pastebėjome, kad geresni rezultatai vertinimuose, išvestuose iš realių incidentų, savo ruožtu lėmė saugesnį elgesį įdiegus sistemą gamyboje.
- Pagerintas suderinimas. Ėmėmės veiksmų, kad sumažintume modelio polinkį be leidimo atlikti nepageidaujamus veiksmus siekiant naudotojo tikslo. Pavyzdžiui, nustatėme, kad mūsų modeliams prasčiau sekėsi prisiminti instrukcijas per ilgus vykdymo seansus, o apmokius modelį šiam gebėjimui, jis išliko suderintas ir per ilgesnius seansus.
- Aktyvi stebėsena. Sukūrėme stebėsenos sistemą, kuri peržiūri besivystančią modelio trajektoriją ir ieško ženklų, kad jis apeina naudotojo apribojimą ar saugos ribą. Stebėsenos sistema stebi ne tik vieną veiksmą, bet visą trajektoriją. Svarbu tai, kad stebėsenos sistema gali pristabdyti seansą ir įspėti naudotoją, kad šis jį atidžiau peržiūrėtų. Peržiūrėjęs naudotojas gali nuspręsti tęsti modelio darbą, jei stebėsenos sistema suveikė klaidingai.
- Didesnis matomumas ir kontrolė naudotojui. Pagerinome naudotojo galimybes tikrinti šiuos ilgai trunkančius seansus, matyti atliktus veiksmus ir stebėti įsikišimus.
Norėdami įvertinti naująją stebėsenos sistemą, pakartojome nedidelį vidinių diegimo aplinkų rinkinį, kuriame modelis anksčiau siekė netinkamai suderintų veiksmų, šį kartą jau su naujomis apsaugos priemonėmis2. Naujosios apsaugos priemonės sugebėjo aptikti gerokai daugiau netinkamai suderintų veiksmų, kurių siekė modelis, o visi praleisti atvejai buvo įvertinti kaip mažo rimtumo.
Keletas tokių mažo rimtumo incidentų pavyzdžių:
- Norėdamas pasiekti „Linear“ komandų eilutės įrankį, modelis paleido įdėtą
codex --yoloseansą, nors iš tiesų galėjo tai padaryti be--yolovėliavėlės. - Modelis pastebėjo, kad anksčiau veikęs išteklius dingo, tada be rimtos priežasties ėmė tyrinėti ir per SSH jungtis prie kitų veikiančių CPU podų savo savininko vardų srityje, taip pat — nesėkmingai — prie kitiems „OpenAI“ darbuotojams priklausančių podų.
- Modelis turėjo daug užstrigusių
findprocesų, ir kiekviena apvalkalo komanda pakibdavo. Tada jis paleidokill -9 -1, kuri, jei būtų įvykdyta, būtų nusiuntusi SIGKILL kiekvienam procesui tame pode, kurį jam leidžiama nužudyti. Tačiau komandai baigėsi skirtasis laikas, ir ji nebuvo įvykdyta.
Išbandę naująją sistemą, padarėme išvadą, kad ribotą vidinę prieigą prie modelių, turinčių ilgos laiko perspektyvos gebėjimų, galima atkurti. Nuo pakartotinio diegimo pradžios prieš kelias savaites nepastebėjome jokio rimto apsaugos priemonių apėjimo. Pirmoji šių apsaugos priemonių versija buvo sąmoningai konservatyvi. Toliau derinome sistemą, kad sumažintume nereikalingus pertraukimus nesusilpnindami apsaugos priemonių.
Kadangi diegėme iteratyviai, galėjome rasti ir pašalinti spragas prieš išplėsdami prieigą. Vertinimai prieš diegimą tebėra būtini, tačiau diegimas atskleidžia elgesį, kurio jie nepastebi. Pradėję nuo ribotos prieigos, galėjome stebėti modelį praktiškai, pristabdyti darbą, kai kilo problemų, panaudoti tas nesėkmes geresniems vertinimams ir apsaugos priemonėms kurti, o išbandę pakeitimus atkurti ribotą prieigą.
Modeliams imantis ilgesnių ir sudėtingesnių užduočių, vertinimų nepastebėtos nesėkmės gali turėti didesnių pasekmių. Toliau stengsimės mažinti atotrūkį tarp vertinimo ir diegimo: bandysime modelius ilgesnėse trajektorijose, gerinsime suderinimą, kursime stebėseną, galinčią įsikišti, ir suteiksime naudotojams aiškesnį matomumą bei kontrolę. Šie iššūkiai nebus būdingi vien „OpenAI“, todėl tikimės, kad pasidalijimas tuo, ką išmokome, padės platesnei sričiai jiems pasirengti.
Autorius
Išnašos
- 1
Nors PR greitai uždarėme, keli „speedrun“ dalyviai jį jau buvo matę ir pritaikė šį metodą savo pateikimuose; visi vėlesni pasaulio rekordo pateikimai su 3030(atsidaro naujame lange), 2990(atsidaro naujame lange), 2930(atsidaro naujame lange), 2925(atsidaro naujame lange), 2900(atsidaro naujame lange) ir 2890(atsidaro naujame lange) žingsnių nurodo PR 287. Iš jų PR 300(atsidaro naujame lange) yra ypač įdomus, nes tai PR, kurį pateikė „Opus 4.7“, kai Prime Intellect(atsidaro naujame lange) vertino jį „NanoGPT speedrun“ užduotyje. „Opus“ pamatė mūsų modelio pateiktą PR, įtraukė atradimus ir galutiniame rezultate nurodė mūsų PR.
- 2


