Sber.DS platformek e ku dihêle hûn bêyî kod jî modelan biafirînin û bicîh bikin

Fikr û civînên di derbarê çi pêvajoyên din de dikarin bêne otomatîk kirin her roj di karsaziyên cûrbecûr de derdikevin. Lê ji bilî vê yekê ku gelek dem dikare ji bo afirandina modelek were xerc kirin, hûn hewce ne ku wê ji bo nirxandina wê xerc bikin û kontrol bikin ku encama ku hatî bidestxistin ne rasthatî ye. Piştî pêkanînê, divê her modelek were şopandin û demkî were kontrol kirin.

Û ev hemî qonaxên ku hewce ne ku di her pargîdaniyek de, bêyî mezinahiya wê, bêne qedandin. Ger em li ser pîvan û mîrateya Sberbank dipeyivin, hêjmara lêkûpêk pir zêde dibe. Di dawiya sala 2019-an de, Sber berê zêdetirî 2000 model bikar anîbû. Ne bes e ku meriv bi tenê modelek pêş bixe; pêdivî ye ku meriv bi pergalên pîşesaziyê re yekbûnek çêbike, ji bo modelên avakirina danûstendinê pêş bixe û kontrolkirina xebata wê li ser komê misoger bike.

Sber.DS platformek e ku dihêle hûn bêyî kod jî modelan biafirînin û bicîh bikin

Tîma me platforma Sber.DS pêşve dike. Ew dihêle hûn pirsgirêkên fêrbûna makîneyê çareser bikin, pêvajoya ceribandina hîpotezan bileztir dike, di prensîbê de pêvajoya pêşkeftin û pejirandina modelan hêsan dike, û di heman demê de encama modelê di PROM-ê de jî kontrol dike.

Ji bo ku hêviyên we nexapînin, ez dixwazim pêşwext bibêjim ku ev post destpêkek e, û di bin qutbûnê de, ji bo destpêkê, em li ser tiştê ku, bi prensîb, di bin kavilê platforma Sber.DS de ye, diaxivin. Em ê çîroka li ser çerxa jiyanê ya modelê ji afirandinê heya pêkanînê cuda vebêjin.

Sber.DS ji çend beşan pêk tê, yên sereke pirtûkxane, pergala pêşkeftinê û pergala pêkanîna modelê ne.

Sber.DS platformek e ku dihêle hûn bêyî kod jî modelan biafirînin û bicîh bikin

Pirtûkxane çerxa jiyanê ya modelê ji gava ku ramana pêşvebirina wê xuya dike heya pêkanîna wê di PROM, çavdêrîkirin û rakirinê de kontrol dike. Gelek kapasîteyên pirtûkxaneyê ji hêla qaîdeyên regulator ve têne destnîşankirin, mînakî, raporkirin û hilanîna nimûneyên perwerdehiyê û pejirandinê. Bi rastî, ev qeydek hemî modelên me ye.

Pergala pêşkeftinê ji bo pêşkeftina dîtbarî ya modelan û teknîkên pejirandinê hatî çêkirin. Modelên pêşkeftî di erêkirina destpêkê de derbas dibin û ji pergala darvekirinê re têne peyda kirin da ku fonksiyonên karsaziya xwe pêk bînin. Di heman demê de, di pergala xebitandinê de, model dikare li ser çavdêriyek were danîn ji bo ku bi awayekî periyodîk teknîkên pejirandinê bide destpêkirin da ku xebata wê bişopîne.

Di pergalê de çend celeb nod hene. Hin ji bo girêdana bi çavkaniyên cûrbecûr daneyan re hatine çêkirin, yên din ji bo veguheztina daneyên çavkaniyê û dewlemendkirina wê (markup) hatine çêkirin. Ji bo avakirina modelên cihêreng û girêk ji bo pejirandina wan gelek girêk hene. Pêşvebir dikare daneyan ji her çavkaniyekê bar bike, veguhezîne, fîlter bike, daneya navberê dîtbar bike, û wê perçe bike.

Platform di heman demê de modulên amade hene ku dikarin werin kaş kirin û avêtin ser qada sêwiranê. Hemî kiryar bi karanîna navgînek dîtbar têne kirin. Bi rastî, hûn dikarin pirsgirêkê bêyî yek rêzek kodê çareser bikin.

Ger kapasîteyên çêkirî ne bes in, pergal jêhatîbûnê peyda dike ku zû modulên xwe biafirîne. Me li ser bingeha moda pêşkeftina yekbûyî çêkir Jupyter Kernel Gateway ji bo kesên ku ji nû ve modulên nû diafirînin.

Sber.DS platformek e ku dihêle hûn bêyî kod jî modelan biafirînin û bicîh bikin

Mîmariya Sber.DS li ser mîkroservisan hatiye avakirin. Di derbarê mîkroservisan de gelek nêrîn hene. Hin kes difikirin ku bes e ku meriv koda monolîtîk li perçeyan veqetîne, lê di heman demê de ew dîsa jî diçin heman databasê. Pêdivî ye ku mîkroxizmeta me tenê bi navgîniya REST API-yê bi mîkroxizmetek din re têkilî daynin. Ji bo ku rasterast xwe bigihînin databasê rêçare tune.

