Sber.DS - бул кодсуз да моделдерди түзүүгө жана ишке ашырууга мүмкүндүк берген платформа

Ар кандай көлөмдөгү ишканаларда дагы кандай процесстерди автоматташтыруу мүмкүн экендиги жөнүндө идеялар жана жолугушуулар күн сайын пайда болот. Бирок моделди түзүүгө көп убакыт сарпталышы мүмкүн экендигинен тышкары, аны баалоого жана натыйжа кокустук эмес экенин текшерүүгө жумшашыңыз керек. Ишке ашырылгандан кийин ар кандай моделге мониторинг жүргүзүү жана мезгил-мезгили менен текшерүү керек.

Жана бул бардык этаптар, сиз анын көлөмүнө карабастан, ар кандай компанияда өтүшүңүз керек. Эгерде биз Сбербанктын масштабы жана мурасы жөнүндө сөз кыла турган болсок, анда тактоолордун саны экспоненциалдуу түрдө көбөйөт. 2019-жылдын акырына карата Сбербанк буга чейин 2000ден ашык моделдерди колдонгон. Модельди иштеп чыгуу эле жетишсиз, өнөр жай системалары менен интеграциялануу, моделдерди куруу үчүн маалымат марттарын иштеп чыгуу жана кластерде анын иштешин көзөмөлдөөнү камсыз кылуу зарыл.

Sber.DS - бул кодсуз да моделдерди түзүүгө жана ишке ашырууга мүмкүндүк берген платформа

Биздин команда Sber.DS платформасын иштеп чыгууда. Ал машинаны үйрөнүү маселелерин чечүүгө мүмкүндүк берет, гипотезаларды текшерүү процессин тездетет, принципиалдуу түрдө моделдерди иштеп чыгуу жана валидациялоо процессин жөнөкөйлөтөт, ошондой эле PROMдагы моделдин натыйжасын көзөмөлдөйт.

Сиздин күтүүлөрүңүздү алдап албаш үчүн, мен алдын ала айткым келет, бул билдирүү киришүү болуп саналат, ал эми кесилгенде, башталышы үчүн, Sber.DS платформасынын капотунун астында эмне бар экендиги жөнүндө айтылат. Моделди жаратуудан ишке ашырууга чейинки жашоо цикли тууралуу биз өзүнчө айтып беребиз.

Sber.DS бир нече компоненттерден турат, алардын негизгилери китепкана, иштеп чыгуу системасы жана моделди аткаруу системасы.

Sber.DS - бул кодсуз да моделдерди түзүүгө жана ишке ашырууга мүмкүндүк берген платформа

Китепкана моделдин жашоо циклин, аны иштеп чыгуу идеясы пайда болгон учурдан баштап, аны PROMде ишке ашырууга, мониторинг жүргүзүүгө жана колдонуудан чыгарууга чейин көзөмөлдөйт. Китепкананын көптөгөн өзгөчөлүктөрү регулятордун эрежелери менен аныкталат, мисалы, окутуу жана валидация үлгүлөрүн отчеттуулук жана сактоо. Чынында, бул биздин бардык моделдердин реестри.

Иштеп чыгуу системасы моделдерди жана валидация ыкмаларын визуалдык иштеп чыгуу үчүн арналган. Иштелип чыккан моделдер баштапкы валидациядан өтөт жана алардын бизнес функцияларын аткаруу үчүн аткаруу системасына жеткирилет. Ошондой эле, аткаруу системасында, моделдин иштешин көзөмөлдөө үчүн валидация ыкмаларын мезгил-мезгили менен ишке киргизүү үчүн мониторго коюуга болот.

Системада түйүндөрдүн бир нече түрү бар. Кээ бирлери ар кандай маалымат булактарына туташуу үчүн иштелип чыккан, башкалары - баштапкы маалыматтарды трансформациялоо жана аны байытуу (белгилөө). Ар кандай моделдерди куруу үчүн көптөгөн түйүндөр жана аларды текшерүү үчүн түйүндөр бар. Иштеп чыгуучу каалаган булактардан маалыматтарды жүктөй алат, трансформациялай алат, чыпкалай алат, аралык маалыматтарды визуализациялай алат, аны бөлүктөргө бөлө алат.

Платформа ошондой эле долбоордун аймагына сүйрөп кете турган даяр модулдарды камтыйт. Бардык аракеттер визуалдык интерфейстин жардамы менен аткарылат. Чындыгында, сиз бир сап кодсуз эле маселени чече аласыз.

Эгерде орнотулган мүмкүнчүлүктөр жетишсиз болсо, анда система өзүңүздүн модулдарыңызды тез түзүү мүмкүнчүлүгүн берет. негизинде комплекстүү өнүктүрүү режимин жасадык Jupyter Kernel Gateway нөлдөн баштап жаңы модулдарды түзгөндөр үчүн.

Sber.DS - бул кодсуз да моделдерди түзүүгө жана ишке ашырууга мүмкүндүк берген платформа

Sber.DS архитектурасы микросервистерге негизделген. Микросервис деген эмне жөнүндө көптөгөн пикирлер бар. Кээ бир адамдар монолиттик кодду бөлүктөргө бөлүү жетиштүү деп ойлошот, бирок алар дагы эле ошол эле маалымат базасына барышат. Биздин микросервис башка микросервис менен REST API аркылуу гана байланышышы керек. Түздөн-түз берилиштер базасына кирүү үчүн эч кандай айла жок.

