Sber.DS - bu kodsiz ham modellarni yaratish va amalga oshirish imkonini beruvchi platforma

Har kuni har xil o'lchamdagi korxonalarda yana qanday jarayonlarni avtomatlashtirish mumkinligi haqidagi g'oyalar va uchrashuvlar paydo bo'ladi. Ammo modelni yaratishga ko'p vaqt sarflash mumkinligiga qo'shimcha ravishda, uni baholash va olingan natijaning tasodifiy emasligini tekshirish uchun sarflash kerak. Amalga oshirilgandan so'ng, har qanday model kuzatilishi va vaqti-vaqti bilan tekshirilishi kerak.

Va bu har qanday kompaniyada, hajmidan qat'i nazar, bajarilishi kerak bo'lgan barcha bosqichlar. Agar biz Sberbankning miqyosi va merosi haqida gapiradigan bo'lsak, nozik sozlashlar soni sezilarli darajada oshadi. 2019 yil oxiriga kelib, Sber allaqachon 2000 dan ortiq modellardan foydalangan. Modelni ishlab chiqishning o'zi kifoya emas, sanoat tizimlari bilan integratsiya qilish, modellarni yaratish uchun ma'lumotlar martlarini ishlab chiqish va klasterda uning ishlashini nazorat qilishni ta'minlash kerak.

Sber.DS - bu kodsiz ham modellarni yaratish va amalga oshirish imkonini beruvchi platforma

Bizning jamoamiz Sber.DS platformasini ishlab chiqmoqda. Bu sizga mashinani o'rganish muammolarini hal qilishga imkon beradi, gipotezalarni sinab ko'rish jarayonini tezlashtiradi, printsipial jihatdan modellarni ishlab chiqish va tasdiqlash jarayonini soddalashtiradi, shuningdek, PROMdagi model natijasini nazorat qiladi.

Sizning umidlaringizni aldamaslik uchun, men oldindan aytmoqchimanki, bu post kirish bo'lib, kesma ostida, biz Sber.DS platformasi ostida, asosan, nima haqida gaplashamiz. Biz modelning yaratilishdan to amalga oshirishgacha bo'lgan hayot aylanishi haqida alohida aytib beramiz.

Sber.DS bir nechta komponentlardan iborat bo'lib, asosiylari kutubxona, ishlab chiqish tizimi va modelni bajarish tizimidir.

Sber.DS - bu kodsiz ham modellarni yaratish va amalga oshirish imkonini beruvchi platforma

Kutubxona modelning hayot aylanishini, uni ishlab chiqish g'oyasi paydo bo'lgan paytdan boshlab, uni PROMda amalga oshirish, monitoring qilish va foydalanishdan chiqarishgacha nazorat qiladi. Kutubxonaning ko'plab imkoniyatlari tartibga soluvchi qoidalar bilan belgilanadi, masalan, o'qitish va tekshirish namunalari haqida hisobot berish va saqlash. Aslida, bu bizning barcha modellarimiz reestri.

Rivojlanish tizimi modellarni vizual ravishda ishlab chiqish va tasdiqlash texnikasi uchun mo'ljallangan. Ishlab chiqilgan modellar dastlabki tekshiruvdan o'tadi va o'z biznes funktsiyalarini bajarish uchun ijro tizimiga taqdim etiladi. Shuningdek, ish vaqti tizimida model uning ishlashini kuzatish uchun tekshirish usullarini vaqti-vaqti bilan ishga tushirish maqsadida monitorga joylashtirilishi mumkin.

Tizimda bir necha turdagi tugunlar mavjud. Ba'zilari turli xil ma'lumotlar manbalariga ulanish uchun mo'ljallangan, boshqalari manba ma'lumotlarini o'zgartirish va boyitish uchun mo'ljallangan (belgilash). Turli xil modellarni yaratish uchun ko'plab tugunlar va ularni tasdiqlash uchun tugunlar mavjud. Ishlab chiquvchi har qanday manbadan ma'lumotlarni yuklashi, o'zgartirishi, filtrlashi, oraliq ma'lumotlarni vizuallashtirishi va qismlarga bo'lishi mumkin.

Platformada shuningdek, dizayn maydoniga sudrab olib tashlash mumkin bo'lgan tayyor modullar mavjud. Barcha harakatlar vizual interfeys yordamida amalga oshiriladi. Aslida, muammoni bitta kod satrisiz hal qilishingiz mumkin.

Agar o'rnatilgan imkoniyatlar etarli bo'lmasa, tizim tezda o'z modullaringizni yaratish imkoniyatini beradi. ga asoslangan integratsiyalashgan rivojlanish rejimini yaratdik Jupyter yadro shlyuzi noldan yangi modullarni yaratadiganlar uchun.

Sber.DS - bu kodsiz ham modellarni yaratish va amalga oshirish imkonini beruvchi platforma

Sber.DS arxitekturasi mikroservislar asosida qurilgan. Mikroservislar nima ekanligi haqida ko'plab fikrlar mavjud. Ba'zi odamlar monolit kodni qismlarga bo'lish kifoya deb o'ylashadi, lekin ayni paytda ular bir xil ma'lumotlar bazasiga kirishadi. Bizning mikroxizmatimiz boshqa mikroservis bilan faqat REST API orqali bog'lanishi kerak. Ma'lumotlar bazasiga to'g'ridan-to'g'ri kirish uchun vaqtinchalik echimlar yo'q.

