Sber.DS ir platforma, kas ļauj izveidot un ieviest modeļus pat bez koda

Idejas un tikÅ”anās par to, kādus citus procesus var automatizēt, rodas dažāda lieluma uzņēmumos katru dienu. Bet papildus tam, ka modeļa izveidei var veltÄ«t daudz laika, tas jāvelta tā izvērtÄ“Å”anai un pārbaudei, vai iegÅ«tais rezultāts nav nejauÅ”s. Pēc ievieÅ”anas jebkurÅ” modelis ir jāuzrauga un periodiski jāpārbauda.

Un tie ir visi posmi, kas jāveic jebkurā uzņēmumā neatkarÄ«gi no tā lieluma. Ja mēs runājam par Sberbank mērogu un mantojumu, precizējumu skaits ievērojami palielinās. LÄ«dz 2019. gada beigām Sber jau bija izmantojis vairāk nekā 2000 modeļu. Nepietiek tikai ar modeļa izstrādi, ir nepiecieÅ”ams integrēties ar industriālajām sistēmām, izstrādāt datu centrus modeļu veidoÅ”anai un nodroÅ”ināt tā darbÄ«bas kontroli klasterÄ«.

Sber.DS ir platforma, kas ļauj izveidot un ieviest modeļus pat bez koda

MÅ«su komanda izstrādā Sber.DS platformu. Tas ļauj atrisināt maŔīnmācÄ«Å”anās problēmas, paātrina hipotēžu pārbaudes procesu, principā vienkārÅ”o modeļu izstrādes un apstiprināŔanas procesu, kā arÄ« kontrolē modeļa rezultātu PROM.

Lai nemaldinātu jÅ«su cerÄ«bas, es vēlos iepriekÅ” pateikt, ka Å”is ir ievada ieraksts, un sākumā mēs runājam par to, kas principā atrodas zem Sber.DS platformas pārsega. Par modeļa dzÄ«ves ciklu no radÄ«Å”anas lÄ«dz ievieÅ”anai pastāstÄ«sim atseviŔķi.

Sber.DS sastāv no vairākiem komponentiem, no kuriem galvenie ir bibliotēka, izstrādes sistēma un modeļa izpildes sistēma.

Sber.DS ir platforma, kas ļauj izveidot un ieviest modeļus pat bez koda

Bibliotēka kontrolē modeļa dzÄ«ves ciklu no brīža, kad parādās ideja to izstrādāt, lÄ«dz tā ievieÅ”anai PROM, monitoringam un ekspluatācijas pārtraukÅ”anai. Daudzas bibliotēkas iespējas nosaka regulatora noteikumi, piemēram, apmācÄ«bas un validācijas paraugu ziņoÅ”ana un uzglabāŔana. Faktiski Å”is ir visu mÅ«su modeļu reÄ£istrs.

Izstrādes sistēma ir paredzēta modeļu un validācijas metožu vizuālai izstrādei. Izstrādātie modeļi tiek sākotnēji pārbaudÄ«ti un tiek piegādāti izpildes sistēmai to biznesa funkciju veikÅ”anai. ArÄ« izpildlaika sistēmā modeli var ievietot monitorā, lai periodiski palaistu validācijas metodes tā darbÄ«bas uzraudzÄ«bai.

Sistēmā ir vairāki mezglu veidi. Daži ir paredzēti, lai izveidotu savienojumu ar dažādiem datu avotiem, citi ir paredzēti avota datu pārveidoÅ”anai un bagātināŔanai (marķējums). Ir daudz mezglu dažādu modeļu veidoÅ”anai un mezglu to apstiprināŔanai. Izstrādātājs var ielādēt datus no jebkura avota, pārveidot, filtrēt, vizualizēt starpposma datus un sadalÄ«t tos daļās.

Platformā ir arī gatavi moduļi, kurus var vilkt un nomest dizaina zonā. Visas darbības tiek veiktas, izmantojot vizualizētu saskarni. Faktiski jūs varat atrisināt problēmu bez vienas koda rindiņas.

Ja ar iebÅ«vētajām iespējām nepietiek, sistēma nodroÅ”ina iespēju ātri izveidot savus moduļus. Mēs izveidojām integrētu izstrādes režīmu, pamatojoties uz Jupyter kodola vārteja tiem, kas veido jaunus moduļus no nulles.

Sber.DS ir platforma, kas ļauj izveidot un ieviest modeļus pat bez koda

Sber.DS arhitektÅ«ra ir balstÄ«ta uz mikropakalpojumiem. Ir daudz viedokļu par to, kas ir mikropakalpojumi. Daži cilvēki domā, ka ir pietiekami sadalÄ«t monolÄ«tu kodu daļās, bet tajā paŔā laikā viņi joprojām dodas uz to paÅ”u datu bāzi. MÅ«su mikropakalpojumam ir jāsazinās ar citu mikropakalpojumu, tikai izmantojot REST API. Nav risinājumu, lai tieÅ”i piekļūtu datu bāzei.

Mēs cenÅ”amies nodroÅ”ināt, lai pakalpojumi nekļūtu ļoti lieli un neveikli: viena instance nedrÄ«kst patērēt vairāk par 4-8 gigabaitiem RAM un jānodroÅ”ina iespēja horizontāli mērogot pieprasÄ«jumus, palaižot jaunas instances. Katrs pakalpojums sazinās ar citiem tikai caur REST API (Atvērt API). Par pakalpojumu atbildÄ«gajai komandai ir jāuztur API atpakaļsaderÄ«ba lÄ«dz pēdējam klientam, kas to izmanto.

