Sber.DS-ը հարթակ է, որը թույլ է տալիս ստեղծել և իրականացնել մոդելներ նույնիսկ առանց կոդի

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

Եվ սրանք այն բոլոր փուլերն են, որոնք պետք է ավարտին հասցվեն ցանկացած ընկերությունում՝ անկախ նրա մեծությունից։ Եթե ​​մենք խոսում ենք Սբերբանկի մասշտաբների և ժառանգության մասին, ապա ճշգրտումների թիվը զգալիորեն ավելանում է: 2019 թվականի վերջին Sber-ն արդեն օգտագործել է ավելի քան 2000 մոդել։ Բավական չէ պարզապես մոդելի մշակումը, անհրաժեշտ է ինտեգրվել արդյունաբերական համակարգերին, մշակել տվյալների գծերը մոդելների կառուցման համար և ապահովել կլաստերի վրա դրա գործունեության վերահսկումը:

Sber.DS-ը հարթակ է, որը թույլ է տալիս ստեղծել և իրականացնել մոդելներ նույնիսկ առանց կոդի

Մեր թիմը մշակում է Sber.DS հարթակը: Այն թույլ է տալիս լուծել մեքենայական ուսուցման խնդիրները, արագացնում է վարկածների փորձարկման գործընթացը, սկզբունքորեն պարզեցնում է մոդելների մշակման և վավերացման գործընթացը, ինչպես նաև վերահսկում է մոդելի արդյունքը PROM-ում:

Ձեր ակնկալիքները չխաբելու համար նախապես ուզում եմ ասել, որ այս գրառումը ներածական է, և կտրվածքի տակ, սկզբի համար, մենք խոսում ենք այն մասին, թե ինչ է, սկզբունքորեն, գտնվում է Sber.DS հարթակի գլխարկի տակ։ Առանձին-առանձին կպատմենք մոդելի կյանքի ցիկլի մասին՝ ստեղծումից մինչև իրականացում։

Sber.DS-ը բաղկացած է մի քանի բաղադրիչներից, որոնցից հիմնականներն են գրադարանը, զարգացման համակարգը և մոդելի կատարման համակարգը:

Sber.DS-ը հարթակ է, որը թույլ է տալիս ստեղծել և իրականացնել մոդելներ նույնիսկ առանց կոդի

Գրադարանը վերահսկում է մոդելի կյանքի ցիկլը՝ այն մշակելու գաղափարի ի հայտ գալու պահից մինչև դրա ներդրումը PROM-ում, մոնիտորինգ և շահագործումից հանելը: Գրադարանի բազմաթիվ հնարավորություններ թելադրված են կարգավորիչի կանոններով, օրինակ՝ վերապատրաստման և վավերացման նմուշների հաշվետվությունների և պահպանման մասին: Փաստորեն, սա մեր բոլոր մոդելների ռեգիստրն է։

Զարգացման համակարգը նախատեսված է մոդելների և վավերացման տեխնիկայի տեսողական մշակման համար: Մշակված մոդելները ենթարկվում են նախնական վավերացման և մատակարարվում են կատարողական համակարգին՝ իրենց բիզնես գործառույթները կատարելու համար: Նաև գործարկման ժամանակի համակարգում մոդելը կարող է տեղադրվել մոնիտորի վրա, որպեսզի պարբերաբար գործարկվեն վավերացման տեխնիկան՝ վերահսկելու դրա աշխատանքը:

Համակարգում կան մի քանի տեսակի հանգույցներ. Ոմանք նախագծված են տվյալների տարբեր աղբյուրներին միանալու համար, մյուսները՝ փոխակերպելու աղբյուրի տվյալները և հարստացնելու դրանք (նշում): Կան բազմաթիվ հանգույցներ տարբեր մոդելներ կառուցելու համար և հանգույցներ դրանք վավերացնելու համար: Մշակողը կարող է բեռնել տվյալներ ցանկացած աղբյուրից, վերափոխել, զտել, պատկերացնել միջանկյալ տվյալները և բաժանել դրանք մասերի:

Պլատֆորմը պարունակում է նաև պատրաստի մոդուլներ, որոնք կարելի է քաշել և թողնել դիզայնի տարածք: Բոլոր գործողությունները կատարվում են վիզուալացված ինտերֆեյսի միջոցով: Փաստորեն, դուք կարող եք լուծել խնդիրը առանց կոդի մեկ տողի:

Եթե ​​ներկառուցված հնարավորությունները բավարար չեն, ապա համակարգը հնարավորություն է տալիս արագ ստեղծել ձեր սեփական մոդուլները: Մենք կատարել ենք զարգացման ինտեգրված ռեժիմ՝ հիմնվելով Jupyter Kernel Gateway նրանց համար, ովքեր զրոյից նոր մոդուլներ են ստեղծում:

Sber.DS-ը հարթակ է, որը թույլ է տալիս ստեղծել և իրականացնել մոդելներ նույնիսկ առանց կոդի

Sber.DS-ի ճարտարապետությունը կառուցված է միկրոծառայությունների վրա: Շատ կարծիքներ կան այն մասին, թե ինչ են միկրոսերվիսները։ Ոմանք կարծում են, որ բավական է միաձույլ կոդը բաժանել մասերի, բայց միևնույն ժամանակ նրանք դեռ գնում են նույն տվյալների բազա։ Մեր միկրոսերվիսը պետք է այլ միկրոծառայության հետ հաղորդակցվի միայն REST API-ի միջոցով: Տվյալների բազան ուղղակիորեն մուտք գործելու համար լուծումներ չկան:

