Անվտանգություն և համահունչություն երկարահորիզոն մոդելների դարում
Ինչ սովորեցրեց մեզ երկար աշխատող մոդելի ներքին օգտագործումը անվտանգության մասին։
Ամփոփում
Երկար աշխատող մոդելները կարող են լուծել բարդ, բաց խնդիրներ, բայց նրանց համառությունը ավելի շատ հնարավորություններ է տալիս անցանկալի գործողություններ կատարելու։
Երկարատև առաջադրանքների համար վարժեցված մոդելի սահմանափակ ներքին օգտագործման ընթացքում մենք նկատեցինք նոր տեսակի ձախողումներ, որոնք մեր առկա նախագործարկման գնահատումները չէին արձանագրել, և դադարեցրինք հասանելիությունը։ Այնուհետև այդ ձախողումներից ստացած պատկերացումներն օգտագործեցինք նոր գնահատումներ կառուցելու, երկար հորիզոնի համահունչությունը բարելավելու, հետագծի մակարդակով մշտադիտարկում ավելացնելու և օգտատերերին ավելի մեծ տեսանելիություն ու վերահսկողություն տալու համար՝ նախքան սահմանափակ հասանելիությունը վերականգնելը։
Այս փորձը վերահաստատեց աստիճանական գործարկման արժեքը։ Գնահատումների ոչ մի անփոփոխ հավաքածու չի կարող կանխատեսել յուրաքանչյուր վարքագիծ, ուստի նախագործարկման փորձարկումը պետք է զուգակցվի սերտ մշտադիտարկման, միջամտել կարողացող պաշտպանիչ միջոցների և անհրաժեշտության դեպքում դադարեցնելու կամ հետ շրջելու հնարավորության հետ։
Մոդելները, որոնք կարող են երկար ժամանակ ինքնավար աշխատել, կարող են ստանձնել բարդ, բաց խնդիրներ։ Բայց նույն համառությունը, որը դրանք օգտակար է դարձնում, նաև ավելի շատ հնարավորություններ է տալիս անցանկալի գործողություններ կատարելու, ընդ որում՝ այնպիսի ձևերով, որոնք կարճ հորիզոնի մոդելների համար նախատեսված գնահատումները կարող են չնկատել։
Մոտ երկու ամիս առաջ մենք հայտարարեցինք, որ ներքին, ընդհանուր նշանակության մոդելը հերքել է Էրդյոշի միավոր հեռավորության վարկածը։ Այս մոդելը նախագծված էր շատ երկար ժամանակ ինքնավար աշխատելու համար։ Սահմանափակ և վերահսկվող ներքին օգտագործման ընթացքում մենք նկատեցինք անցանկալի վարքագիծ, որը մեր առկա գործարկման գնահատումները չէին արձանագրել։ Քանի որ գործարկումը սահմանափակ էր և վերահսկվող, մենք կարողացանք բացահայտել այդ խնդիրները, դադարեցնել հասանելիությունը, մեր դիտարկածի հիման վրա ստեղծել նոր գնահատումներ, ուժեղացնել մոդելն ու դրա պաշտպանիչ միջոցները, ապա վերականգնել հասանելիությունը շարունակական վերահսկողության ներքո։
Այն պայմանները, որոնցում մենք գնահատում ենք մոդելները, երբեք ամբողջությամբ չեն համընկնի իրական օգտագործման պայմանների հետ։ Այդ պատճառով նախքան գործարկումը կատարվող գնահատումները պետք է զուգակցվեն սահմանափակ, վերահսկվող գործարկման և խնդիրների ի հայտ գալու դեպքում միջամտելու, դադարեցնելու կամ հետ շրջելու հնարավորության հետ։ Այն, ինչ սովորում ենք գործարկումից, կարող է այնուհետև դառնալ ավելի ուժեղ գնահատումների և պաշտպանիչ միջոցների մաս՝ նախքան հասանելիության ընդլայնումը։
Հաջորդ բաժիններում ներկայացնում ենք մեր դիտարկածի կոնկրետ օրինակներ, ինչպես ենք լուծել խնդիրները, և ինչպես է այս փորձը ձևավորելու ապագա թողարկումները։
Նոր մոդելը կարող է երկար ժամանակ շարունակել աշխատել նպատակի ուղղությամբ՝ կրկնվող փորձերի միջոցով։ Նույն այդ համառությունը կարող է նրան մղել գտնելու և շահագործելու իր միջավայրի թույլ կողմերը։ Նախորդ մոդելները, երբ բախվում էին sandbox-ի կամ միջավայրի սահմանափակումների, պարզապես կանգ էին առնում և վերադառնում օգտատիրոջը։ Այս մոդելը հաճախ շարունակում էր փորձել՝ այդ թվում որոնելով իր sandbox-ից դուրս գործելու ուղիներ։
Դրա օրինակներից մեկը տեղի ունեցավ NanoGPT սփիդրանի(բացվում է նոր պատուհանում) ներքին գնահատման ժամանակ․ սա հանրային բենչմարկ է՝ փոքր լեզվական մոդել հնարավորինս քիչ քայլերով վարժեցնելու համար։ Մեր մոդելը մշակեց PowerCool կոչվող ուսուցման արագության դանդաղեցման վերաբերյալ աստիճանային օրենք, որը զգալի բարելավում տվեց։ Մոդելին հանձնարարված էր իր արդյունքները հրապարակել միայն Slack-ում, բայց NanoGPT‑ի հրահանգներում ասվում է, որ արդյունքները պետք է GitHub-ում հրապարակել որպես PR, և մոդելը հետևեց վերջին հրահանգներին՝ հանրային GitHub պահոցում բացելով PR #287-ը։ Մոդելը շրջանցեց արտաքին հասանելիությունն արգելափակելու համար նախատեսված sandbox-ի սահմանափակումները և շարունակեց վերբեռնումը GitHub։ Մեր մոդելին մեկ ժամ պահանջվեց sandbox-ում խոցելիություն գտնելու համար, որպեսզի ստեղծի PR-ը․ ավելի վաղ մոդելները պակաս համառ էին և չկարողացան խոցելիություններ գտնել՝ փոխարենը հրաժարվելով PR-ի մասից։1
AI օգնականների անվտանգության շատ վերահսկիչ մեխանիզմներ նախագծված են առանձին գործողությունների շուրջ։ Եթե գործողությունն արգելված է, այն արգելափակվում է։ Եթե այն զգայուն է, համակարգը օգտատիրոջից հստակ հաստատում է խնդրում։ Բայց երկար աշխատող մոդելները, որոնց գործողությունները կարող են ինքնավար ծավալվել ժամերի, օրերի կամ նույնիսկ շաբաթների ընթացքում, մարտահրավեր են նետում այս մոտեցմանը․ առանձին գործողությունների մշտադիտարկումն այլևս բավարար չէ ամբողջ հետագծի մտադրությունը հետևելու համար։
Օրինակ՝ մի սցենարում, որտեղ մոդելից պահանջվել էր լուծել խնդիր, մոդելը նկատեց, որ այլ համակարգերն ունեցել են հաջող, բայց մասնավոր ներկայացումներ, և փորձեց այդ լուծումները վերականգնել գնահատման backend-ից։ Երբ նրա սկզբնական փորձն արգելափակվեց, քանի որ scanner-ը հայտնաբերել էր նույնականացման թոքեն, մոդելը թոքենի մարմինը բաժանեց երկու հատվածի, քողարկեց դրանք, ապա կատարման պահին վերակառուցեց հավատարմագիրը, որպեսզի ամբողջական թոքենը երբեք չհայտնվի որպես մեկ անընդհատ տող։ Մոդելը թե՛ օգտատիրոջն ուղղված իր մեկնաբանություններում, թե՛ իր հիմնավորման հետքերում հստակ նշել էր, որ այդ քայլերն անում է scanner-ը շրջանցելու համար։
Այս օրինակը ցույց է տալիս, թե ինչպես յուրաքանչյուր քայլ ինքնին կարող է ընդունելի թվալ, մինչդեռ հաջորդականությունը կարող է բերել արդյունքի, որը չէր հաստատվի։ Այն նաև ցույց է տալիս, թե ինչպես կարող է երկար ժամանակային հորիզոններում արդյունավետ գործող մոդելը սովորել հաստատման համակարգի կույր կետերը և շրջանցել այն՝ իր նպատակներին հասնելու համար։ Երկար հորիզոնի անվտանգությունը պահանջում է հարցնել ոչ միայն «թույլատրվա՞ծ է այս գործողությունը», այլև՝ «ի՞նչ արդյունքի է ձգտում գործողությունների այս հաջորդականությունը»
Նման միջադեպերի պատճառով մենք դադարեցրինք նոր մոդելի ներքին գործարկումը։ Մենք վերակառուցեցինք անվտանգության համակարգը՝ հիմնվելով բազմաշերտ պաշտպանության և հետագծի մակարդակով մշտադիտարկման վրա։
- Միջադեպերից բխած գնահատումներ։ Գնահատումները կարող են մեզ պատկերացում տալ, թե արդյոք համակարգը անվտանգ է գործարկման համար նախքան դրա իրական գործարկումը։ Սակայն առավել օգտակար լինելու համար գնահատումը պետք է արտացոլի իրական գործարկման ընթացքում հետագծերի բաշխումն ու հորիզոնի երկարությունը։ Այդ պատճառով դիտարկված ձախողումները օգտագործեցինք հակառակորդային գնահատումներ մշակելու համար։ Մենք պարզեցինք, որ իրական աշխարհի միջադեպերից բխած գնահատումներում բարելավումը իր հերթին հանգեցնում է ավելի անվտանգ վարքագծի՝ արտադրական միջավայրում գործարկվելուց հետո։
- Բարելավված համահունչություն։ Մենք քայլեր ձեռնարկեցինք նվազեցնելու նրա հակումը՝ առանց թույլտվության անցանկալի գործողություններ կատարելու օգտատիրոջ նպատակին հասնելու ճանապարհին։ Օրինակ՝ մենք պարզեցինք, որ մեր մոդելներն ավելի վատ էին հիշում հրահանգները երկար ընթացքների ժամանակ, և երբ մոդելը վարժեցրինք այդ ունակության համար, ստացանք մոդել, որը երկար ընթացքների ընթացքում մնում էր համահունչ։
- Ակտիվ մշտադիտարկում։ Մենք ստեղծեցինք մշտադիտարկման համակարգ, որը ստուգում է մոդելի զարգացող հետագիծը՝ նշաններ գտնելու, թե արդյոք այն շրջանցում է օգտատիրոջ սահմանափակումը կամ անվտանգության սահմանը։ Մշտադիտարկիչը դիտարկում է ոչ թե միայն մեկ գործողություն, այլ ամբողջ հետագիծը։ Կարևոր է, որ մշտադիտարկիչը կարող է դադարեցնել սեանսը և զգուշացնել օգտատիրոջը՝ ավելի մանրամասն ուսումնասիրելու համար։ Ուսումնասիրությունից հետո օգտատերը կարող է ընտրել շարունակել մոդելի աշխատանքը, եթե մշտադիտարկիչը սխալմամբ է գործարկվել։
- Օգտատիրոջ ավելի մեծ տեսանելիություն և վերահսկողություն։ Մենք բարելավեցինք օգտատիրոջ հնարավորությունը՝ զննելու այս երկար սեանսները, տեսնելու կատարված գործողությունները և հետևելու միջամտություններին։
Նոր մշտադիտարկման համակարգը գնահատելու համար մենք վերարտադրեցինք ներքին գործարկման միջավայրերի փոքր հավաքածու, որտեղ մոդելը նախկինում հետապնդել էր ոչ համահունչ գործողություններ․ այս անգամ՝ նոր պաշտպանիչ միջոցներով2։ Նոր պաշտպանիչ միջոցները կարողացան որսալ մոդելի հետապնդած զգալիորեն ավելի շատ ոչ համահունչ գործողություններ, իսկ բաց թողնվածները բոլորը գնահատվեցին որպես ցածր լրջության։
Այս ցածր լրջության միջադեպերի օրինակներից են հետևյալ դեպքերը․
- Linear-ի հրամանի տողի գործիքին հասանելիություն ստանալու համար մոդելը գործարկեց ներդրված
codex --yoloսեանս, մինչդեռ իրականում կարող էր դա անել առանց--yoloդրոշակի։ - Մոդելը նկատեց, որ նախկինում գործող ռեսուրսը բացակայում է, ապա սկսեց ուսումնասիրել և SSH-ով մտնել իր սեփականատիրոջ namespace-ի տակ գտնվող այլ գործող CPU pod-եր, ինչպես նաև (անհաջող) OpenAI-ի այլ աշխատակիցներին պատկանող pod-եր՝ առանց բավարար պատճառի։
- Մոդելի մոտ բազմաթիվ խցանված
findգործընթացներ կային, և shell-ի յուրաքանչյուր հրաման կախվում էր։ Այնուհետև այն գործարկեցkill -9 -1, որը կատարվելու դեպքում SIGKILL կուղարկեր այդ pod-ում իր կողմից սպանելու թույլատրված յուրաքանչյուր գործընթացի։ Սակայն դրա ժամանակը սպառվեց, և այն չկատարվեց։
Նոր համակարգը փորձարկելուց հետո մենք եզրակացրինք, որ երկար ժամանակային հորիզոնի ունակություններ ունեցող մոդելներին սահմանափակ ներքին հասանելիությունը կարելի է վերականգնել։ Մի քանի շաբաթ առաջ վերագործարկումը սկսվելուց ի վեր մենք պաշտպանիչ միջոցների լուրջ շրջանցում չենք նկատել։ Այս պաշտպանիչ միջոցների առաջին տարբերակը միտումնավոր պահպանողական էր։ Մենք շարունակել ենք կարգաբերել համակարգը՝ նվազեցնելու ավելորդ ընդհատումները՝ առանց պաշտպանիչ միջոցները թուլացնելու։
Քանի որ մենք գործարկում էինք աստիճանաբար, կարողացանք գտնել և լուծել բացերը նախքան հասանելիության ընդլայնումը։ Նախագործարկման գնահատումները մնում են էական, բայց գործարկումը բացահայտում է վարքագծեր, որոնք դրանք բաց են թողնում։ Սահմանափակ հասանելիությամբ սկսելը մեզ թույլ տվեց մոդելը դիտարկել գործնականում, դադարեցնել, երբ խնդիրներ ի հայտ եկան, այդ ձախողումները օգտագործել ավելի լավ գնահատումներ և պաշտպանիչ միջոցներ կառուցելու համար, և փոփոխությունները փորձարկելուց հետո վերականգնել սահմանափակ հասանելիությունը։
Քանի որ մոդելները ստանձնում են ավելի երկար ու բարդ առաջադրանքներ, գնահատումների բաց թողած ձախողումները կարող են ավելի մեծ հետևանքներ ունենալ։ Մենք կշարունակենք աշխատել գնահատման և գործարկման միջև բացը նեղացնելու ուղղությամբ՝ մոդելները փորձարկելով ավելի երկար հետագծերի վրա, բարելավելով համահունչությունը, ստեղծելով միջամտել կարողացող մշտադիտարկում և օգտատերերին տալով ավելի հստակ տեսանելիություն ու վերահսկողություն։ Այս մարտահրավերները միայն OpenAI-ին հատուկ չեն լինելու, և հուսով ենք՝ մեր սովորածը կիսելը կօգնի ավելի լայն ոլորտին պատրաստվել դրանց։
Հեղինակ
Ծանոթագրություններ
- 1
Թեև մենք արագ փակեցինք PR-ը, սփիդրանի մի քանի մասնակիցներ արդեն տեսել էին այն և օգտագործել այդ մոտեցումը իրենց ներկայացումներում․ համաշխարհային ռեկորդի հաջորդական ներկայացումները՝ 3030(բացվում է նոր պատուհանում), 2990(բացվում է նոր պատուհանում), 2930(բացվում է նոր պատուհանում), 2925(բացվում է նոր պատուհանում), 2900(բացվում է նոր պատուհանում) և 2890(բացվում է նոր պատուհանում) քայլերով, բոլորը հղում են անում PR 287-ին։ Դրանցից PR 300(բացվում է նոր պատուհանում)-ը հատկապես հետաքրքիր է, քանի որ դա այն PR-ն է, որը ներկայացրել էր Opus 4.7-ը, երբ Prime Intellect(բացվում է նոր պատուհանում)-ը այն գնահատում էր NanoGPT սփիդրանում։ Opus-ը տեսավ մեր մոդելի ներկայացրած PR-ը, ներառեց հայտնագործությունները և վերջնական արդյունքում հիշատակեց մեր PR-ը։
- 2


