Sber.DS er vettvangur sem gerir þér kleift að búa til og útfæra líkan jafnvel án kóða

Hugmyndir og fundir um hvaða aðra ferla er hægt að gera sjálfvirkan á koma upp í fyrirtækjum af ýmsum stærðum á hverjum degi. En auk þess sem hægt er að eyða miklum tíma í að búa til líkan þarf að eyða honum í að meta það og athuga hvort niðurstaðan sem fæst sé ekki tilviljunarkennd. Eftir innleiðingu verður að fylgjast með hvaða líkani sem er og skoða reglulega.

Og þetta eru allir áfangar sem þarf að klára í hvaða fyrirtæki sem er, óháð stærð þess. Ef við erum að tala um umfang og arfleifð Sberbank eykst fjöldi fínstillinga verulega. Í lok árs 2019 hafði Sber þegar notað meira en 2000 gerðir. Það er ekki nóg að þróa bara líkan, það er nauðsynlegt að samþætta iðnaðarkerfum, þróa gagnamars til að byggja líkön og tryggja stjórn á rekstri þess á klasanum.

Sber.DS er vettvangur sem gerir þér kleift að búa til og útfæra líkan jafnvel án kóða

Lið okkar er að þróa Sber.DS vettvang. Það gerir þér kleift að leysa vélanámsvandamál, flýtir fyrir prófunarferli tilgáta, einfaldar í grundvallaratriðum ferlið við að þróa og staðfesta líkön og stjórnar einnig niðurstöðu líkansins í PROM.

Til þess að blekkja ekki væntingar þínar vil ég segja fyrirfram að þessi færsla er inngangsfærsla og undir skurðinum, til að byrja með, tölum við um það sem í grundvallaratriðum er undir hettunni á Sber.DS pallinum. Við munum segja söguna um lífsferil líkansins frá sköpun til innleiðingar sérstaklega.

Sber.DS samanstendur af nokkrum hlutum, lykillinn er bókasafnið, þróunarkerfið og framkvæmdarkerfið.

Sber.DS er vettvangur sem gerir þér kleift að búa til og útfæra líkan jafnvel án kóða

Safnið stjórnar lífsferli líkansins frá því að hugmyndin um að þróa það birtist þar til það er innleitt í PROM, eftirliti og úreldingu. Margir möguleikar bókasafna ráðast af reglum eftirlitsstofnana, til dæmis skýrslugjöf og geymslu þjálfunar og staðfestingarsýna. Í raun er þetta skrá yfir allar gerðir okkar.

Þróunarkerfið er hannað fyrir sjónræna þróun líkana og löggildingartækni. Þróuðu líkanin gangast undir fyrstu löggildingu og eru send til framkvæmdakerfisins til að framkvæma viðskiptaaðgerðir sínar. Einnig, í keyrslukerfinu, er hægt að setja líkanið á skjá í þeim tilgangi að ræsa reglulega löggildingartækni til að fylgjast með rekstri þess.

Það eru nokkrar tegundir af hnútum í kerfinu. Sum eru hönnuð til að tengjast ýmsum gagnaveitum, önnur eru hönnuð til að umbreyta upprunagögnum og auðga þau (markup). Það eru margir hnútar til að byggja upp mismunandi gerðir og hnútar til að staðfesta þau. Framkvæmdaraðilinn getur hlaðið gögnum frá hvaða uppruna sem er, umbreytt, síað, séð fyrir millistigsgögnum og skipt þeim í hluta.

Pallurinn inniheldur einnig tilbúnar einingar sem hægt er að draga og sleppa á hönnunarsvæðið. Allar aðgerðir eru gerðar með sjónrænu viðmóti. Reyndar geturðu leyst vandamálið án einnar kóðalínu.

Ef innbyggðu hæfileikarnir duga ekki, veitir kerfið möguleika á að búa til þínar eigin einingar fljótt. Við gerðum samþættan þróunarham byggt á Jupyter Kernel Gateway fyrir þá sem búa til nýjar einingar frá grunni.

Sber.DS er vettvangur sem gerir þér kleift að búa til og útfæra líkan jafnvel án kóða

Arkitektúr Sber.DS er byggður á örþjónustu. Það eru margar skoðanir um hvað örþjónustur eru. Sumir halda að það sé nóg að skipta einliða kóðanum í hluta, en á sama tíma fara þeir samt í sama gagnagrunninn. Örþjónusta okkar verður að hafa samskipti við aðra örþjónustu aðeins í gegnum REST API. Engar lausnir til að fá beint aðgang að gagnagrunninum.

