Մենք փնտրում ենք անոմալիաներ և կանխատեսում ենք ձախողումներ՝ օգտագործելով նեյրոնային ցանցերը

Մենք փնտրում ենք անոմալիաներ և կանխատեսում ենք ձախողումներ՝ օգտագործելով նեյրոնային ցանցերը

Ծրագրային համակարգերի արդյունաբերական զարգացումը մեծ ուշադրություն է պահանջում վերջնական արտադրանքի սխալ հանդուրժողականության նկատմամբ, ինչպես նաև արագ արձագանքել ձախողումներին և խափանումներին, եթե դրանք տեղի ունենան: Մոնիտորինգը, իհարկե, օգնում է անհաջողություններին և ձախողումներին ավելի արդյունավետ և արագ արձագանքել, բայց ոչ բավարար: Նախ, շատ դժվար է հետևել մեծ թվով սերվերների. մեծ թվով մարդիկ են անհրաժեշտ: Երկրորդ, դուք պետք է լավ պատկերացնեք, թե ինչպես է աշխատում հավելվածը, որպեսզի կանխատեսեք դրա վիճակը: Հետևաբար, մեզ պետք են շատ մարդիկ, ովքեր լավ կհասկանան մեր մշակած համակարգերը, դրանց կատարողականը և առանձնահատկությունները: Ենթադրենք, որ նույնիսկ եթե դուք գտնում եք, որ բավարար մարդիկ պատրաստ են դա անել, դեռ շատ ժամանակ է պահանջվում նրանց մարզելու համար:

Ինչ անել? Այստեղ է, որ արհեստական ​​ինտելեկտը մեզ օգնության է հասնում: Հոդվածում կխոսվի կանխատեսող սպասարկում (կանխատեսող սպասարկում): Այս մոտեցումը ակտիվորեն ձեռք է բերում ժողովրդականություն: Գրվել են մեծ թվով հոդվածներ, այդ թվում՝ Հաբրեի մասին։ Խոշոր ընկերությունները լիովին օգտագործում են այս մոտեցումը՝ իրենց սերվերների աշխատանքը պահպանելու համար: Մեծ թվով հոդվածներ ուսումնասիրելուց հետո մենք որոշեցինք փորձել այս մոտեցումը։ Ի՞նչ ստացվեց դրանից:

Ներածություն

Մշակված ծրագրային համակարգը վաղ թե ուշ գործարկվում է։ Օգտագործողի համար կարևոր է, որ համակարգը աշխատի առանց ձախողումների: Եթե ​​իսկապես արտակարգ դեպք է տեղի ունենում, այն պետք է լուծվի նվազագույն ուշացումով:

Ծրագրային համակարգի տեխնիկական աջակցությունը պարզեցնելու համար, հատկապես, եթե կան շատ սերվերներ, սովորաբար օգտագործվում են մոնիտորինգի ծրագրեր, որոնք չափումներ են վերցնում գործող ծրագրային համակարգից, հնարավորություն են տալիս ախտորոշել դրա վիճակը և օգնում են որոշել, թե կոնկրետ ինչն է ձախողման պատճառ դարձել: Այս գործընթացը կոչվում է ծրագրային համակարգի մոնիտորինգ:

Մենք փնտրում ենք անոմալիաներ և կանխատեսում ենք ձախողումներ՝ օգտագործելով նեյրոնային ցանցերը

Նկար 1. Grafana մոնիտորինգի ինտերֆեյս

Չափիչները ծրագրային համակարգի, դրա կատարման միջավայրի կամ ֆիզիկական համակարգչի տարբեր ցուցիչներ են, որոնց տակ գործում է համակարգը՝ չափումների ստացման պահի ժամանակի դրոշմով: Ստատիկ վերլուծության մեջ այս ցուցանիշները կոչվում են ժամանակային շարքեր: Ծրագրային համակարգի վիճակը վերահսկելու համար չափումները ցուցադրվում են գրաֆիկների տեսքով. ժամանակը X առանցքի վրա է, իսկ արժեքները Y առանցքի երկայնքով (Նկար 1): Մի քանի հազար չափումներ կարելի է վերցնել գործող ծրագրային համակարգից (յուրաքանչյուր հանգույցից): Դրանք կազմում են չափումների տարածություն (բազմաչափ ժամանակային շարքեր)։

