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

Idejas un diskusijas par to, kādus citus procesus varētu automatizēt, rodas katru dienu visu lielumu uzņēmumos. Taču, lai gan modeļa izveide var aizņemt ievērojamu laiku, tas prasa arÄ« laiku, kas pavadÄ«ts tā izvērtēŔanā un pārbaudē, vai rezultāti nav nejauÅ”i. Pēc ievieÅ”anas jebkurÅ” modelis ir jāuzrauga un periodiski jāpārskata.

Å ie visi ir posmi, kas jāiziet jebkuram uzņēmumam neatkarÄ«gi no tā lieluma. Ņemot vērā Sberbank mērogu un mantojumu, precizēŔanas prasÄ«bu skaits pieaug eksponenciāli. LÄ«dz 2019. gada beigām Sberbank jau izmantoja vairāk nekā 2000 modeļu. Ar modeļa izstrādi vienkārÅ”i nepietiek; ir nepiecieÅ”ama integrācija ar rÅ«pnieciskajām sistēmām, datu krātuvju izstrāde modeļu veidoÅ”anai un tā uzraudzÄ«bas nodroÅ”ināŔana visā klasterÄ«.

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

MÅ«su komanda izstrādā Sber.DS platformu. Tā nodroÅ”ina maŔīnmācīŔanās uzdevumu veikÅ”anu, paātrina hipotēžu testēŔanu, vienkārÅ”o modeļu izstrādi un validāciju, kā arÄ« uzrauga modeļa veiktspēju PROM vidē.

Lai izvairÄ«tos no vilÅ”anās, vēlos uzreiz norādÄ«t, ka Å”is ieraksts ir ievads, un turpmāk es sākÅ”u ar Sber.DS platformas darbÄ«bas pamatprincipu paskaidroÅ”anu. Modeļa dzÄ«ves ciklu, sākot no izveides lÄ«dz ievieÅ”anai, aplÅ«kosim atseviŔķā rakstā.

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 pārvalda modeļa dzÄ«ves ciklu, sākot no brīža, kad rodas ideja par tā izstrādi, lÄ«dz tā ievieÅ”anai PROM, uzraudzÄ«bai un deaktivizēŔanai. Daudzas bibliotēkas iespējas nosaka normatÄ«vie noteikumi, piemēram, apmācÄ«bas un validācijas datu kopu ziņoÅ”ana un glabāŔana. BÅ«tÄ«bā tas 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 pakļauti sākotnējai validācijai un tiek piegādāti izpildes sistēmai, lai veiktu savas biznesa funkcijas. Modeli var arī uzraudzīt izpildes sistēmā, lai periodiski palaistu validācijas metodes tā darbības uzraudzībai.

Sistēmai ir vairāku veidu mezgli. Daži ir paredzēti savienojuma izveidei ar dažādiem datu avotiem, bet citi tiek izmantoti avota datu pārveidoÅ”anai un bagātināŔanai (apzÄ«mēŔanai). Ir daudz mezglu dažādu modeļu veidoÅ”anai un mezgli to validēŔanai. Izstrādātājs var ielādēt datus no jebkura avota, pārveidot, filtrēt, vizualizēt starpdatus un sadalÄ«t tos daļās.

Platformā ir iekļauti arī gatavi moduļi, kurus var vilkt un nomest projekta apgabalā. Visas darbības tiek veiktas, izmantojot vizuālu saskarni. Faktiski problēmu var atrisināt, nerakstot nevienu koda rindiņu.

Ja iebÅ«vētās iespējas nav pietiekamas, sistēma nodroÅ”ina iespēju ātri izveidot savus moduļus. Esam izveidojuÅ”i integrētu izstrādes režīmu, kas balstÄ«ts 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 veidota uz mikropakalpojumiem. Pastāv daudzi viedokļi par to, kas ir mikropakalpojumi. Daži uzskata, ka pietiek ar monolīta koda sadalīŔanu daļās, taču tās joprojām piekļūst vienai un tai paŔai datubāzei. Mūsuprāt, mikropakalpojumam ir jāsazinās ar citu mikropakalpojumu tikai caur REST API. Nav risinājumu tieŔai piekļuvei datubāzei.

Mēs cenÅ”amies nepieļaut, ka pakalpojumi kļūst pārāk lieli un apgrÅ«tinoÅ”i: vienai instancei nevajadzētu patērēt vairāk par 4–8 gigabaitiem RAM un tai jāspēj horizontāli mērogot pieprasÄ«jumus, palaižot jaunas instances. Katrs pakalpojums sazinās ar citiem tikai, izmantojot REST API (Atvērt API). Par pakalpojumu atbildÄ«gā komanda ir spiesta uzturēt API atpakaļsaderÄ«bu lÄ«dz pēdējam klientam, kas to izmanto.

