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

Әртүрлі көлемдегі бизнесте басқа қандай процестерді автоматтандыруға болатыны туралы идеялар мен кездесулер күн сайын туындайды. Бірақ модельді құруға көп уақыт жұмсауға болатындығына қоса, оны бағалауға және алынған нәтиже кездейсоқ емес екенін тексеруге жұмсау керек. Жүзеге асырылғаннан кейін кез келген модельді бақылау және мерзімді түрде тексеру қажет.

Және бұл кез келген компанияда оның көлеміне қарамастан аяқталуы керек кезеңдердің барлығы. Егер біз Сбербанктің ауқымы мен мұрасы туралы айтатын болсақ, онда дәл баптау саны айтарлықтай артады. 2019 жылдың соңына қарай Сбер 2000-нан астам модельді пайдаланды. Модельді жай ғана әзірлеу жеткіліксіз, ол үшін өнеркәсіптік жүйелермен интеграциялану, модельдерді құру үшін деректер марштарын әзірлеу және кластерде оның жұмысын бақылауды қамтамасыз ету қажет.

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

Біздің команда Sber.DS платформасын әзірлеуде. Ол машиналық оқыту мәселелерін шешуге мүмкіндік береді, гипотезаларды тексеру процесін жылдамдатады, негізінен модельдерді әзірлеу және тексеру процесін жеңілдетеді, сонымен қатар PROM-да модельдің нәтижесін басқарады.

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

Sber.DS бірнеше құрамдас бөліктерден тұрады, олардың негізгілері кітапхана, әзірлеу жүйесі және модельді орындау жүйесі.

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

Кітапхана модельдің өмірлік циклін оны әзірлеу идеясы пайда болған сәттен бастап оны PROM-ға енгізуге, бақылауға және пайдаланудан шығаруға дейін бақылайды. Кітапхананың көптеген мүмкіндіктері реттеушінің ережелерімен белгіленеді, мысалы, есеп беру және оқыту және тексеру үлгілерін сақтау. Шын мәнінде, бұл біздің барлық үлгілеріміздің тізілімі.

Әзірлеу жүйесі модельдерді және валидация әдістерін визуалды әзірлеуге арналған. Әзірленген үлгілер бастапқы валидациядан өтеді және олардың бизнес функцияларын орындау үшін орындау жүйесіне жеткізіледі. Сондай-ақ, жұмыс уақыты жүйесінде оның жұмысын бақылау үшін валидация әдістерін мерзімді түрде іске қосу мақсатында модельді мониторға орналастыруға болады.

Жүйеде түйіндердің бірнеше түрі бар. Кейбіреулері әртүрлі деректер көздеріне қосылуға арналған, басқалары бастапқы деректерді түрлендіруге және оны байытуға (белгілеу) арналған. Әртүрлі үлгілерді құруға арналған көптеген түйіндер және оларды тексеруге арналған түйіндер бар. Әзірлеуші ​​деректерді кез келген көзден жүктей алады, түрлендіре алады, сүзеді, аралық деректерді визуализациялайды және бөліктерге бөле алады.

Сондай-ақ платформада дизайн аймағына сүйреп апаруға болатын дайын модульдер бар. Барлық әрекеттер визуалды интерфейс арқылы орындалады. Шындығында, сіз бір код жолынсыз мәселені шеше аласыз.

Егер кірістірілген мүмкіндіктер жеткіліксіз болса, жүйе өз модульдеріңізді жылдам құру мүмкіндігін береді. негізінде интеграцияланған әзірлеу режимін жасадық Jupyter ядро ​​шлюзі нөлден жаңа модульдерді жасайтындар үшін.

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

Sber.DS архитектурасы микросервистерге құрылған. Микросервистердің не екендігі туралы көптеген пікірлер бар. Кейбір адамдар монолитті кодты бөліктерге бөлу жеткілікті деп ойлайды, бірақ сонымен бірге олар сол дерекқорға барады. Біздің микросервис басқа микросервиспен тек REST API арқылы байланысуы керек. Дерекқорға тікелей қол жеткізу үшін уақытша шешімдер жоқ.

Біз қызметтер өте үлкен және ебедейсіз болып қалмауын қамтамасыз етуге тырысамыз: бір данасы 4-8 гигабайт жедел жадты тұтынбауы керек және жаңа даналарды іске қосу арқылы сұрауларды көлденең масштабтау мүмкіндігін қамтамасыз етуі керек. Әрбір қызмет басқалармен тек REST API арқылы байланысады (Ашық API). Қызметке жауапты топ оны қолданатын соңғы клиентке дейін API-ны кері үйлесімді сақтауы қажет.

Қолданбаның өзегі Spring Framework көмегімен Java тілінде жазылған. Шешім бастапқыда бұлттық инфрақұрылымда жылдам орналастыруға арналған, сондықтан қолданба контейнерлік жүйені пайдаланып құрастырылды. Red Hat OpenShift (Kubernetes). Платформа бизнес функционалдығын арттыру тұрғысынан да (жаңа қосқыштар, AutoML қосылып жатыр) және технологиялық тиімділік тұрғысынан да үнемі дамып отырады.

Платформамыздың ерекшеліктерінің бірі - біз кез келген Сбербанк үлгісін орындау жүйесінде визуалды интерфейсте әзірленген кодты іске қоса аламыз. Қазір олардың екеуі бар: біреуі Hadoop-та, екіншісі OpenShift-те (Docker). Біз мұнымен тоқтап қалмаймыз және кодты кез келген инфрақұрылымда, соның ішінде жергілікті және бұлтта іске қосу үшін біріктіру модульдерін жасаймыз. Жинақ банкінің экожүйесіне тиімді интеграциялану мүмкіндіктеріне қатысты біз сондай-ақ қолданыстағы орындау орталарымен жұмысты қолдауды жоспарлап отырмыз. Болашақта шешім кез келген ұйымның кез келген ландшафтына «қораптан тыс» икемді түрде біріктірілуі мүмкін.

Python-ды Hadoop-та PROM жүйесінде іске қосатын шешімді қолдауға тырысқандар Python пайдаланушы ортасын әрбір деректер түйініне дайындау және жеткізу жеткіліксіз екенін біледі. Python модульдерін пайдаланатын машиналық оқытуға арналған C/C++ кітапханаларының үлкен саны сізге жеңіл демалуға мүмкіндік бермейді. Біз жаңа кітапханаларды немесе серверлерді қосқанда, бұрыннан енгізілген үлгі кодымен кері үйлесімділікті сақтай отырып, бумаларды жаңартуды есте сақтауымыз керек.

Мұны қалай істеуге болатын бірнеше тәсілдер бар. Мысалы, бірнеше жиі қолданылатын кітапханаларды алдын ала дайындаңыз және оларды PROM-ға енгізіңіз. Cloudera компаниясының 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. Келесі жолы біз модель кітапханасы туралы, модель компанияның өмірлік циклінен қалай өтетіні, валидация және енгізу қалай жүретіні туралы айтатын боламыз.

Ақпарат көзі: www.habr.com

пікір қалдыру