Sber.DS — platvorm, mis vĂ”imaldab luua ja rakendada mudeleid isegi ilma koodita.

IgapÀevaselt tekivad erineva suurusega ettevÔtetes ideid ja kohtumisi, kuidas veel protsesse automatiseerida. Kuid lisaks sellele, et mudeli loomine vÔib vÔtta palju aega, tuleb kulutada aega ka selle hindamisele ja kontrollimisele, et saadud tulemus ei oleks juhuslik. PÀrast rakendamist tuleb igat mudelit jÀlgida ja perioodiliselt kontrollida.

Need on kĂ”ik etapid, mis tuleb lĂ€bida igas ettevĂ”ttes, sĂ”ltumata selle suurusest. Kui rÀÀgime Sberbankist ja selle suurusest, siis nĂŒansside arv kasvab mitmekordselt. 2019. aasta lĂ”puks kasutati Sberis juba ĂŒle 2000 mudeli. Mudeli lihtsalt vĂ€ljatöötamine ei piisa; vajalik on integreeruda tööstussĂŒsteemidega, arendada andmete vitriine mudelite loomiseks ja tagada selle töö hindamine klastris.

Sber.DS — platvorm, mis vĂ”imaldab luua ja rakendada mudeleid isegi ilma koodita.

Meie meeskond arendab platvormi Sber.DS. See aitab lahendada masinĂ”ppe ĂŒlesandeid, kiirendab hĂŒpoteeside kontrollimise protsessi, lihtsustab pĂ”himĂ”tteliselt arendamise ja valideerimise protsessi ning jĂ€lgib mudeli töö tulemust PROMis.

Kuna ma ei soovi teie ootusi petta, tahan ette öelda, et see postitus on sissejuhatav ning allpool rÀÀgime esmalt sellest, mis pĂ”himĂ”tteliselt platvormi Sber.DS aluseks on. Mudeli elutsĂŒklist alates loomise kuni rakendamiseni rÀÀgime eraldi.

Sber.DS koosneb mitmest komponendist, milleks on peamised raamatukogu, arendussĂŒsteem ja mudelite tĂ€itmise sĂŒsteem.

Sber.DS — platvorm, mis vĂ”imaldab luua ja rakendada mudeleid isegi ilma koodita.

Raamatukogu juhib mudeli elutsĂŒklit idee tekkimisest kuni rakendamiseni PROMis, jĂ€lgimise seadistamiseni ja vĂ€ljaarvamiseni kasutusest. Raamatukogu paljusid vĂ”imalusi dikteerivad jĂ€relvalt vĂ€ljaandjad, nĂ€iteks aruandlus ja koolitus- ja valideerimistulemuste sĂ€ilitamine. Tegelikult on see meie mudelite registri register.

ArendussĂŒsteem on mĂ”eldud mudelite ja valideerimismeetodite visuaalseks arendamiseks. Arendatud mudelid lĂ€bivad esialgse valideerimise ja edastatakse tĂ€itmise sĂŒsteemi oma Ă€ritegevuse funktsioonide tĂ€itmiseks. Samuti vĂ”ib tĂ€itmise sĂŒsteemis mudel olla seadistatud monitooringuks, et perioodiliselt kĂ€ivitada valideerimismeetodeid oma töö jĂ€lgimiseks.

SĂŒsteemis on mitu tĂŒĂŒpi sĂ”lmi. Ühed on mĂ”eldud ĂŒhendamiseks erinevate andmeallikatega, teised aga lĂ€hteandmete transformeerimiseks ja nende rikastamiseks (mĂ€rgistamiseks). On palju sĂ”lmi erinevate mudelite koostamiseks ja valideerimiseks. Arendaja saab laadida andmeid mis tahes allikatest, neid muuta, filtreerida, visualiseerida vaheandmeid ning jagada neid osadeks.

Platvorm sisaldab ka juba valmis mooduleid, mida saab lohistada projektialale. KĂ”ik toimingud tehakse visualiseeritud liidese kaudu. Tegelikult on vĂ”imalik probleem lahendada ilma ĂŒheainsa koodirea kirjutamiseta.

Kui sisseehitatud vĂ”imalused ei ole piisavad, pakub sĂŒsteem vĂ”imalust kiiresti luua oma mooduleid. Oleme integreeritud arenduse reĆŸiimi teinud pĂ”hjal Jupyter Kernel Gateway neile, kes loovad uusi mooduleid "nullist".

Sber.DS — platvorm, mis vĂ”imaldab luua ja rakendada mudeleid isegi ilma koodita.

Sber.DS arhitektuur pĂ”hineb mikroteenustel. Mikroteenuste kohta on palju arvamusi. MĂ”ned usuvad, et piisab monoliitse koodi jagamisest osadeks, kuid nad kasutavad ikkagi ĂŒhte ja sama andmebaasi. Meil peab mikroteenus suhtlema teise mikroteenusega ainult REST API kaudu. Otsest andmebaasi juurdepÀÀsu pole lubatud.