Քանի որ մեծ թվով չափումներ են հավաքվում բարդ ծրագրային համակարգերի համար, ձեռքով մոնիտորինգը դառնում է բարդ խնդիր: Ադմինիստրատորի կողմից վերլուծվող տվյալների քանակը նվազեցնելու համար մոնիտորինգի գործիքները պարունակում են գործիքներ՝ ավտոմատ կերպով բացահայտելու հնարավոր խնդիրները: Օրինակ, դուք կարող եք կարգավորել ձգանն այնպես, որ գործարկվի, երբ սկավառակի ազատ տարածությունն ընկնում է նշված շեմից ցածր: Կարող եք նաև ավտոմատ կերպով ախտորոշել սերվերի անջատումը կամ ծառայության արագության կտրուկ դանդաղումը: Գործնականում մոնիտորինգի գործիքները լավ աշխատանք են կատարում՝ հայտնաբերելու արդեն իսկ տեղի ունեցած ձախողումները կամ բացահայտելու ապագա անհաջողությունների պարզ ախտանիշները, բայց ընդհանուր առմամբ, հնարավոր ձախողման կանխատեսումը մնում է նրանց համար դժվար ընկույզ: Չափումների ձեռքով վերլուծության միջոցով կանխատեսումը պահանջում է որակյալ մասնագետների ներգրավում: Դա ցածր արտադրողականություն է: Հնարավոր ձախողումների մեծ մասը կարող է աննկատ մնալ:

Վերջերս ծրագրային ապահովման համակարգերի, այսպես կոչված, կանխատեսող սպասարկումը գնալով ավելի տարածված է դարձել ՏՏ ծրագրային ապահովման մշակման խոշոր ընկերությունների շրջանում: Այս մոտեցման էությունն այն է, որ արհեստական ​​ինտելեկտի կիրառմամբ համակարգի դեգրադացիայի վաղ փուլերում, նախքան դրա ձախողումը, գտնել խնդիրները: Այս մոտեցումը ամբողջությամբ չի բացառում համակարգի ձեռքով մոնիտորինգը: Այն օժանդակ է մոնիտորինգի գործընթացին որպես ամբողջություն:

Կանխատեսող սպասարկման իրականացման հիմնական գործիքը ժամանակային շարքերում անոմալիաների որոնման խնդիրն է, քանի որ երբ անոմալիա է առաջանում տվյալների մեջ մեծ է հավանականությունը, որ որոշ ժամանակ անց կլինի ձախողում կամ ձախողում. Անոմալիան որոշակի շեղում է ծրագրային համակարգի աշխատանքի մեջ, ինչպես օրինակ՝ մեկ տեսակի հարցումների կատարման արագության դեգրադացիան կամ սպասարկվող հարցումների միջին քանակի նվազումը հաճախորդի նիստերի մշտական ​​մակարդակում:

Ծրագրային համակարգերի համար անոմալիաների որոնման խնդիրն ունի իր առանձնահատկությունները: Տեսականորեն, յուրաքանչյուր ծրագրային համակարգի համար անհրաժեշտ է մշակել կամ կատարելագործել գոյություն ունեցող մեթոդները, քանի որ անոմալիաների որոնումը շատ կախված է այն տվյալներից, որոնցում այն ​​իրականացվում է, և ծրագրային համակարգերի տվյալները մեծապես տարբերվում են՝ կախված համակարգի ներդրման գործիքներից: , մինչև այն, թե ինչ համակարգչի վրա է այն աշխատում:

Ծրագրային համակարգերի խափանումների կանխատեսման ժամանակ անոմալիաների որոնման մեթոդներ

Նախ, հարկ է ասել, որ անհաջողությունները կանխատեսելու գաղափարը ոգեշնչվել է հոդվածից «Մեքենայական ուսուցում ՏՏ մոնիտորինգում». Անոմալիաների ավտոմատ որոնմամբ մոտեցման արդյունավետությունը ստուգելու համար ընտրվել է Web-Consolidation ծրագրային համակարգը, որը NPO Krista ընկերության նախագծերից է։ Նախկինում դրա համար իրականացվում էր ձեռքով մոնիտորինգ՝ ստացված ցուցանիշների հիման վրա։ Քանի որ համակարգը բավականին բարդ է, դրա համար վերցված են մեծ թվով չափումներ՝ JVM ցուցիչներ (աղբահանի բեռնվածություն), ՕՀ-ի ցուցիչներ, որոնց տակ կատարվում է կոդը (վիրտուալ հիշողություն, % OS CPU բեռնվածություն), ցանցի ցուցիչներ (ցանցային բեռնվածություն): ), ինքնին սերվերը (CPU բեռնվածություն, հիշողություն), վայրի թռչող չափումներ և հավելվածի սեփական չափումներ բոլոր կարևոր ենթահամակարգերի համար:

Բոլոր ցուցանիշները վերցված են համակարգից՝ օգտագործելով գրաֆիտ: Սկզբում whisper տվյալների բազան օգտագործվում էր որպես ստանդարտ լուծում grafana-ի համար, բայց քանի որ հաճախորդի բազան մեծանում էր, գրաֆիտն այլևս չէր կարողանում հաղթահարել՝ սպառելով DC սկավառակի ենթահամակարգի կարողությունները: Սրանից հետո որոշվեց ավելի արդյունավետ լուծում գտնել։ Ընտրությունը կատարվել է հօգուտ գրաֆիտ+քլիքհաուս, ինչը հնարավորություն է տվել մեծության կարգով նվազեցնել սկավառակի ենթահամակարգի բեռը և հինգից վեց անգամ նվազեցնել սկավառակի զբաղեցրած տարածքը։ Ստորև բերված է գրաֆիկների հավաքման մեխանիզմի սխեման՝ օգտագործելով graphite+clickhouse (Նկար 2):

Մենք փնտրում ենք անոմալիաներ և կանխատեսում ենք ձախողումներ՝ օգտագործելով նեյրոնային ցանցերը

Գծապատկեր 2. Չափումների հավաքման սխեմա

Դիագրամը վերցված է ներքին փաստաթղթերից: Այն ցույց է տալիս grafana-ի (մեր կողմից օգտագործվող մոնիտորինգի միջերեսի) և գրաֆիտի միջև հաղորդակցությունը: Հավելվածից չափորոշիչների հեռացումն իրականացվում է առանձին ծրագրաշարի միջոցով. jmxtrans. Նա դրանք դնում է գրաֆիտի մեջ:
Վեբ համախմբման համակարգը ունի մի շարք առանձնահատկություններ, որոնք խնդիրներ են ստեղծում ձախողումների կանխատեսման համար.

  1. Միտումը հաճախ փոխվում է. Այս ծրագրային համակարգի համար հասանելի են տարբեր տարբերակներ: Նրանցից յուրաքանչյուրը փոփոխություններ է բերում համակարգի ծրագրային մասում: Համապատասխանաբար, այս կերպ մշակողները ուղղակիորեն ազդում են տվյալ համակարգի չափումների վրա և կարող են առաջացնել միտումի փոփոխություն.
  2. իրականացման առանձնահատկությունը, ինչպես նաև այն նպատակները, որոնց համար հաճախորդներն օգտագործում են այս համակարգը, հաճախ առաջացնում են անոմալիաներ՝ առանց նախկինում դեգրադացիայի.
  3. Անոմալիաների տոկոսը տվյալների ամբողջ հավաքածուի նկատմամբ փոքր է (< 5%);
  4. Համակարգից ցուցանիշներ ստանալու հարցում կարող են բացեր լինել։ Որոշ կարճ ժամանակահատվածում մոնիտորինգի համակարգը չի կարողանում չափումներ ստանալ: Օրինակ, եթե սերվերը ծանրաբեռնված է: Սա չափազանց կարևոր է նեյրոնային ցանցի վերապատրաստման համար: Բացերը սինթետիկ լրացնելու անհրաժեշտություն կա.
  5. Անոմալիաներով դեպքերը հաճախ տեղին են միայն կոնկրետ ամսաթվի/ամիս/ժամանակի համար (սեզոնայնություն): Այս համակարգն ունի օգտատերերի կողմից դրա օգտագործման հստակ կանոնակարգեր: Համապատասխանաբար, չափումները տեղին են միայն որոշակի ժամանակի համար: Համակարգը չի կարող օգտագործվել անընդհատ, այլ միայն որոշ ամիսների ընթացքում՝ ընտրովի՝ կախված տարվանից: Իրավիճակներ են առաջանում, երբ չափումների նույն վարքագիծը մի դեպքում կարող է հանգեցնել ծրագրային համակարգի խափանման, իսկ մյուսում՝ ոչ:
    Սկզբից վերլուծվել են ծրագրային համակարգերի մոնիտորինգի տվյալների անոմալիաների հայտնաբերման մեթոդները: Այս թեմայի վերաբերյալ հոդվածներում, երբ անոմալիաների տոկոսը փոքր է տվյալների մնացած հավաքածուի համեմատ, առավել հաճախ առաջարկվում է օգտագործել նեյրոնային ցանցեր:

