MLOps: Machine Learning dunyosida DevOps

2018 yilda MLOps kontseptsiyasi professional doiralarda va sun'iy intellektga bag'ishlangan tematik konferentsiyalarda paydo bo'ldi, u tezda sanoatda o'z o'rnini egalladi va endi mustaqil yo'nalish sifatida rivojlanmoqda. Kelajakda MLOps IT sohasidagi eng mashhur sohalardan biriga aylanishi mumkin. Bu nima va u nima bilan iste'mol qilinadi?Keling, quyida bilib olaylik.

MLOps: Machine Learning dunyosida DevOps

MLOps nima

MLOps (mashinalarni o'rganish texnologiyalari va jarayonlari va ishlab chiqilgan modellarni biznes jarayonlariga tatbiq etish yondashuvlarini birlashtirish) - bu sun'iy intellekt tizimlarini yaratishda biznes vakillari, olimlar, matematiklar, mashinalarni o'rganish bo'yicha mutaxassislar va IT muhandislari o'rtasidagi hamkorlikning yangi usuli.

Boshqacha qilib aytganda, bu mashinani o'rganish usullari va texnologiyalarini biznes muammolarini hal qilish uchun foydali vositaga aylantirish usulidir. 

Hosildorlik zanjiri modelni ishlab chiqishdan ancha oldin boshlanishini tushunish kerak. Uning birinchi bosqichi biznes muammosini, ma'lumotlardan olinadigan qiymat haqidagi farazni va uni qo'llash uchun biznes g'oyasini aniqlashdir. 

MLOps kontseptsiyasining o'zi DevOps kontseptsiyasining mashina o'rganish modellari va texnologiyalariga o'xshashligi sifatida paydo bo'ldi. DevOps - bu doimiy rivojlanish, funktsiyalarni bir qator mustaqil mikroservislarga bo'lish, avtomatlashtirilgan sinov va individual dasturlarni joylashtirish kabi bir qator yondashuvlar yordamida moslashuvchanlik va ishonchlilikni saqlab, individual o'zgarishlarni amalga oshirish tezligini oshirish imkonini beruvchi dasturiy ta'minotni ishlab chiqishga yondashuv. o'zgarishlar, global sog'liqni saqlash monitoringi, aniqlangan nosozliklar uchun tezkor javob berish tizimi va boshqalar. 

DevOps dasturiy ta'minotning hayot aylanishini aniqladi va hamjamiyat xuddi shu metodologiyani katta ma'lumotlarga qo'llash g'oyasini ilgari surdi. DataOps - bu turli xil va birgalikda ishlaydigan platformalarda katta hajmdagi ma'lumotlarni saqlash, uzatish va qayta ishlash xususiyatlarini hisobga olgan holda metodologiyani moslashtirish va kengaytirishga urinish.
  
Korxonalarning biznes-jarayonlarida amalga oshirilgan mashinani o'rganish modellarining ma'lum bir kritik massasi paydo bo'lishi bilan matematik mashinalarni o'rganish modellarining hayot aylanishi va dasturiy ta'minotning hayot aylanishi o'rtasida kuchli o'xshashlik aniqlandi. Yagona farq shundaki, model algoritmlari mashinani o'rganish vositalari va usullari yordamida yaratilgan. Shu sababli, mashinani o'rganish modellari uchun dasturiy ta'minotni ishlab chiqishda allaqachon ma'lum bo'lgan yondashuvlarni qo'llash va moslashtirish g'oyasi tabiiy ravishda paydo bo'ldi. Shunday qilib, mashinani o'rganish modellarining hayot aylanishida quyidagi asosiy bosqichlarni ajratish mumkin:

  • biznes g'oyasini aniqlash;
  • namunaviy trening;
  • modelni sinovdan o'tkazish va biznes jarayoniga joriy etish;
  • modelning ishlashi.

Ishlash paytida modelni yangi ma'lumotlarga o'zgartirish yoki qayta tayyorlash zarurati tug'ilganda, tsikl yana boshlanadi - model takomillashtiriladi, sinovdan o'tkaziladi va yangi versiya joylashtiriladi.

Chekinish. Nima uchun qayta tayyorlash va qayta tayyorlash emas? "Modelni qayta tayyorlash" atamasi ikki xil ma'noga ega: ekspertlar orasida bu model nuqsonini anglatadi, agar model yaxshi bashorat qilsa, aslida o'quv majmuasida bashorat qilingan parametrni takrorlaydi, lekin tashqi ma'lumotlar namunasida ancha yomonroq ishlaydi. Tabiiyki, bunday model nuqsondir, chunki bu nuqson uni ishlatishga imkon bermaydi.

Ushbu hayot tsiklida DevOps vositalaridan foydalanish mantiqiy ko'rinadi: avtomatlashtirilgan sinov, joylashtirish va monitoring, alohida mikroservislar ko'rinishidagi model hisoblarini loyihalash. Ammo, shuningdek, ushbu vositalardan qo'shimcha ML bog'lamasdan to'g'ridan-to'g'ri foydalanishga to'sqinlik qiladigan bir qator xususiyatlar mavjud.

MLOps: Machine Learning dunyosida DevOps

Qanday qilib modellarni ishlash va foydali qilish kerak

MLOps yondashuvidan foydalanishni ko'rsatadigan misol sifatida biz bank (yoki boshqa har qanday) mahsulot uchun suhbatni qo'llab-quvvatlashni robotlashtirishning klassik vazifasini olamiz. Odatda, suhbatni qo'llab-quvvatlash biznes jarayoni quyidagicha ko'rinadi: mijoz suhbatga savol bilan xabar kiritadi va oldindan belgilangan dialog daraxti ichida mutaxassisdan javob oladi. Bunday suhbatni avtomatlashtirish vazifasi, odatda, ishlab chiqish va saqlash uchun juda ko'p mehnat talab qiladigan mutaxassislar tomonidan belgilangan qoidalar to'plami yordamida hal qilinadi. Bunday avtomatlashtirishning samaradorligi vazifaning murakkablik darajasiga qarab 20-30% bo'lishi mumkin. Tabiiyki, sun'iy intellekt modulini - mashinani o'rganish yordamida ishlab chiqilgan modelni amalga oshirish foydaliroq degan fikr paydo bo'ladi, bu:

  • operator ishtirokisiz ko'proq so'rovlarni qayta ishlashga qodir (mavzuga qarab, ba'zi hollarda samaradorlik 70-80% ga yetishi mumkin);
  • dialogda nostandart so'zlarga yaxshiroq moslashadi - aniq shakllantirilmagan so'rov asosida foydalanuvchining maqsadini, haqiqiy istagini aniqlay oladi;
  • modelning javobi qachon mos kelishini va bu javobning "xabardorligi" haqida shubha tug'ilganda va siz qo'shimcha aniqlovchi savol berishingiz yoki operatorga o'tishingiz kerak bo'lganda qanday aniqlashni biladi;
  • qo'shimcha ravishda avtomatik ravishda o'qitilishi mumkin (javob skriptlarini doimiy ravishda moslashtiradigan va to'g'rilaydigan ishlab chiquvchilar guruhi o'rniga, model tegishli mashina o'rganish kutubxonalaridan foydalangan holda Data Science bo'yicha mutaxassis tomonidan qo'shimcha ravishda o'qitiladi). 

MLOps: Machine Learning dunyosida DevOps

Bunday ilg'or modelni qanday qilish kerak? 

Boshqa har qanday muammoni hal qilishda bo'lgani kabi, bunday modulni ishlab chiqishdan oldin, biznes jarayonini aniqlash va biz mashinani o'rganish usuli yordamida hal qiladigan aniq vazifani rasmiy ravishda tavsiflash kerak. Shu nuqtada, Ops qisqartmasi bilan belgilangan operatsionizatsiya jarayoni boshlanadi. 

Keyingi qadam, Data Scientist Data Engineer bilan hamkorlikda maʼlumotlarning mavjudligi va yetarliligini hamda biznes gʻoyaning hayotiyligi haqidagi biznes gipotezasini tekshiradi, prototip modelini ishlab chiqadi va uning amaldagi samaradorligini sinab koʻradi. Biznes tomonidan tasdiqlangandan keyingina modelni ishlab chiqishdan uni muayyan biznes jarayonini amalga oshiradigan tizimlarga integratsiyalashga o'tish boshlanishi mumkin. Amalga oshirishni oxirigacha rejalashtirish, har bir bosqichda model qanday qo'llanilishi va u qanday iqtisodiy samara berishini chuqur tushunish kompaniyaning texnologik landshaftiga MLOps yondashuvlarini joriy etish jarayonlarida asosiy nuqtadir.

AI texnologiyalarining rivojlanishi bilan mashinani o'rganish yordamida hal qilinishi mumkin bo'lgan muammolar soni va xilma-xilligi tobora ortib bormoqda. Har bir bunday biznes-jarayon ommaviy xodimlar mehnatini avtomatlashtirish (call-markaz, hujjatlarni tekshirish va saralash va h.k.) tufayli kompaniya uchun tejamkorlikdir, bu yangi jozibali va qulay funksiyalarni qo'shish orqali mijozlar bazasini kengaytirishdir. ulardan optimal foydalanish va resurslarni qayta taqsimlash va boshqalar hisobiga pulni tejashdir. Oxir oqibat, har qanday jarayon qiymat yaratishga qaratilgan va natijada ma'lum bir iqtisodiy samara berishi kerak. Bu erda biznes g'oyasini aniq shakllantirish va kompaniyaning umumiy qiymat yaratish tuzilmasida modelni amalga oshirishdan kutilayotgan foydani hisoblash juda muhimdir. Modelni amalga oshirish o'zini oqlamaydigan holatlar mavjud va mashinani o'rganish bo'yicha mutaxassislar tomonidan sarflangan vaqt ushbu vazifani bajaradigan operatorning ish joyidan ancha qimmatroq. Shuning uchun bunday holatlarni AI tizimlarini yaratishning dastlabki bosqichlarida aniqlashga harakat qilish kerak.

Binobarin, modellar MLOps jarayonida biznes muammosi to'g'ri shakllantirilgan, ustuvorliklar belgilangan va rivojlanishning dastlabki bosqichlarida modelni tizimga kiritish jarayoni shakllantirilgandagina foyda keltira boshlaydi.

Yangi jarayon - yangi muammolar

ML modellari muammolarni hal qilishda qanchalik qo'llanilishi haqidagi asosiy biznes savoliga keng qamrovli javob, AIga ishonchning umumiy muammosi MLOps yondashuvlarini ishlab chiqish va amalga oshirish jarayonida asosiy muammolardan biridir. Dastlab, korxonalar jarayonlarga mashinani o'rganishni joriy etishga shubha bilan qarashadi - avvallari, qoida tariqasida, odamlar ishlagan joylarda modellarga ishonish qiyin. Biznes uchun dasturlar "qora quti" bo'lib ko'rinadi, ularning dolzarbligi hali isbotlanishi kerak. Bundan tashqari, bank sohasida, aloqa operatorlari biznesida va boshqalarda davlat nazorati organlarining qat'iy talablari mavjud. Bank jarayonlarida joriy qilingan barcha tizimlar va algoritmlar auditdan o'tkaziladi. Ushbu muammoni hal qilish, biznes va tartibga soluvchilarga sun'iy intellekt javoblarining to'g'riligi va to'g'riligini isbotlash uchun model bilan bir qatorda monitoring vositalari ham joriy etilmoqda. Bundan tashqari, tartibga soluvchi modellar uchun majburiy bo'lgan, Markaziy bank talablariga javob beradigan mustaqil tekshirish tartibi mavjud. Mustaqil ekspertlar guruhi kiritilgan ma'lumotlarni hisobga olgan holda model tomonidan olingan natijalarni tekshiradi.

Ikkinchi qiyinchilik - bu mashinani o'rganish modelini amalga oshirishda model xavflarini baholash va hisobga olish. Agar odam o'sha libos oq yoki ko'kmi degan savolga yuz foiz aniq javob bera olmasa ham, sun'iy intellekt ham xato qilishga haqli. Shuni ham hisobga olish kerakki, ma'lumotlar vaqt o'tishi bilan o'zgarishi mumkin va etarlicha aniq natijaga erishish uchun modellar qayta o'qitilishi kerak. Biznes jarayoni zarar ko'rmasligini ta'minlash uchun model risklarini boshqarish va modelning ishlashini kuzatish, uni yangi ma'lumotlarga muntazam ravishda qayta tayyorlash kerak.

MLOps: Machine Learning dunyosida DevOps

Ammo ishonchsizlikning birinchi bosqichidan keyin teskari ta'sir ko'rsata boshlaydi. Jarayonlarga qanchalik ko'p modellar muvaffaqiyatli joriy etilsa, biznesning sun'iy intellektdan foydalanishga bo'lgan ishtahasi shunchalik ko'payadi - mashinani o'rganish usullari yordamida hal qilinishi mumkin bo'lgan yangi va yangi muammolar topilmoqda. Har bir vazifa muayyan malakalarni talab qiladigan butun jarayonni boshlaydi:

  • ma'lumotlar muhandislari ma'lumotlarni tayyorlaydi va qayta ishlaydi;
  • ma'lumotlar olimlari mashinani o'rganish vositalaridan foydalanadilar va modelni ishlab chiqadilar;
  • AT modelni tizimga kiritadi;
  • ML muhandisi ushbu modelni jarayonga qanday to'g'ri integratsiya qilishni, so'rovlar oqimini, javob berish vaqtini va hokazolarni hisobga olgan holda modelni qo'llash rejimiga qo'yiladigan talablarga qarab qaysi AT vositalaridan foydalanishni aniqlaydi. 
  • ML arxitektori dasturiy mahsulot sanoat tizimida qanday qilib jismoniy amalga oshirilishi mumkinligini loyihalashtiradi.

Butun tsikl ko'p sonli yuqori malakali mutaxassislarni talab qiladi. ML modellarini ishlab chiqish va biznes-jarayonlarga kirib borish darajasining ma'lum bir bosqichida, vazifalar sonining ko'payishiga mutanosib ravishda mutaxassislar sonini chiziqli o'lchash qimmat va samarasiz bo'lib qoladi. Shu sababli, MLOps jarayonini avtomatlashtirish - mashinani o'rganish muammolarining bir nechta standart sinflarini aniqlash, standart ma'lumotlarni qayta ishlash quvurlarini ishlab chiqish va modellarni qo'shimcha o'qitish haqida savol tug'iladi. Ideal rasmda bunday muammolarni hal qilish Big Data, Data Science, DevOps va IT kesishmasida bir xil darajada malakaga ega bo'lgan mutaxassislarni talab qiladi. Shu sababli, Data Science sanoatidagi eng katta muammo va MLOps jarayonlarini tashkil etishdagi eng katta muammo - bu mavjud o'qitish bozorida bunday malakaning etishmasligi. Ushbu talablarga javob beradigan mutaxassislar hozirda mehnat bozorida kamdan-kam uchraydi va ularning vazni oltinga arziydi.

Qobiliyatlar masalasi bo'yicha

Nazariy jihatdan, barcha MLOps vazifalari klassik DevOps vositalari yordamida va namunaning maxsus kengaytmasiga murojaat qilmasdan hal qilinishi mumkin. Keyin, yuqorida aytib o'tganimizdek, ma'lumot olimi nafaqat matematik va ma'lumotlar tahlilchisi, balki butun quvur liniyasining gurusi bo'lishi kerak - u arxitekturani ishlab chiqish, arxitekturaga qarab bir necha tillarda modellarni dasturlash, tayyorlash uchun javobgardir. ma'lumotlar bozori va dasturni o'zi joylashtirish. Biroq, end-to-end MLOps jarayonida amalga oshirilgan texnologik asosni yaratish mehnat xarajatlarining 80 foizini oladi, ya'ni sifatli ma'lumot olimi bo'lgan malakali matematik o'z vaqtining atigi 20 foizini o'z mutaxassisligiga bag'ishlaydi. . Shu sababli, mashinani o'rganish modellarini amalga oshirish jarayonida ishtirok etadigan mutaxassislarning rollarini belgilash juda muhim bo'ladi. 

Rollarni qanchalik batafsil belgilash kerakligi korxona hajmiga bog'liq. Agar startapda bitta mutaxassis, energiya zahirasidagi mehnatkash, o'z muhandisi, me'mori va DevOps bo'lsa, bu boshqa narsa. Katta korxonada barcha modellarni ishlab chiqish jarayonlari bir nechta yuqori darajadagi Data Science mutaxassislariga to'plangan bo'lsa, dasturchi yoki ma'lumotlar bazasi bo'yicha mutaxassis - mehnat bozorida keng tarqalgan va arzonroq kompetentsiya - bu mutlaqo boshqa masala. ishning ko'p qismi bo'yicha. muntazam vazifalar.

Shunday qilib, ishlab chiqilgan modellarning tezligi va sifati, jamoaning unumdorligi va undagi mikroiqlim to'g'ridan-to'g'ri MLOps jarayonini qo'llab-quvvatlash uchun mutaxassislarni tanlashda chegara qayerda joylashganiga va ishlab chiqilgan modellarni ishga tushirish jarayoni qanday tashkil etilganiga bog'liq. .

Bizning jamoamiz allaqachon nima qilgan

Biz yaqinda vakolatlar tuzilmasi va MLOps jarayonlarini qurishni boshladik. Ammo modellarning hayot aylanishini boshqarish va modellardan xizmat sifatida foydalanish bo'yicha loyihalarimiz allaqachon MVP sinov bosqichida.

Shuningdek, biz yirik korxona uchun optimal kompetentsiya tuzilmasini va jarayonning barcha ishtirokchilari o'rtasidagi o'zaro munosabatlarning tashkiliy tuzilmasini aniqladik. Ishbilarmonlarning butun doirasi uchun muammolarni hal qilish uchun Agile guruhlari tashkil etildi va qurilayotgan MLOps binosining asosi bo'lgan platformalar va infratuzilmani yaratish bo'yicha loyiha guruhlari bilan o'zaro hamkorlik jarayoni yo'lga qo'yildi.

Kelajak uchun savollar

MLOps - bu o'sib borayotgan soha bo'lib, u malakalar etishmasligini boshdan kechirmoqda va kelajakda jadal rivojlanadi. Ayni paytda, DevOps ishlanmalari va amaliyotlariga asoslanish yaxshidir. MLOpsning asosiy maqsadi biznes muammolarini hal qilish uchun ML modellaridan samaraliroq foydalanishdir. Ammo bu ko'plab savollarni tug'diradi:

  • Modellarni ishlab chiqarishga tushirish vaqtini qanday qisqartirish mumkin?
  • Turli xil vakolatlarga ega bo'lgan jamoalar o'rtasidagi byurokratik ishqalanishni qanday kamaytirish va hamkorlikka e'tiborni kuchaytirish kerak?
  • Modellarni kuzatish, versiyalarni boshqarish va samarali monitoringni qanday tashkil qilish kerak?
  • Zamonaviy ML modeli uchun haqiqiy aylanma hayot aylanishini qanday yaratish mumkin?
  • Mashinani o'rganish jarayonini qanday standartlashtirish mumkin?

Bu savollarga javoblar MLOplar qanchalik tez o'z potentsialiga erishishini aniqlaydi.

Manba: www.habr.com

a Izoh qo'shish