Մենք փորձում ենք ապահովել, որ ծառայությունները չդառնան շատ մեծ և անշնորհք. մեկ օրինակը չպետք է սպառի 4-8 գիգաբայթից ավելի RAM և պետք է ապահովի հարցումների հորիզոնական մասշտաբի հնարավորություն՝ գործարկելով նոր օրինակներ: Յուրաքանչյուր ծառայություն ուրիշների հետ շփվում է միայն REST API-ի միջոցով (Բաց API) Ծառայության համար պատասխանատու թիմը պարտավոր է պահպանել API-ն հետադարձաբար մինչև վերջին հաճախորդը, որն օգտագործում է այն:

Հավելվածի առանցքը գրված է Java-ով, օգտագործելով Spring Framework-ը: Լուծումն ի սկզբանե նախատեսված էր ամպային ենթակառուցվածքում արագ տեղակայման համար, ուստի հավելվածը կառուցվել է կոնտեյներացման համակարգի միջոցով: Red Hat OpenShift- ը (Կուբերնետես) Պլատֆորմը մշտապես զարգանում է ինչպես բիզնեսի ֆունկցիոնալության բարձրացման (ավելացվում են նոր միակցիչներ, AutoML), այնպես էլ տեխնոլոգիական արդյունավետության առումով։

Մեր պլատֆորմի առանձնահատկություններից մեկն այն է, որ մենք կարող ենք գործարկել կոդ, որը մշակվել է տեսողական ինտերֆեյսով Սբերբանկի ցանկացած մոդելի կատարման համակարգում: Այժմ դրանք արդեն երկուսն են՝ մեկը Hadoop-ում, մյուսը՝ OpenShift-ում (Docker): Մենք կանգ չենք առնում դրանով և ստեղծում ենք ինտեգրման մոդուլներ՝ ցանկացած ենթակառուցվածքի վրա կոդ գործարկելու համար, ներառյալ ներքին և ամպի մեջ: Ինչ վերաբերում է Սբերբանկի էկոհամակարգին արդյունավետ ինտեգրվելու հնարավորություններին, մենք նախատեսում ենք նաև աջակցել գործող կատարողական միջավայրերի հետ աշխատանքին: Ապագայում լուծումը կարող է ճկուն կերպով ինտեգրվել ցանկացած կազմակերպության ցանկացած լանդշաֆտի մեջ:

Նրանք, ովքեր երբևէ փորձել են աջակցել մի լուծում, որն աշխատում է Python-ը Hadoop-ի վրա PROM-ում, գիտեն, որ դա բավարար չէ յուրաքանչյուր տվյալների հանգույցում Python-ի օգտատերերի միջավայր պատրաստելն ու մատուցելը: Python մոդուլներ օգտագործող մեքենայական ուսուցման համար C/C++ գրադարանների հսկայական քանակությունը թույլ չի տա ձեզ հանգիստ լինել: Մենք պետք է հիշենք թարմացնել փաթեթները նոր գրադարաններ կամ սերվերներ ավելացնելիս՝ միաժամանակ պահպանելով հետընթաց համատեղելիությունը արդեն իսկ ներդրված մոդելային կոդի հետ:

Կան մի քանի մոտեցումներ, թե ինչպես դա անել: Օրինակ, նախօրոք պատրաստեք մի քանի հաճախակի օգտագործվող գրադարաններ և դրանք ներդրեք PROM-ում: Cloudera-ի Hadoop բաշխումը սովորաբար օգտագործում է ծանրոց. Նաև այժմ Hadoop-ում հնարավոր է վազել դոկտոր- բեռնարկղեր. Որոշ պարզ դեպքերում հնարավոր է փաթեթի հետ միասին հանձնել կոդը python.ձու.

Բանկը շատ լուրջ է վերաբերվում երրորդ կողմի կոդի գործարկման անվտանգությանը, ուստի մենք առավելագույնս օգտագործում ենք Linux միջուկի նոր հնարավորությունները, որտեղ գործընթացն աշխատում է մեկուսացված միջավայրում: Linux անվանումների տարածություն, կարող եք սահմանափակել, օրինակ, մուտքը ցանց և տեղական սկավառակ, ինչը զգալիորեն նվազեցնում է վնասակար կոդի հնարավորությունները։ Յուրաքանչյուր գերատեսչության տվյալների տարածքները պաշտպանված են և հասանելի միայն այս տվյալների սեփականատերերին: Պլատֆորմը երաշխավորում է, որ մի տարածքի տվյալները կարող են հասնել մեկ այլ տարածք միայն տվյալների հրապարակման գործընթացի միջոցով, որը վերահսկվում է բոլոր փուլերում՝ աղբյուրների հասանելիությունից մինչև տվյալների նպատակային ցուցափեղկի վայրէջք:

Sber.DS-ը հարթակ է, որը թույլ է տալիս ստեղծել և իրականացնել մոդելներ նույնիսկ առանց կոդի

Այս տարի մենք նախատեսում ենք ավարտել Python/R/Java-ով գրված մոդելների թողարկման MVP-ն Hadoop-ում: Մենք մեր առջեւ դրել ենք հավակնոտ խնդիր՝ սովորել, թե ինչպես վարել ցանկացած հարմարեցված միջավայր Hadoop-ում, որպեսզի որեւէ կերպ չսահմանափակենք մեր հարթակի օգտատերերին:

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

Մենք աշխատում ենք տարբեր ոլորտներում գիտելիքներ ունեցող մարդկանց՝ Linux և DevOps, Hadoop և Spark, Java and Spring, Scala և Akka, OpenShift և Kubernetes: Հաջորդ անգամ մենք կխոսենք մոդելային գրադարանի մասին, թե ինչպես է մոդելն անցնում ընկերության կյանքի ցիկլը, ինչպես է տեղի ունենում վավերացումն ու իրականացումը:

Source: www.habr.com

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