Lietojumprogrammas kodols ir rakstÄ«ts Java valodā, izmantojot Spring Framework. Risinājums tika izstrādāts no paÅ”a sākuma, lai to varētu ātri izvietot mākoņinfrastruktÅ«rā, tāpēc tas tika veidots, izmantojot konteinerizācijas sistēmu. Red Hat OpenShift (KubernetesPlatforma nepārtraukti attÄ«stās gan biznesa funkcionalitātes paplaÅ”ināŔanas (tiek pievienoti jauni savienotāji un AutoML), gan tehnoloÄ£iskās efektivitātes ziņā.

Viena no mÅ«su platformas galvenajām iezÄ«mēm ir tā, ka mēs varam palaist vizuālajā saskarnē izstrādātu kodu jebkurā Sberbank izpildlaika sistēmā. PaÅ”laik mums ir divas: viena Hadoop un viena OpenShift (Docker). Mēs neapstājamies pie tā, veidojot integrācijas moduļus koda palaiÅ”anai jebkurā infrastruktÅ«rā, tostarp lokāli un mākonÄ«. Lai nodroÅ”inātu efektÄ«vu integrāciju Sberbank ekosistēmā, mēs plānojam atbalstÄ«t arÄ« esoŔās izpildlaika vides. Nākotnē risinājumu varēs elastÄ«gi integrēt "ārpus kastes" jebkuras organizācijas vidē.

Ikviens, kurÅ” jebkad ir mēģinājis atbalstÄ«t risinājumu, kas darbojas ar Python operētājsistēmā Hadoop PROM vidē, zina, ka vienkārÅ”i sagatavot un izvietot pielāgotu Python vidi katrā datu mezglā nav pietiekami. MilzÄ«gais C/C++ maŔīnmācīŔanās bibliotēku skaits, kas izmanto Python moduļus, jÅ«s liks elpai aizrauties. Pievienojot jaunas bibliotēkas vai serverus, jāatceras atjaunināt pakotnes, saglabājot atpakaļsaderÄ«bu ar esoÅ”o modeļa kodu.

To var izdarÄ«t vairākos veidos. Piemēram, iepriekÅ” sagatavot vairākas bieži izmantotas bibliotēkas un ieviest tās PROM. Cloudera Hadoop distribÅ«cija parasti izmanto zemes gabalsArÄ« tagad Hadoop ir iespēja palaist dokers-konteineri. Dažos vienkārÅ”os gadÄ«jumos kodu ir iespējams piegādāt kopā ar iepakojumu. python.eggs.

Banka ļoti nopietni uztver treÅ”o puÅ”u koda palaiÅ”anas droŔību, tāpēc mēs maksimāli izmantojam jaunās kodola funkcijas. Linux, kur process darbojas izolētā vidē Linux namespacePiemēram, piekļuvi tÄ«klam un lokālajam diskam var ierobežot, ievērojami samazinot ļaunprātÄ«ga koda iespējamÄ«bu. Katras nodaļas datu zonas ir aizsargātas un pieejamas tikai Å”o datu Ä«paÅ”niekiem. Platforma nodroÅ”ina, ka dati no vienas zonas var sasniegt citu tikai caur datu publicēŔanas procesu ar kontroli visos posmos, sākot no piekļuves avotiem lÄ«dz datu nonākÅ”anai mērÄ·a krātuvē.

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

Å ogad plānojam pabeigt MVP testu Python/R/Java valodā rakstÄ«tu modeļu palaiÅ”anai Hadoop vidē. Esam izvirzÄ«juÅ”i sev ambiciozu mērÄ·i iemācÄ«ties palaist jebkuru lietotāja vidi Hadoop vidē, lai nekādā veidā neierobežotu mÅ«su platformas lietotājus.

Turklāt izrādās, ka daudzi datu zinātnieki ir labi pārzina matemātiku un statistiku un veido lieliskus modeļus, taču viņiem trÅ«kst pamatÄ«gas izpratnes par lielo datu transformācijām un viņiem ir nepiecieÅ”ama mÅ«su datu inženieru palÄ«dzÄ«ba, lai sagatavotu apmācÄ«bas datu kopas. Mēs nolēmām palÄ«dzēt saviem kolēģiem, izveidojot lietotājam draudzÄ«gus moduļus standarta transformācijām un funkciju sagatavoÅ”anai Spark balstÄ«tiem modeļiem. Tas ļaus mums veltÄ«t vairāk laika modeļu izstrādei un izvairÄ«ties no gaidīŔanas, 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, to, kā modelis virzās cauri dzÄ«ves ciklam uzņēmumā, un kā notiek validācija un ievieÅ”ana.

Avots: www.habr.com

Iegādājieties uzticamu mitināŔanu vietnēm ar DDoS aizsardzÄ«bu, VPS VDS serveriem šŸ”„ Iegādājieties uzticamu tÄ«mekļa vietņu mitināŔanu ar DDoS aizsardzÄ«bu, VPS VDS serveriem | ProHoster