Биз кызматтардын өтө чоң жана солгун болуп калбашы үчүн аракет кылабыз: бир эле инстанция 4-8 гигабайттан ашык оперативдүү эстутумду керектебеши керек жана жаңы инстанцияларды ишке киргизүү менен суроо-талаптарды горизонталдуу түрдө масштабдай алышы керек. Ар бир кызмат башкалар менен REST API аркылуу гана байланышат (Open API). Кызмат үчүн жооптуу топ API'ни аны колдонгон акыркы кардарга чейин артка шайкеш келтириши керек.

Колдонмонун өзөгү Spring Framework аркылуу Java тилинде жазылган. Чечим алгач булут инфраструктурасында тез жайылтуу үчүн иштелип чыккан, ошондуктан колдонмо контейнерлештирүү тутумун колдонуу менен курулган RedHat OpenShift (Kubernetes). Платформа бизнестин функционалдык мүмкүнчүлүктөрүн жогорулатуу жагынан да (жаңы туташтыргычтар, AutoML кошулду), ошондой эле технологиялык эффективдүүлүк жагынан да тынымсыз өнүгүп турат.

Биздин платформанын "чиптеринин" бири - биз визуалдык интерфейсте иштелип чыккан кодду каалаган Сбербанк моделин аткаруу системасында иштете алабыз. Азыр алардын экөөсү бар: бири Hadoop, экинчиси OpenShift (Docker). Биз муну менен эле токтоп калбайбыз жана кодду каалаган инфраструктурада, анын ичинде жерде жана булутта иштетүү үчүн интеграциялык модулдарды түзөбүз. Сбербанктын экосистемасына эффективдүү интеграциялоо мүмкүнчүлүктөрүн эске алганда, биз ошондой эле учурдагы иштөө чөйрөлөрү менен иштөөнү колдоону пландаштырып жатабыз. Келечекте, чечим ийкемдүү түрдө "кутудан тышкары" ар кандай уюмдун каалаган пейзажына интеграцияланышы мүмкүн.

PROMдо Hadoop боюнча Python иштеткен чечимди колдоого аракет кылгандар ар бир маалымат түйүнүнө ыңгайлаштырылган питон чөйрөсүн даярдоо жана жеткирүү жетишсиз экенин билишет. Python модулдарын колдонгон машина үйрөнүү үчүн C / C ++ китепканаларынын көп саны сизге тынчтыкта ​​эс алууга жол бербейт. Жаңы китепканаларды же серверлерди кошууда пакеттерди жаңыртууну унутпашыбыз керек, мында мурунтан эле ишке ашырылган моделдик код менен артка карай шайкештикти сакташыбыз керек.

Муну кантип жасоонун бир нече ыкмалары бар. Мисалы, алдын ала бир нече көп колдонулган китепканаларды даярдап, аларды PROMга киргизиңиз. Cloudera's Hadoop бөлүштүрүү адатта колдонот оромол. Ошондой эле азыр Hadoopто чуркоо мүмкүнчүлүгү бар ютуб- контейнерлер. Кээ бир жөнөкөй учурларда пакет менен бирге кодду жеткирүүгө болот python.eggs.

Банк үчүнчү тараптын коддорун иштетүүнүн коопсуздугуна өтө олуттуу мамиле кылат, ошондуктан биз Linux ядросунун жаңы мүмкүнчүлүктөрүн максималдуу түрдө колдонобуз, мында процесс обочолонгон чөйрөдө иштейт Linux ат мейкиндиги, мисалы, тармакка жана локалдык дискке кирүү мүмкүнчүлүгүн чектей аласыз, бул зыяндуу коддун мүмкүнчүлүгүн кыйла азайтат. Ар бир бөлүмдүн маалымат аймактары корголгон жана ошол маалыматтардын ээлерине гана жеткиликтүү. Платформа бир доменден алынган маалыматтар башка доменге маалымат жарыялоо процесси аркылуу гана кире аларын камсыздайт, бул булактарга кирүүдөн баштап, максаттуу марттагы маалыматтарга чейин бардык этаптарда көзөмөл.

Sber.DS - бул кодсуз да моделдерди түзүүгө жана ишке ашырууга мүмкүндүк берген платформа

Бул жылы биз Hadoop боюнча Python/R/Java тилинде жазылган чуркоо моделдеринин MVP деңгээлин бүтүрүүнү пландап жатабыз. Платформабыздын колдонуучуларын кандайдыр бир жол менен чектебеш үчүн, биз өзүбүзгө Hadoopто каалаган колдонуучу чөйрөсүн кантип иштетүүнү үйрөнүү боюнча дымактуу милдет койдук.

Мындан тышкары, белгилүү болгондой, көптөгөн DS адистери математика жана статистика боюнча мыкты, сонун моделдерди жасашат, бирок чоң маалыматтарды трансформациялоону жакшы билишпейт жана окутуу үлгүлөрүн даярдоо үчүн алар биздин маалымат инженерлерибиздин жардамына муктаж. Биз кесиптештерибизге жардам берүүнү жана типтүү трансформациялоо жана Spark кыймылдаткычындагы моделдер үчүн функцияларды даярдоо үчүн ыңгайлуу модулдарды түзүүнү чечтик. Бул маалымат инженерлеринин жаңы маалымат топтомун даярдоосун күтпөстөн, моделдерди иштеп чыгууга көбүрөөк убакыт бөлүүгө мүмкүндүк берет.

Бизде ар кандай тармактарда билими бар адамдар бар: Linux жана DevOps, Hadoop жана Spark, Java жана Spring, Scala жана Akka, OpenShift жана Kubernetes. Кийинки жолу биз моделдердин китепканасы, модель компаниянын ичиндеги жашоо циклинен кантип өтөөрү, валидация жана ишке ашыруу кандайча ишке ашары жөнүндө сүйлөшөбүз.

Source: www.habr.com

Комментарий кошуу