Biz xizmatlar juda katta va noqulay bo'lib qolmasligini ta'minlashga harakat qilamiz: bitta nusxa 4-8 gigabaytdan ortiq operativ xotirani iste'mol qilmasligi va yangi nusxalarni ishga tushirish orqali so'rovlarni gorizontal ravishda o'lchash imkoniyatini ta'minlashi kerak. Har bir xizmat boshqalar bilan faqat REST API orqali muloqot qiladi (API oching). Xizmat uchun mas'ul bo'lgan jamoadan oxirgi foydalanuvchi API-ni orqaga qarab moslashtirishi kerak.

Ilovaning yadrosi Spring Framework yordamida Java-da yozilgan. Yechim dastlab bulutli infratuzilmada tezkor joylashtirish uchun mo'ljallangan edi, shuning uchun dastur konteynerlashtirish tizimi yordamida qurilgan. RedHat OpenShift (Kubernetes). Platforma biznes funksionalligini oshirish nuqtai nazaridan ham (yangi konnektorlar, AutoML qo'shilmoqda) va texnologik samaradorlik nuqtai nazaridan doimiy ravishda rivojlanib bormoqda.

Bizning platformamizning xususiyatlaridan biri shundaki, biz vizual interfeysda ishlab chiqilgan kodni har qanday Sberbank modelini bajarish tizimida ishlatishimiz mumkin. Endi ulardan ikkitasi bor: biri Hadoop-da, ikkinchisi OpenShift-da (Docker). Biz shu bilan to'xtab qolmaymiz va har qanday infratuzilmada, jumladan, mahalliy va bulutda kodni ishlatish uchun integratsiya modullarini yaratamiz. Sberbank ekotizimiga samarali integratsiya qilish imkoniyatlariga kelsak, biz mavjud ijro muhitlari bilan ishlashni ham qo'llab-quvvatlashni rejalashtirmoqdamiz. Kelajakda yechim har qanday tashkilotning har qanday landshaftiga "qutidan tashqarida" moslashuvchan tarzda birlashtirilishi mumkin.

PROM-da Hadoop-da Python-ni ishlatadigan yechimni qo'llab-quvvatlashga harakat qilganlar, har bir ma'lumot tuguniga Python foydalanuvchi muhitini tayyorlash va etkazib berish etarli emasligini bilishadi. Python modullaridan foydalanadigan mashinalarni o'rganish uchun juda ko'p C/C++ kutubxonalari sizga qulay dam olishga imkon bermaydi. Biz yangi kutubxonalar yoki serverlarni qo'shganda paketlarni yangilashni unutmasligimiz kerak, shu bilan birga allaqachon joriy qilingan model kodi bilan orqaga qarab muvofiqlikni saqlab qolishimiz kerak.

Buni qanday qilish bo'yicha bir nechta yondashuvlar mavjud. Misol uchun, bir nechta tez-tez ishlatiladigan kutubxonalarni oldindan tayyorlang va ularni PROMga kiriting. Cloudera-ning Hadoop taqsimotida ular odatda foydalanadilar posilka. Bundan tashqari, endi Hadoop-da ishlash mumkin docker- konteynerlar. Ba'zi oddiy holatlarda kodni paket bilan birga etkazib berish mumkin python.eggs.

Bank uchinchi tomon kodlarini ishlatish xavfsizligiga juda jiddiy yondashadi, shuning uchun biz Linux yadrosining yangi xususiyatlaridan maksimal darajada foydalanamiz, bu erda jarayon izolyatsiya qilingan muhitda ishlaydi. Linux nom maydoni, siz, masalan, tarmoqqa va mahalliy diskka kirishni cheklashingiz mumkin, bu esa zararli kodning imkoniyatlarini sezilarli darajada kamaytiradi. Har bir bo'limning ma'lumotlar zonalari himoyalangan va faqat ushbu ma'lumotlar egalari foydalanishi mumkin. Platforma bir hududdagi ma'lumotlarning boshqa hududga faqat ma'lumotlarni nashr qilish jarayoni orqali kirishini ta'minlaydi, manbalarga kirishdan tortib, maqsadli do'konga ma'lumotlarning tushishigacha bo'lgan barcha bosqichlarda nazorat qilinadi.

Sber.DS - bu kodsiz ham modellarni yaratish va amalga oshirish imkonini beruvchi platforma

Bu yil biz Hadoop-da Python/R/Java-da yozilgan modellarni ishga tushirish bo'yicha MVP-ni yakunlashni rejalashtirmoqdamiz. Biz platformamiz foydalanuvchilarini hech qanday tarzda cheklamaslik uchun Hadoop-da har qanday maxsus muhitni qanday boshqarishni o'rganishni o'z oldimizga katta vazifa qilib qo'yganmiz.

Bundan tashqari, ma'lum bo'lishicha, ko'plab DS mutaxassislari matematika va statistikani mukammal bilishadi, ajoyib modellar yaratadilar, lekin katta ma'lumotlarni o'zgartirishni yaxshi bilmaydilar va ular o'quv namunalarini tayyorlash uchun bizning ma'lumotlar muhandislarimiz yordamiga muhtoj. Biz hamkasblarimizga yordam berishga va Spark dvigatelidagi modellar uchun standart o'zgartirish va xususiyatlarni tayyorlash uchun qulay modullarni yaratishga qaror qildik. Bu sizga modellarni ishlab chiqishga ko'proq vaqt sarflash va ma'lumotlar muhandislarining yangi ma'lumotlar to'plamini tayyorlashini kutmaslik imkonini beradi.

Biz turli sohalarda bilimga ega odamlarni ishga olamiz: Linux va DevOps, Hadoop va Spark, Java va Spring, Scala va Akka, OpenShift va Kubernetes. Keyingi safar biz modellar kutubxonasi, model kompaniyaning hayotiy tsiklidan qanday o'tishi, tekshirish va amalga oshirish qanday sodir bo'lishi haqida gaplashamiz.

Manba: www.habr.com

a Izoh qo'shish