PĂŒĂŒame vĂ€ltida, et teenused muutuksid vĂ€ga suurteks ja kohmakateks: ĂŒks eksemplar ei tohi kasutada rohkem kui 4–8 gigabaiti RAM-i ja peab vĂ”imaldama horisontaalset skaleerimist, kĂ€ivitades uusi eksemplare. Iga teenus suhtleb teistega ainult REST API kaudu (Open API). Teenuse eest vastutav meeskond peab sĂ€ilitama API tagurpidi ĂŒhilduvuse viimase kliendini, kes seda kasutab.

Rakenduse sĂŒdamik on kirjutatud Java-s, kasutades Spring Frameworki. Lahendus oli algselt kavandatud kiireks juurutamiseks pilveinfrastruktuuris, mistĂ”ttu on rakendus loodud konteinerite haldamise sĂŒsteemi kasutades. Red Hat OpenShift (Kubernetes). Platvorm areneb pidevalt, lisades nii Ă€ritegevuse funktsioone (uued ĂŒhendajad, AutoML) kui ka tehnolooge tĂ”husust.

Üks meie platvormi „spetsialiteete“ on see, et saame kĂ€itada visuaalses liideses arendatud koodi Sberbanki mudelite igasugustes kĂ€itussĂŒsteemides. Hetkel on neid juba kaks: ĂŒks Hadoopil, teine — OpenShiftis (Docker). Me ei kavatse sellega piirduda ja loome integreerimisvĂ”imalusi koodi kĂ€itamiseks igasugustes infrastruktuurides, sealhulgas kohapeal ja pilves. Mis puutub Sberbanki ökosĂŒsteemi tĂ”husasse integreerimisse, siis plaanime toetada ka olemasolevate kĂ€ituskeskkondade kasutamist. Tulevikus saab lahendust paindlikult integreerida „vĂ€lja pakitud“ mis tahes organisatsiooni maastikku.

Need to manage a Python solution running on Hadoop in a production environment know that it's not just about preparing and delivering a user-specific Python environment to each data node. The vast number of C/C++ libraries for machine learning that utilize Python modules won't let you rest easy. It’s essential to keep packages updated when adding new libraries or servers while maintaining backward compatibility with the existing model code.

There are several approaches to achieve this. For instance, you can pre-prepare some commonly used libraries and integrate them into the production environment. In Cloudera's Hadoop distribution, this is typically done using parcel. Additionally, the ability to run docker-containers is now being introduced in Hadoop. In some straightforward cases, you can deliver the code together with the package python.eggs.

The bank takes the security of running third-party code very seriously, so we maximally utilize new kernel capabilities of Linux, where the process running in an isolated environment Linux namespace, on vĂ”imalik piirata nĂ€iteks juurdepÀÀsu vĂ”rgule ja lokaalsetele ketastele, mis oluliselt vĂ€hendab pahavara vĂ”imalusi. Iga osakonna andmevaldkonnad on kaitstud ja ligipÀÀsetavad ainult nende andmete omanikele. Platvorm garanteerib, et andmed ĂŒhest valdkonnast saavad teise valdkonda liikuda ainult andmete avaldamise protsessi kaudu, mille kĂ€igus kontrollitakse kĂ”iki etappe alates juurdepÀÀsust allikatele kuni andmete jĂ”udmiseni sihtvitriini.

Sber.DS — platvorm, mis vĂ”imaldab luua ja rakendada mudeleid isegi ilma koodita.

Sel aastal plaanime lÔpetada MVP lansseerimise mudelitele, mis on kirjutatud Pythonis/Ris/Java Hadoopil. Oleme endale seadnud ambitsioonika eesmÀrgi Ôppida kÀivitama igasuguseid kohandatud keskkondi Hadoopil, et meie platvormi kasutajatel ei oleks kitsendusi.

Lisaks selgus, et paljud DS-spetsialistid tunnevad hĂ€sti matemaatikat ja statistikat, loovad lahedaid mudeleid, kuid ei tea suurte andmete transformatsioonist vĂ€ga palju ning vajavad meie andmeinseneride abi koolitusvalimite ettevalmistamisel. Otsustasime aidata kolleege ja luua mugavad moodulid tĂŒĂŒpiliseks transformatsiooniks ja funktsioonide ettevalmistamiseks mudelite jaoks Spark-mootoril. See vĂ”imaldab rohkem aega modelleerimisele pĂŒhendada ning ei pea ootama, kuni andmeinsenerid uut andmestikku ette valmistavad.

Meie juures töötavad inimesed, kellel on teadmised erinevates valdkondades: Linux ja DevOps, Hadoop ja Spark, Java ja Spring, Scala ja Akka, OpenShift ja Kubernetes. JÀrgmises osas rÀÀgime mudelite raamatukogust, kuidas mudel lÀbib eluiga ettevÔttes, kuidas toimub valideerimine ja rakendamine.

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster