Sber.DS ni jukwaa ambalo hukuruhusu kuunda na kutekeleza mifano hata bila msimbo

Mawazo na mikutano kuhusu michakato mingine inaweza kuwa kiotomatiki hujitokeza katika biashara za ukubwa mbalimbali kila siku. Lakini pamoja na ukweli kwamba muda mwingi unaweza kutumika katika kuunda mfano, unahitaji kuitumia kwa kutathmini na kuangalia kwamba matokeo yaliyopatikana sio random. Baada ya utekelezaji, mtindo wowote lazima ufuatiliwe na uangaliwe mara kwa mara.

Na hizi ni hatua zote zinazohitajika kukamilika katika kampuni yoyote, bila kujali ukubwa wake. Ikiwa tunazungumza juu ya kiwango na urithi wa Sberbank, idadi ya urekebishaji mzuri huongezeka sana. Kufikia mwisho wa 2019, Sber ilikuwa tayari imetumia mifano zaidi ya 2000. Haitoshi tu kuendeleza mfano; ni muhimu kuunganishwa na mifumo ya viwanda, kuendeleza mifumo ya data kwa mifano ya ujenzi, na kuhakikisha udhibiti wa uendeshaji wake kwenye nguzo.

Sber.DS ni jukwaa ambalo hukuruhusu kuunda na kutekeleza mifano hata bila msimbo

Timu yetu inatengeneza jukwaa la Sber.DS. Inakuwezesha kutatua matatizo ya kujifunza kwa mashine, kuharakisha mchakato wa kupima hypotheses, kwa kanuni hurahisisha mchakato wa kuendeleza na kuthibitisha mifano, na pia kudhibiti matokeo ya mfano katika PROM.

Ili sio kudanganya matarajio yako, nataka kusema mapema kwamba chapisho hili ni la utangulizi, na chini ya kukata, kwa mwanzo, tunazungumzia juu ya nini, kimsingi, ni chini ya hood ya jukwaa la Sber.DS. Tutasimulia hadithi kuhusu mzunguko wa maisha wa modeli kutoka kwa uumbaji hadi utekelezaji tofauti.

Sber.DS ina vipengele kadhaa, muhimu ni maktaba, mfumo wa maendeleo na mfumo wa utekelezaji wa mfano.

Sber.DS ni jukwaa ambalo hukuruhusu kuunda na kutekeleza mifano hata bila msimbo

Maktaba hudhibiti mzunguko wa maisha wa modeli kutoka wakati wazo la kuikuza linaonekana hadi utekelezaji wake katika PROM, ufuatiliaji na uondoaji. Uwezo mwingi wa maktaba unaagizwa na sheria za mdhibiti, kwa mfano, kuripoti na kuhifadhi sampuli za mafunzo na uthibitishaji. Kwa kweli, hii ni rejista ya mifano yetu yote.

Mfumo wa maendeleo umeundwa kwa ajili ya maendeleo ya kuona ya mifano na mbinu za kuthibitisha. Mifano zilizotengenezwa hupitia uthibitisho wa awali na hutolewa kwa mfumo wa utekelezaji ili kufanya kazi zao za biashara. Pia, katika mfumo wa kukimbia, mfano unaweza kuwekwa kwenye kufuatilia kwa madhumuni ya kuzindua mara kwa mara mbinu za uthibitishaji ili kufuatilia uendeshaji wake.

Kuna aina kadhaa za nodi kwenye mfumo. Baadhi zimeundwa kuunganishwa na vyanzo mbalimbali vya data, nyingine zimeundwa ili kubadilisha data ya chanzo na kuiboresha (markup). Kuna nodi nyingi za kujenga mifano tofauti na nodi za kuzithibitisha. Msanidi anaweza kupakia data kutoka kwa chanzo chochote, kubadilisha, kuchuja, kuibua data ya kati, na kuivunja katika sehemu.

Jukwaa pia lina moduli zilizotengenezwa tayari ambazo zinaweza kuburutwa na kuangushwa kwenye eneo la muundo. Vitendo vyote vinafanywa kwa kutumia kiolesura cha taswira. Kwa kweli, unaweza kutatua tatizo bila mstari mmoja wa kanuni.

Ikiwa uwezo wa kujengwa hautoshi, mfumo hutoa uwezo wa kuunda moduli zako haraka. Tulitengeneza modi iliyojumuishwa ya ukuzaji kulingana na Jupyter Kernel Gateway kwa wale wanaounda moduli mpya kutoka mwanzo.

Sber.DS ni jukwaa ambalo hukuruhusu kuunda na kutekeleza mifano hata bila msimbo

Usanifu wa Sber.DS umejengwa kwenye huduma ndogo. Kuna maoni mengi kuhusu microservices ni nini. Watu wengine wanafikiri kuwa ni ya kutosha kugawanya msimbo wa monolithic katika sehemu, lakini wakati huo huo bado huenda kwenye hifadhidata sawa. Huduma yetu ndogo lazima iwasiliane na huduma nyingine ndogo kupitia REST API. Hakuna njia za kufikia hifadhidata moja kwa moja.

Tunajaribu kuhakikisha kuwa huduma zisiwe kubwa sana na zenye utata: mfano mmoja haupaswi kutumia zaidi ya gigabaiti 4-8 za RAM na lazima utoe uwezo wa kuongeza maombi kwa mlalo kwa kuzindua matukio mapya. Kila huduma huwasiliana na wengine kupitia REST API pekee (Fungua API) Timu inayohusika na huduma inahitajika kuweka API nyuma iendane hadi mteja wa mwisho anayeitumia.

Msingi wa programu imeandikwa katika Java kwa kutumia Mfumo wa Spring. Suluhisho hapo awali liliundwa kwa kupelekwa kwa haraka katika miundombinu ya wingu, kwa hivyo programu ilijengwa kwa kutumia mfumo wa uwekaji vyombo. Red Hat OpenShift (Mabernet) Jukwaa linabadilika kila wakati, kwa suala la kuongeza utendaji wa biashara (viunganisho vipya, AutoML vinaongezwa) na kwa suala la ufanisi wa kiteknolojia.

Moja ya vipengele vya jukwaa letu ni kwamba tunaweza kukimbia msimbo uliotengenezwa katika interface ya kuona kwenye mfumo wowote wa utekelezaji wa mfano wa Sberbank. Sasa tayari kuna mbili kati yao: moja kwenye Hadoop, nyingine kwenye OpenShift (Docker). Hatuishii hapo na kuunda moduli za ujumuishaji ili kuendesha msimbo kwenye miundombinu yoyote, pamoja na msingi na katika wingu. Kuhusu uwezekano wa kuunganishwa kwa ufanisi katika mfumo wa ikolojia wa Sberbank, tunapanga pia kusaidia kazi na mazingira yaliyopo ya utekelezaji. Katika siku zijazo, suluhisho linaweza kuunganishwa kwa urahisi "nje ya sanduku" katika mazingira yoyote ya shirika lolote.

Wale ambao wamewahi kujaribu kuunga mkono suluhisho ambalo linaendesha Python kwenye Hadoop katika PROM wanajua kuwa haitoshi kuandaa na kutoa mazingira ya mtumiaji wa Python kwa kila datanodi. Idadi kubwa ya maktaba za C/C++ za kujifunza kwa mashine zinazotumia moduli za Python hazitakuruhusu kupumzika kwa urahisi. Ni lazima tukumbuke kusasisha vifurushi tunapoongeza maktaba au seva mpya, huku tukidumisha upatanifu wa nyuma na msimbo wa kielelezo uliotekelezwa tayari.

Kuna mbinu kadhaa za jinsi ya kufanya hivyo. Kwa mfano, tayarisha maktaba kadhaa zinazotumiwa mara kwa mara mapema na uzitekeleze katika PROM. Usambazaji wa Hadoop ya Cloudera kawaida hutumia sehemu. Pia sasa katika Hadoop inawezekana kukimbia docker-vyombo. Katika baadhi ya matukio rahisi inawezekana kutoa msimbo pamoja na mfuko chatu.mayai.

Benki inachukua usalama wa kuendesha msimbo wa watu wengine kwa umakini sana, kwa hivyo tunanufaika zaidi na vipengele vipya vya Linux kernel, ambapo mchakato unaendeshwa katika mazingira ya pekee. Nafasi ya majina ya Linux, unaweza kupunguza, kwa mfano, upatikanaji wa mtandao na disk ya ndani, ambayo hupunguza kwa kiasi kikubwa uwezo wa msimbo mbaya. Maeneo ya data ya kila idara yanalindwa na kufikiwa na wamiliki wa data hii pekee. Mfumo huu huhakikisha kuwa data kutoka eneo moja inaweza kufika eneo lingine kupitia mchakato wa uchapishaji wa data tu kwa udhibiti katika hatua zote kutoka kwa ufikiaji hadi vyanzo hadi kutua kwa data kwenye mbele ya duka inayolengwa.

Sber.DS ni jukwaa ambalo hukuruhusu kuunda na kutekeleza mifano hata bila msimbo

Mwaka huu tunapanga kukamilisha MVP ya kuzindua miundo iliyoandikwa kwa Python/R/Java kwenye Hadoop. Tumejiwekea jukumu kubwa la kujifunza jinsi ya kuendesha mazingira yoyote maalum kwenye Hadoop, ili tusiwawekee kikomo watumiaji wa jukwaa letu kwa njia yoyote ile.

Kwa kuongezea, kama ilivyotokea, wataalam wengi wa DS ni bora katika hisabati na takwimu, hutengeneza mifano nzuri, lakini hawajui sana mabadiliko makubwa ya data, na wanahitaji msaada wa wahandisi wetu wa data kuandaa sampuli za mafunzo. Tuliamua kusaidia wenzetu na kuunda moduli zinazofaa za mabadiliko ya kawaida na utayarishaji wa huduma za mifano kwenye injini ya Spark. Hii itakuruhusu kutumia muda mwingi kutengeneza miundo na sio kungoja wahandisi wa data watayarishe mkusanyiko mpya wa data.

Tunaajiri watu wenye ujuzi katika maeneo tofauti: Linux na DevOps, Hadoop na Spark, Java na Spring, Scala na Akka, OpenShift na Kubernetes. Wakati ujao tutazungumza juu ya maktaba ya mfano, jinsi mtindo unapitia mzunguko wa maisha ndani ya kampuni, jinsi uthibitishaji na utekelezaji hutokea.

Chanzo: mapenzi.com

Kuongeza maoni