Sber.DS hè una piattaforma chì permette di creà è implementà mudelli ancu senza codice

Idee è riunioni nantu à ciò chì altri prucessi ponu esse automatizati nascenu in imprese di diverse dimensioni ogni ghjornu. Ma in più di u fattu chì assai tempu pò esse passatu nantu à a creazione di un mudellu, avete bisognu di passà per evaluà è verificate chì u risultatu ottenutu ùn hè micca casuale. Dopu a implementazione, ogni mudellu deve esse monitoratu è verificatu periodicamente.

E queste sò tutte e tappe chì deve esse cumpletu in ogni cumpagnia, indipendentemente da a so dimensione. Se parlemu di a scala è di u legatu di Sberbank, u numeru di fine-tuning aumenta significativamente. À a fine di u 2019, Sber avia digià utilizatu più di mudelli 2000. Ùn hè micca abbastanza solu per sviluppà un mudellu; hè necessariu di integrà cù sistemi industriali, sviluppà data mart per mudelli di custruzzione, è assicurà u cuntrollu di u so funziunamentu nantu à u cluster.

Sber.DS hè una piattaforma chì permette di creà è implementà mudelli ancu senza codice

A nostra squadra sviluppa a piattaforma Sber.DS. Permette di risolve i prublemi di l'apprendimentu di a macchina, accelerà u prucessu di teste di l'ipotesi, in principiu simplifica u prucessu di sviluppu è di validazione di mudelli, è ancu cuntrolla u risultatu di u mudellu in PROM.

Per ùn ingannà micca e vostre aspittà, vogliu dì in anticipu chì questu postu hè un introduttu, è sottu u cut, per principianti, parlemu di ciò chì, in principiu, hè sottu u cappucciu di a piattaforma Sber.DS. Contaremu a storia di u ciclu di vita di u mudellu da a creazione à l'implementazione separatamente.

Sber.DS hè custituitu da parechji cumpunenti, i chjave sò a biblioteca, u sistema di sviluppu è u sistema di esecutivu di mudellu.

Sber.DS hè una piattaforma chì permette di creà è implementà mudelli ancu senza codice

A biblioteca cuntrolla u ciculu di vita di u mudellu da u mumentu chì l'idea di sviluppà si prisenta finu à a so implementazione in PROM, monitoraghju è decommissioning. Parechje capacità di a biblioteca sò dettate da e regule di regulatori, per esempiu, rapportu è almacenamiento di campioni di furmazione è validazione. In fatti, questu hè un registru di tutti i nostri mudelli.

U sistema di sviluppu hè pensatu per u sviluppu visuale di mudelli è tecniche di validazione. I mudelli sviluppati sò sottumessi a validazione iniziale è sò furniti à u sistema di esecutivu per fà e so funzioni cummerciale. Inoltre, in u sistema di runtime, u mudellu pò esse piazzatu nantu à un monitor per u scopu di lancià periodicamente tecniche di validazione per monitorà u so funziunamentu.

Ci sò parechji tippi di nodi in u sistema. Certi sò pensati per cunnette cù diverse fonti di dati, altri sò pensati per trasfurmà e dati di fonte è arricchisce (markup). Ci sò parechji nodi per custruisce mudelli diffirenti è nodi per cunvalidà. U sviluppatore pò carricà e dati da ogni fonte, trasfurmà, filtrà, visualizendu dati intermedi, è rompe in parti.

A piattaforma cuntene ancu moduli pronti chì ponu esse trascinati è abbandunati nantu à l'area di cuncepimentu. Tutte l'azzioni sò realizati utilizendu una interfaccia visualizata. In fatti, pudete risolve u prublema senza una sola linea di codice.

Se e capacità integrate ùn sò micca abbastanza, u sistema furnisce a capacità di creà rapidamente i vostri moduli. Avemu fattu un modu di sviluppu integratu basatu nantu Jupyter Kernel Gateway per quelli chì creanu novi moduli da zero.

Sber.DS hè una piattaforma chì permette di creà è implementà mudelli ancu senza codice

L'architettura di Sber.DS hè custruitu nantu à i microservizii. Ci sò parechje opinioni nantu à ciò chì sò i microservizi. Certi pirsuni pensanu chì hè abbastanza per sparte u codice monoliticu in parti, ma à u stessu tempu si vanu sempre à a stessa basa di dati. U nostru microserviziu deve cumunicà cù un altru microserviziu solu via REST API. Nisuna soluzione per accede direttamente à a basa di dati.