Lietojumprogrammas kodols ir rakstÄ«ts Java, izmantojot Spring Framework. Risinājums sākotnēji bija paredzēts ātrai izvietoÅ”anai mākoņu infrastruktÅ«rā, tāpēc lietojumprogramma tika veidota, izmantojot konteinerizācijas sistēmu Red Hat OpenShift (Kubernetes). Platforma nepārtraukti attÄ«stās gan biznesa funkcionalitātes palielināŔanas (tiek pievienoti jauni savienotāji, AutoML), gan tehnoloÄ£iskās efektivitātes ziņā.

Viena no mÅ«su platformas iespējām ir tāda, ka mēs varam palaist kodu, kas izstrādāts vizuālā saskarnē jebkurā Sberbank modeļa izpildes sistēmā. Tagad jau ir divi no tiem: viens Hadoop, otrs OpenShift (Docker). Mēs neapstājamies pie tā un veidojam integrācijas moduļus, lai palaistu kodu jebkurā infrastruktÅ«rā, tostarp lokālajā un mākonÄ«. AttiecÄ«bā uz iespējām efektÄ«vi integrēties Sberbank ekosistēmā, mēs arÄ« plānojam atbalstÄ«t darbu ar esoÅ”ajām izpildes vidēm. Nākotnē risinājumu varēs elastÄ«gi integrēt ā€œno kastesā€ jebkurā jebkuras organizācijas ainavā.

Tie, kas kādreiz ir mēģinājuÅ”i atbalstÄ«t risinājumu, kas palaiž Python Hadoop programmā PROM, zina, ka nepietiek ar Python lietotāja vides sagatavoÅ”anu un piegādi katram datu mezglam. Lielais C/C++ bibliotēku skaits maŔīnmācÄ«bai, kas izmanto Python moduļus, neļaus jums bÅ«t mierÄ«gam. Mums ir jāatceras atjaunināt pakotnes, pievienojot jaunas bibliotēkas vai serverus, vienlaikus saglabājot atpakaļejoÅ”u saderÄ«bu ar jau ieviesto modeļa kodu.

Ir vairākas pieejas, kā to izdarÄ«t. Piemēram, iepriekÅ” sagatavojiet vairākas bieži lietotas bibliotēkas un ieviesiet tās PROM. Cloudera Hadoop izplatÄ«Å”anā viņi parasti izmanto zemes gabals. ArÄ« tagad Hadoop ir iespējams skriet dokers- konteineri. Dažos vienkārÅ”os gadÄ«jumos kodu ir iespējams piegādāt kopā ar paku pitons.olas.

Banka ļoti nopietni uztver treŔās puses koda palaiÅ”anas droŔību, tāpēc mēs maksimāli izmantojam Linux kodola jaunās iespējas, kur process darbojas izolētā vidē. Linux nosaukumvieta, varat ierobežot, piemēram, piekļuvi tÄ«klam un lokālajam diskam, kas ievērojami samazina ļaunprātÄ«gā koda iespējas. Katras nodaļas datu apgabali ir aizsargāti un pieejami tikai Å”o datu Ä«paÅ”niekiem. Platforma nodroÅ”ina, ka dati no viena apgabala var sasniegt citu apgabalu, tikai izmantojot datu publicÄ“Å”anas procesu ar kontroli visos posmos no piekļuves avotiem lÄ«dz datu nonākÅ”anai mērÄ·a veikalā.

Sber.DS ir platforma, kas ļauj izveidot un ieviest modeļus pat bez koda

Å ogad mēs plānojam pabeigt Python/R/Java valodā rakstÄ«tu modeļu palaiÅ”anas MVP vietnē Hadoop. Mēs esam izvirzÄ«juÅ”i sev ambiciozu uzdevumu iemācÄ«ties palaist jebkuru pielāgotu vidi Hadoop, lai nekādā veidā neierobežotu mÅ«su platformas lietotājus.

Turklāt, kā izrādÄ«jās, daudzi DS speciālisti lieliski pārvalda matemātiku un statistiku, veido forÅ”us modeļus, taču nav Ä«paÅ”i labi orientēti lielo datu transformācijās, un viņiem nepiecieÅ”ama mÅ«su datu inženieru palÄ«dzÄ«ba, lai sagatavotu mācÄ«bu paraugus. Mēs nolēmām palÄ«dzēt saviem kolēģiem un izveidot ērtus moduļus standarta pārveidoÅ”anai un funkciju sagatavoÅ”anai Spark dzinēja modeļiem. Tas ļaus jums pavadÄ«t vairāk laika modeļu izstrādei, nevis gaidÄ«t, kamēr datu inženieri sagatavos jaunu datu kopu.

Mēs nodarbinām cilvēkus ar zināŔanām dažādās jomās: Linux un DevOps, Hadoop un Spark, Java un Spring, Scala un Akka, OpenShift un Kubernetes. Nākamajā reizē mēs runāsim par modeļu bibliotēku, kā modelis iziet dzÄ«ves ciklu uzņēmumā, kā notiek validācija un ievieÅ”ana.

Avots: www.habr.com

Pievieno komentāru