Em hewil didin ku karûbar pir mezin û nebaş nebin: mînakek pêdivî ye ku ji 4-8 gîgabayt RAM-ê zêdetir nexwe û pêdivî ye ku bi destpêkirina mînakên nû ve kapasîteya mezinkirina daxwazên horizontî peyda bike. Her karûbar bi yên din re tenê bi REST API (API). Tîmê berpirsiyarê karûbarê pêdivî ye ku API-yê paşverû bihêle heya ku muwekîlê paşîn ku wê bikar tîne.

Bingeha serîlêdanê di Java de bi karanîna Çarçoveya Biharê ve hatî nivîsandin. Çareserî di destpêkê de ji bo bicîhkirina bilez di binesaziya ewr de hate sêwirandin, ji ber vê yekê serîlêdan bi karanîna pergalek konteyneran hate çêkirin. Red Hat OpenShift (Kubernetes). Platform hem di warê zêdekirina fonksiyonên karsaziyê de (girêdankên nû, AutoML têne zêdekirin) hem jî ji hêla karbidestiya teknolojîk ve bi domdarî pêş dikeve.

Yek ji taybetmendiyên platforma me ev e ku em dikarin koda ku di navgînek dîtbar de li ser her pergala darvekirina modela Sberbank hatî pêşve xistin bimeşînin. Naha du ji wan hene: yek li Hadoop, ya din li OpenShift (Docker). Em li wir ranawestin û modulên entegrasyonê diafirînin da ku kodê li ser her binesaziyê bimeşînin, di nav de û di nav ewr de. Di derbarê îmkanên entegrasyona bi bandor a di ekosîstema Sberbank de, em di heman demê de plan dikin ku piştgiriyê bidin xebata bi hawîrdorên darvekirinê yên heyî. Di pêşerojê de, çareserî dikare bi nermî "ji qutiyê" li her perestgehek her rêxistinê were yek kirin.

Yên ku carî hewl dane ku piştgirî bidin çareseriyek ku Python li ser Hadoop di PROM-ê de dimeşîne, dizanin ku amadekirin û radestkirina hawîrdorek bikarhênerek Python ji her datanode re ne bes e. Hejmara mezin a pirtûkxaneyên C/C++ ji bo fêrbûna makîneyê ku modulên Python bikar tînin dê nehêle ku hûn rehet bimînin. Pêdivî ye ku em ji bîr mekin ku dema ku pirtûkxane an pêşkêşkerên nû lê zêde dikin pakêtan nûve bikin, lihevhatina paşverû ya bi koda modela ku jixwe hatî bicîh kirin biparêzin.

Gelek rêbaz hene ku meriv vê yekê çawa bike. Mînakî, çend pirtûkxaneyên ku pir caran têne bikar anîn di pêş de amade bikin û wan di PROM de bicîh bikin. Di belavkirina Hadoop ya Cloudera de, ew bi gelemperî bikar tînin pakêt. Her weha naha li Hadoop-ê gengaz e ku meriv bimeşîne docker- konteynir. Di hin rewşên hêsan de gengaz e ku kodê bi pakêtê re radest bikin python.hêk.

Bank ewlehiya xebitandina koda sêyemîn pir ciddî digire, ji ber vê yekê em herî zêde taybetmendiyên nû yên kernel Linux-ê, ku pêvajoyek di hawîrdorek veqetandî de dimeşîne, bikar tînin. Navê cîhê Linux, hûn dikarin, mînakî, gihîştina torê û dîska herêmî sînordar bikin, ku bi girîngî kapasîteyên koda xirab kêm dike. Deverên daneyê yên her dezgehê tenê ji xwediyên van daneyan re têne parastin û gihîştin. Platform piştrast dike ku daneyên ji deverek tenê bi pêvajoyek weşana daneyê bi kontrolê di hemî qonaxan de ji gihîştina çavkaniyan heya daketina daneyan li pêşangeha armancê dikare bigihîje deverek din.

Sber.DS platformek e ku dihêle hûn bêyî kod jî modelan biafirînin û bicîh bikin

Vê salê em plan dikin ku MVP-ya destpêkirina modelên ku bi Python/R/Java li ser Hadoop hatine nivîsandin temam bikin. Me ji xwe re peywira azwerî danîne ku em fêr bibin ka meriv çawa her hawîrdorek xwerû li Hadoop-ê dimeşîne, da ku bi tu awayî bikarhênerên platforma xwe sînordar nekin.

Wekî din, wekî ku derket holê, gelek pisporên DS-ê di matematîk û statîstîkê de hêja ne, modelên xweş çêdikin, lê di veguheztinên daneyên mezin de ne pir jêhatî ne, û ji bo amadekirina nimûneyên perwerdehiyê hewcedariya wan bi alîkariya endezyarên daneya me heye. Me biryar da ku em ji hevkarên xwe re bibin alîkar û ji bo veguherîna standard û amadekirina taybetmendiyan ji bo modelên li ser motora Spark modulên hêsan biafirînin. Ev ê bihêle ku hûn bêtir wextê pêşdebirina modelan derbas bikin û li benda endezyarên daneyê nebin ku danehevek nû amade bikin.

Em di warên cihêreng de mirovên xwedî zanîn dixebitin: Linux û DevOps, Hadoop û Spark, Java û Spring, Scala û Akka, OpenShift û Kubernetes. Cara din em ê li ser pirtûkxaneya modelê biaxivin, ka model çawa di çerxa jiyanê de di hundurê pargîdaniyê de derbas dibe, erêkirin û pêkanîn çawa çêdibe.

Source: www.habr.com

Add a comment