Pruvemu di assicurà chì i servizii ùn diventanu micca assai grande è goffa: una istanza ùn deve micca cunsumà più di 4-8 gigabyte di RAM è deve furnisce a capacità di scala orizzontalmente e dumande lanciando novi istanze. Ogni serviziu cumunicà cù l'altri solu via l'API REST (Apri API). A squadra rispunsevuli di u serviziu hè obligatu à mantene l'API retrocompatibile finu à l'ultimu cliente chì l'utiliza.

U core di l'applicazione hè scrittu in Java cù u Spring Framework. A suluzione hè stata inizialmente pensata per una implementazione rapida in l'infrastruttura nuvola, cusì l'applicazione hè stata custruita cù un sistema di containerizazione RedHat OpenShift (Kubernetes). A piattaforma hè in evoluzione constantemente, sia in quantu à l'aumentu di e funziunalità di l'affari (si aghjunghjenu novi connettori, AutoML) sia in termini di efficienza tecnologica.

Una di e caratteristiche di a nostra piattaforma hè chì pudemu eseguisce u codice sviluppatu in una interfaccia visuale in ogni sistema di esecutivu di mudellu Sberbank. Avà sò digià dui: unu in Hadoop, l'altru in OpenShift (Docker). Ùn ci fermemu micca quì è creanu moduli d'integrazione per eseguisce codice nantu à qualsiasi infrastruttura, ancu in u locu è in u nuvulu. In quantu à e pussibulità di integrazione efficace in l'ecosistema di Sberbank, avemu ancu prughjettatu di sustene u travagliu cù l'ambienti di esecuzione esistenti. In u futuru, a suluzione pò esse integrata flexiblemente "fora di scatula" in ogni paisaghju di ogni urganizazione.

Quelli chì anu mai pruvatu à sustene una soluzione chì eseguisce Python in Hadoop in PROM sapemu chì ùn hè micca abbastanza per preparà è furnisce un ambiente d'utilizatore Python à ogni datanode. U gran numaru di biblioteche C / C ++ per l'apprendimentu automaticu chì utilizanu moduli Python ùn vi permetterà micca di stà tranquillu. Avemu da ricurdà di aghjurnà i pacchetti quandu aghjunghjenu novi biblioteche o servitori, mantenendu a cumpatibilità retrocede cù u codice di mudellu digià implementatu.

Ci hè parechje approcci à cumu fà questu. Per esempiu, preparanu parechje biblioteche aduprate in anticipu è implementate in PROM. In a distribuzione Hadoop di Cloudera, sò generalmente utilizati pacchettu. Ancu avà in Hadoop hè pussibule di correre docker- cuntenituri. In certi casi simplici hè pussibule di furnisce u codice cù u pacchettu pitone.ova.

U bancu piglia assai seriu a sicurità di eseguisce codice di terze parti, cusì sfruttemu a maiò parte di e novi funziunalità di u kernel Linux, induve un prucessu in esecuzione in un ambiente isolatu. Spaziu di nomi Linux, pudete limità, per esempiu, l'accessu à a reta è u discu locale, chì reduce significativamente e capacità di codice maliziusu. I spazii di dati di ogni dipartimentu sò prutetti è accessibili solu per i pruprietarii di sti dati. A piattaforma assicura chì e dati da una zona ponu ghjunghje à un'altra zona solu per mezu di un prucessu di publicazione di dati cun cuntrollu in tutte e tappe da l'accessu à e fonti à l'atterrissimu di dati in a vetrina di destinazione.

Sber.DS hè una piattaforma chì permette di creà è implementà mudelli ancu senza codice

Quist'annu avemu pensatu à compie u MVP di lanciari mudelli scritti in Python / R / Java nantu à Hadoop. Avemu stabilitu u compitu ambiziosu di amparà à gestisce ogni ambiente persunalizatu in Hadoop, per ùn limità l'utilizatori di a nostra piattaforma in ogni modu.

Inoltre, cum'è s'hè vultatu, parechji specialisti di DS sò eccellenti in matematica è statistiche, facenu mudelli cool, ma ùn sò micca assai versatu in i grandi trasfurmazioni di dati, è anu bisognu di l'aiutu di i nostri ingegneri di dati per preparà campioni di furmazione. Avemu decisu d'aiutà i nostri culleghi è di creà moduli convenienti per a trasfurmazioni standard è a preparazione di funzioni per mudelli in u mutore Spark. Questu permetterà di passà più tempu à sviluppà mudelli è ùn aspittà micca l'ingegneri di dati per preparà un novu dataset.

Impieghemu persone cun cunniscenze in diverse aree: Linux è DevOps, Hadoop è Spark, Java è Spring, Scala è Akka, OpenShift è Kubernetes. A prossima volta parleremu di a biblioteca di mudelli, cumu u mudellu passa per u ciclu di vita in a cumpagnia, cumu si verificanu a validazione è l'implementazione.

Source: www.habr.com

Add a comment