Նյարդային ցանցի տվյալների օգտագործմամբ անոմալիաների որոնման հիմնական տրամաբանությունը ներկայացված է Նկար 3-ում.

Մենք փնտրում ենք անոմալիաներ և կանխատեսում ենք ձախողումներ՝ օգտագործելով նեյրոնային ցանցերը

Նկար 3. Անոմալիաների որոնում՝ օգտագործելով նեյրոնային ցանց

Չափումների ընթացիկ հոսքի պատուհանի կանխատեսման կամ վերականգնման արդյունքի հիման վրա հաշվարկվում է գործող ծրագրային համակարգից ստացվածից շեղումը: Եթե ​​ծրագրային ապահովման համակարգից և նեյրոնային ցանցից ստացված ցուցանիշների միջև մեծ տարբերություն կա, կարող ենք եզրակացնել, որ տվյալների ընթացիկ հատվածը անոմալ է: Նեյրոնային ցանցերի օգտագործման համար առաջանում են հետևյալ խնդիրների շարքը.

  1. հոսքային ռեժիմում ճիշտ աշխատելու համար նեյրոնային ցանցի մոդելների վերապատրաստման տվյալները պետք է ներառեն միայն «նորմալ» տվյալներ.
  2. ճիշտ հայտնաբերման համար անհրաժեշտ է ունենալ արդի մոդել։ Մետրիկայի փոփոխվող միտումները և սեզոնայնությունը կարող են մեծ թվով կեղծ դրական արդյունքներ առաջացնել մոդելում: Այն թարմացնելու համար անհրաժեշտ է հստակ որոշել այն ժամանակը, երբ մոդելը հնացել է: Եթե ​​մոդելը թարմացնեք ավելի ուշ կամ ավելի վաղ, ապա, ամենայն հավանականությամբ, կհետևեն մեծ թվով կեղծ պոզիտիվներ:
    Չպետք է մոռանալ նաև կեղծ պոզիտիվների հաճախակի առաջացումը որոնելու և կանխելու մասին: Ենթադրվում է, որ դրանք առավել հաճախ տեղի կունենան արտակարգ իրավիճակներում։ Այնուամենայնիվ, դրանք կարող են լինել նաև նեյրոնային ցանցի սխալի հետևանք՝ անբավարար պատրաստվածության պատճառով: Անհրաժեշտ է նվազագույնի հասցնել մոդելի կեղծ պոզիտիվների քանակը: Հակառակ դեպքում, կեղծ կանխատեսումները կվատնեն ադմինիստրատորի շատ ժամանակ, որը նախատեսված է համակարգը ստուգելու համար: Վաղ թե ուշ ադմինիստրատորը պարզապես կդադարի արձագանքել «պարանոիդ» մոնիտորինգի համակարգին։

Կրկնվող նեյրոնային ցանց

Ժամանակային շարքերում անոմալիաները հայտնաբերելու համար կարող եք օգտագործել կրկնվող նեյրոնային ցանց LSTM հիշողությամբ: Միակ խնդիրն այն է, որ այն կարող է օգտագործվել միայն կանխատեսված ժամանակային շարքերի համար: Մեր դեպքում ոչ բոլոր ցուցանիշներն են կանխատեսելի։ RNN LSTM-ի կիրառման փորձը ժամանակային շարքի վրա ներկայացված է Նկար 4-ում:

Մենք փնտրում ենք անոմալիաներ և կանխատեսում ենք ձախողումներ՝ օգտագործելով նեյրոնային ցանցերը

Նկար 4. LSTM հիշողության բջիջներով կրկնվող նյարդային ցանցի օրինակ