Við reynum að tryggja að þjónusta verði ekki mjög stór og klaufaleg: eitt tilvik ætti ekki að neyta meira en 4-8 gígabæta af vinnsluminni og verður að veita getu til að stækka beiðnir lárétt með því að opna ný tilvik. Hver þjónusta hefur aðeins samskipti við aðra í gegnum REST API (Opnaðu API). Teymið sem ber ábyrgð á þjónustunni þarf að halda API afturábaksamhæfu þar til síðasti viðskiptavinurinn notar það.

Kjarni forritsins er skrifaður í Java með því að nota Spring Framework. Lausnin var upphaflega hönnuð fyrir hraða dreifingu í skýjainnviði, þannig að forritið var smíðað með gámakerfi RedHat OpenShift (Kubernetes). Vettvangurinn er í stöðugri þróun, bæði hvað varðar aukna viðskiptavirkni (nýjum tengjum, AutoML bætast við) og hvað varðar tæknilega hagkvæmni.

Einn af eiginleikum vettvangsins okkar er að við getum keyrt kóða sem þróaður er í sjónrænu viðmóti á hvaða Sberbank líkan sem er framkvæmt kerfi. Nú þegar eru tveir þeirra: einn á Hadoop, hinn á OpenShift (Docker). Við stoppum ekki þar og búum til samþættingareiningar til að keyra kóða á hvaða innviði sem er, þar á meðal á staðnum og í skýinu. Varðandi möguleikana á skilvirkri samþættingu inn í Sberbank vistkerfið, ætlum við einnig að styðja við vinnu með núverandi framkvæmdaumhverfi. Í framtíðinni er hægt að samþætta lausnina á sveigjanlegan hátt „úr kassanum“ inn í hvaða landslag sem er í hvaða stofnun sem er.

Þeir sem hafa einhvern tíma reynt að styðja við lausn sem keyrir Python á Hadoop í PROM vita að það er ekki nóg að undirbúa og afhenda Python notendaumhverfi á hverja gagnanóðu. Mikill fjöldi C/C++ bókasöfna fyrir vélanám sem nota Python einingar mun ekki leyfa þér að vera rólegur. Við verðum að muna að uppfæra pakka þegar nýjum bókasöfnum eða netþjónum er bætt við, en viðhalda afturábakssamhæfi við þegar útfærðan líkankóða.

Það eru nokkrar aðferðir til að gera þetta. Til dæmis, undirbúa nokkur oft notuð bókasöfn fyrirfram og innleiða þau í PROM. Í Hadoop dreifingu Cloudera nota þeir venjulega pakki. Einnig núna í Hadoop er hægt að hlaupa bryggju-ílát. Í sumum einföldum tilfellum er hægt að afhenda kóðann ásamt pakkanum python.egg.

Bankinn tekur öryggi þess að keyra kóða þriðja aðila mjög alvarlega, þannig að við nýtum nýju eiginleika Linux kjarnans, þar sem ferli keyrir í einangruðu umhverfi Linux nafnrými, getur þú takmarkað, til dæmis, aðgang að netinu og staðbundnum diski, sem dregur verulega úr getu skaðlegs kóða. Gagnasvæði hverrar deildar eru vernduð og aðeins aðgengileg eigendum þeirra gagna. Vettvangurinn tryggir að gögn frá einu svæði geti aðeins náð til annars svæðis í gegnum gagnaútgáfuferli með eftirliti á öllum stigum frá aðgangi að heimildum til lendingar gagna í markbúðinni.

Sber.DS er vettvangur sem gerir þér kleift að búa til og útfæra líkan jafnvel án kóða

Á þessu ári ætlum við að ljúka MVP um að koma módelum á markað skrifuð í Python/R/Java á Hadoop. Við höfum sett okkur það metnaðarfulla verkefni að læra hvernig á að keyra sérsniðið umhverfi á Hadoop, til að takmarka ekki notendur pallsins okkar á nokkurn hátt.

Þar að auki, eins og það kom í ljós, eru margir DS sérfræðingar frábærir í stærðfræði og tölfræði, búa til flott líkön, en eru ekki mjög vel að sér í umbreytingum stórra gagna, og þeir þurfa hjálp gagnaverkfræðinga okkar til að undirbúa þjálfunarsýni. Við ákváðum að hjálpa samstarfsfólki okkar og búa til þægilegar einingar fyrir staðlaða umbreytingu og undirbúning eiginleika fyrir gerðir á Spark vélinni. Þetta gerir þér kleift að eyða meiri tíma í að þróa líkön og ekki bíða eftir að gagnaverkfræðingar útbúi nýtt gagnasafn.

Hjá okkur starfar fólk með þekkingu á mismunandi sviðum: Linux og DevOps, Hadoop og Spark, Java og Spring, Scala og Akka, OpenShift og Kubernetes. Næst verður fjallað um líkansafnið, hvernig líkanið fer í gegnum lífsferilinn innan fyrirtækisins, hvernig löggilding og innleiðing á sér stað.

Heimild: www.habr.com

Bæta við athugasemd