Ինչպես երևում է Նկար 4-ից, RNN LSTM-ը կարողացել է հաղթահարել անոմալիաների որոնումը այս ժամանակահատվածում: Այնտեղ, որտեղ արդյունքն ունի բարձր կանխատեսման սխալ (միջին սխալ), իրականում տեղի է ունեցել ցուցանիշների անոմալիա: Մեկ RNN LSTM-ի օգտագործումը ակնհայտորեն բավարար չի լինի, քանի որ այն կիրառելի է փոքր թվով չափումների համար: Կարող է օգտագործվել որպես անոմալիաների որոնման օժանդակ մեթոդ:

Ավտոկոդավորիչ ձախողման կանխատեսման համար

Ավտոկոդավորիչ – ըստ էության, արհեստական ​​նեյրոնային ցանց: Մուտքային շերտը կոդավորիչ է, ելքային շերտը՝ ապակոդավորիչ։ Այս տեսակի բոլոր նեյրոնային ցանցերի թերությունն այն է, որ դրանք լավ չեն տեղայնացնում անոմալիաները: Ընտրվել է համաժամանակյա ինքնակոդավորիչ ճարտարապետություն:

Մենք փնտրում ենք անոմալիաներ և կանխատեսում ենք ձախողումներ՝ օգտագործելով նեյրոնային ցանցերը

Նկար 5. Ավտոկոդավորիչի շահագործման օրինակ

Ավտոկոդավորիչները վերապատրաստվում են սովորական տվյալների վրա, այնուհետև մոդելին սնվող տվյալների մեջ ինչ-որ անոմալի բան են գտնում: Պարզապես այն, ինչ ձեզ հարկավոր է այս առաջադրանքի համար: Մնում է միայն ընտրել, թե որ ավտոկոդավորիչը հարմար է այս առաջադրանքի համար: Ավտոկոդավորիչի ճարտարապետական ​​առումով ամենապարզ ձևը առաջընթաց, չվերադարձվող նեյրոնային ցանցն է, որը շատ նման է. բազմաշերտ պերցեպտրոն (բազմաշերտ պերցեպտրոն, MLP), մուտքային շերտով, ելքային շերտով և դրանք միացնող մեկ կամ մի քանի թաքնված շերտերով։
Այնուամենայնիվ, ավտոկոդավորիչների և MLP-ների միջև տարբերությունն այն է, որ ինքնակոդավորիչում ելքային շերտն ունի նույն թվով հանգույցներ, ինչ մուտքային շերտը, և որ X մուտքագրով տրված Y թիրախային արժեքը կանխատեսելու համար մարզվելու փոխարեն, ինքնակոդավորիչը մարզվում է: վերակառուցել իր սեփական X-երը: Հետևաբար, Autoencoder-ները չվերահսկվող ուսուցման մոդելներ են:

Autoencoder-ի խնդիրն է գտնել ժամանակի r0 ... rn ինդեքսները, որոնք համապատասխանում են X մուտքային վեկտորի անոմալ տարրերին: Այս էֆեկտը ձեռք է բերվում քառակուսի սխալի որոնմամբ:

Մենք փնտրում ենք անոմալիաներ և կանխատեսում ենք ձախողումներ՝ օգտագործելով նեյրոնային ցանցերը

Նկար 6. Սինխրոն ինքնակոդավորիչ

Ինքնակոդավորիչի համար ընտրվել է սինխրոն ճարտարապետություն. Դրա առավելությունները՝ հոսքային մշակման ռեժիմի օգտագործման հնարավորությունը և նեյրոնային ցանցի պարամետրերի համեմատաբար փոքր քանակությունը՝ համեմատած այլ ճարտարապետությունների հետ:

Կեղծ պոզիտիվները նվազագույնի հասցնելու մեխանիզմ

Հաշվի առնելով այն հանգամանքը, որ առաջանում են տարբեր աննորմալ իրավիճակներ, ինչպես նաև նեյրոնային ցանցի անբավարար վերապատրաստման հնարավոր իրավիճակը, մշակվող անոմալիաների հայտնաբերման մոդելի համար, որոշվեց, որ անհրաժեշտ է մշակել կեղծ դրականները նվազագույնի հասցնելու մեխանիզմ: Այս մեխանիզմը հիմնված է կաղապարի բազայի վրա, որը դասակարգված է ադմինիստրատորի կողմից:

Դինամիկ ժամանակացույցի փոխակերպման ալգորիթմ (DTW ալգորիթմ, անգլերենի դինամիկ ժամանակի շեղումից) թույլ է տալիս գտնել օպտիմալ համապատասխանությունը ժամանակային հաջորդականությունների միջև: Առաջին անգամ օգտագործվել է խոսքի ճանաչման մեջ. օգտագործվում է որոշելու համար, թե ինչպես են երկու խոսքի ազդանշանները ներկայացնում նույն սկզբնական խոսակցական արտահայտությունը: Հետագայում դրա համար կիրառություն գտավ այլ ոլորտներում։

Կեղծ պոզիտիվները նվազագույնի հասցնելու հիմնական սկզբունքը ստանդարտների տվյալների բազայի հավաքումն է օպերատորի օգնությամբ, որը դասակարգում է նեյրոնային ցանցերի միջոցով հայտնաբերված կասկածելի դեպքերը: Այնուհետև դասակարգված ստանդարտը համեմատվում է այն դեպքի հետ, որը հայտնաբերել է համակարգը, և եզրակացություն է արվում այն ​​մասին, թե արդյոք գործը կեղծ է կամ հանգեցնում է ձախողման: DTW ալգորիթմն օգտագործվում է ճշգրիտ երկու ժամանակային շարքերի համեմատության համար: Մինիմալացման հիմնական գործիքը դեռ դասակարգումն է: Ակնկալվում է, որ մեծ թվով տեղեկանք գործեր հավաքելուց հետո համակարգը կսկսի ավելի քիչ հարցնել օպերատորին՝ դեպքերի մեծ մասի նմանության և նմանատիպ դեպքերի առկայության պատճառով:

Արդյունքում, վերը նկարագրված նեյրոնային ցանցի մեթոդների հիման վրա ստեղծվել է փորձնական ծրագիր՝ կանխատեսելու «Web-Consolidation» համակարգի ձախողումները: Այս ծրագրի նպատակն էր, օգտագործելով մոնիտորինգի տվյալների և նախկին խափանումների վերաբերյալ առկա արխիվը, գնահատել այս մոտեցման իրավասությունը մեր ծրագրային համակարգերի համար: Ծրագրի սխեման ներկայացված է ստորև՝ Նկար 7-ում:

Մենք փնտրում ենք անոմալիաներ և կանխատեսում ենք ձախողումներ՝ օգտագործելով նեյրոնային ցանցերը

Նկար 7. Անհաջողության կանխատեսման սխեման՝ հիմնված մետրային տարածության վերլուծության վրա

Դիագրամում կարելի է առանձնացնել երկու հիմնական բլոկ՝ մոնիտորինգի տվյալների հոսքում ժամանակի անոմալ ժամանակահատվածների որոնում (չափանիշներ) և կեղծ պոզիտիվները նվազագույնի հասցնելու մեխանիզմ: Նշում․
Հետևյալը մշակման արդյունքում ստացված մոնիտորինգի համակարգի միջերեսն է (Նկար 8):

Մենք փնտրում ենք անոմալիաներ և կանխատեսում ենք ձախողումներ՝ օգտագործելով նեյրոնային ցանցերը

Նկար 8. Փորձարարական մոնիտորինգի համակարգի ինտերֆեյս

Ինտերֆեյսը ցուցադրում է անոմալիայի տոկոսը՝ հիմնված ստացված չափումների վրա: Մեր դեպքում ստացականը մոդելավորվում է։ Մենք արդեն ունենք մի քանի շաբաթվա բոլոր տվյալները և աստիճանաբար բեռնում ենք դրանք ձախողման տանող անոմալիայի դեպքը ստուգելու համար։ Ստատուսի ստորին տողում ցուցադրվում է տվյալ պահին տվյալների անոմալիայի ընդհանուր տոկոսը, որը որոշվում է ավտոմատ կոդավորիչի միջոցով: Նաև առանձին տոկոս է ցուցադրվում կանխատեսված չափումների համար, որը հաշվարկվում է RNN LSTM-ի կողմից:

Անոմալիաների հայտնաբերման օրինակ՝ հիմնված պրոցեսորի աշխատանքի վրա, օգտագործելով RNN LSTM նեյրոնային ցանցը (Նկար 9):

Մենք փնտրում ենք անոմալիաներ և կանխատեսում ենք ձախողումներ՝ օգտագործելով նեյրոնային ցանցերը

Գծապատկեր 9. RNN LSTM հայտնաբերում

Բավականին պարզ դեպք, ըստ էության սովորական արտաքուստ, բայց տանող համակարգի ձախողման, հաջողությամբ հաշվարկվել է RNN LSTM-ի միջոցով: Անոմալիայի ցուցիչը այս ժամանակահատվածում 85–95% է, 80%-ից բարձր ամեն ինչ (շեմը որոշվել է փորձնականորեն) համարվում է անոմալիա։
Անոմալիայի հայտնաբերման օրինակ, երբ համակարգը չի կարողացել բեռնել թարմացումից հետո: Այս իրավիճակը հայտնաբերվում է autoencoder-ի կողմից (Նկար 10):

Մենք փնտրում ենք անոմալիաներ և կանխատեսում ենք ձախողումներ՝ օգտագործելով նեյրոնային ցանցերը

Նկար 10. Ավտոկոդավորիչի հայտնաբերման օրինակ

Ինչպես տեսնում եք նկարից, PermGen-ը խրված է մեկ մակարդակի վրա: Ավտոկոդավորիչը սա տարօրինակ թվաց, քանի որ նախկինում նման բան չէր տեսել: Այստեղ անոմալիան մնում է 100%-ով, քանի դեռ համակարգը չի վերադառնում աշխատանքային վիճակի։ Բոլոր չափումների համար ցուցադրվում է անոմալիա: Ինչպես նշվեց ավելի վաղ, autoencoder-ը չի կարող տեղայնացնել անոմալիաները: Օպերատորը կոչված է կատարել այս գործառույթը այս իրավիճակներում:

Ամփոփում

PC «Web-Consolidation»-ը մշակվում է արդեն մի քանի տարի: Համակարգը բավականին կայուն վիճակում է, գրանցված միջադեպերի թիվը քիչ է։ Այնուամենայնիվ, հնարավոր եղավ գտնել անոմալիաներ, որոնք հանգեցնում էին ձախողման 5-10 րոպե առաջ ձախողման առաջանալուց: Որոշ դեպքերում, խափանման մասին նախապես ծանուցումը կօգնի խնայել նախատեսված ժամանակը, որը հատկացվում է «վերանորոգման» աշխատանքների իրականացմանը:

Կատարված փորձերի հիման վրա դեռ վաղ է վերջնական եզրակացություններ անել։ Առայժմ արդյունքները հակասական են։ Մի կողմից, պարզ է, որ նեյրոնային ցանցերի վրա հիմնված ալգորիթմներն ի վիճակի են գտնել «օգտակար» անոմալիաներ։ Մյուս կողմից, մնում է կեղծ պոզիտիվների մեծ տոկոս, և նեյրոնային ցանցում որակավորված մասնագետի կողմից հայտնաբերված բոլոր անոմալիաները չեն կարող հայտնաբերվել: Թերությունները ներառում են այն փաստը, որ այժմ նեյրոնային ցանցը պահանջում է վերապատրաստում ուսուցչի հետ նորմալ աշխատանքի համար:

Խափանումների կանխատեսման համակարգը հետագայում զարգացնելու և այն բավարար վիճակի հասցնելու համար կարելի է մի քանի ուղիներ նախատեսել։ Սա անոմալիաների դեպքերի ավելի մանրամասն վերլուծություն է, որոնք հանգեցնում են ձախողման, ինչը պայմանավորված է համակարգի վիճակի վրա մեծապես ազդող կարևոր չափորոշիչների ցանկին ավելացմամբ և դրա վրա չազդող ավելորդներից հրաժարվելով: Բացի այդ, եթե մենք շարժվենք այս ուղղությամբ, մենք կարող ենք փորձեր անել մասնագիտացնել ալգորիթմները հատուկ մեր դեպքերի համար, որոնք անոմալիաներ են բերում, որոնք հանգեցնում են ձախողումների: Մեկ այլ ճանապարհ էլ կա. Սա նեյրոնային ցանցերի ճարտարապետության բարելավում է և դրանով իսկ մեծացնում է հայտնաբերման ճշգրտությունը՝ ուսուցման ժամանակի կրճատմամբ:

Ես իմ շնորհակալությունն եմ հայտնում իմ գործընկերներին, ովքեր օգնեցին ինձ գրել և պահպանել այս հոդվածի արդիականությունը. Վիկտոր Վերբիցկի և Սերգեյ Ֆինոգենովը։

Source: www.habr.com

Добавить комментарий