Bir nechta global sektorlar mashinani o'rganishga (ML) ko'proq sarmoya kirita boshladilar.
ML modellari dastlab mutaxassislar guruhlari tomonidan ishga tushirilishi va boshqarilishi mumkin, ammo eng katta to'siqlardan biri bu olingan bilimlarni jarayonlarni kengaytirish uchun keyingi modelga o'tkazishdir.
Modelning hayot aylanishini boshqarish bilan bog'liq jarayonlarni takomillashtirish va standartlashtirish uchun MLOps texnikasi mashinani o'rganish modellarini yaratuvchi jamoalar tomonidan tobora ko'proq foydalanilmoqda.
Bugungi kunda mavjud bo'lgan eng yaxshi MLOps vositalari va platformalari va ular vosita, ishlab chiquvchi va protsessual nuqtai nazardan mashina o'rganishni qanday osonlashtirishi haqida ko'proq ma'lumot olish uchun o'qishni davom eting.
MLOps nima?
Mashinani o'rganish modellari uchun siyosatlar, me'yorlar va eng yaxshi amaliyotlarni yaratish usuli "mashinani o'rganish operatsiyalari" yoki "MLOps" deb nomlanadi.
MLOps MLni ishlab chiqishning butun hayotiy tsiklini kafolatlashga qaratilgan - kontseptsiyadan tortib to joylashtirishgacha - strategiyasiz ko'p vaqt va resurslarni sarflashdan ko'ra, eng yaxshi natijalarga erishish uchun sinchkovlik bilan hujjatlashtirilgan va boshqariladi.
MLOpsning maqsadi eng yaxshi amaliyotlarni ML operatorlari va ishlab chiquvchilari uchun mashinani o'rganishni rivojlantirishni yanada kengaytiriladigan qilib kodlash, shuningdek, ML modellarining sifati va xavfsizligini oshirishdir.
Ba'zilar MLOps-ni "mashinalarni o'rganish uchun DevOps" deb atashadi, chunki u DevOps tamoyillarini texnologik rivojlanishning ixtisoslashgan sohasiga muvaffaqiyatli qo'llaydi.
Bu MLOps haqida fikr yuritishning foydali usuli, chunki DevOps kabi u jamoalar va vositalar o'rtasida bilim almashish, hamkorlik va eng yaxshi amaliyotlarga urg'u beradi.
MLOps ishlab chiquvchilarga, ma'lumotlar bo'yicha olimlarga va operatsion guruhlarga hamkorlik qilish va natijada eng kuchli ML modellarini ishlab chiqarish uchun asos yaratadi.
Nima uchun MLOps vositalaridan foydalanish kerak?
MLOps vositalari ML jamoasi uchun keng ko'lamli vazifalarni bajarishi mumkin, ammo ular ko'pincha ikki guruhga bo'linadi: platforma boshqaruvi va individual komponentlarni boshqarish.
Ba'zi MLOps mahsulotlari ma'lumotlar yoki metama'lumotlarni boshqarish kabi faqat bitta asosiy funktsiyaga qaratilgan bo'lsa-da, boshqa vositalar yanada kengroq strategiyani qabul qiladi va ML hayot aylanishining bir necha jihatlarini boshqarish uchun MLOps platformasini taqdim etadi.
Mutaxassis yoki kengroq vositani qidiryapsizmi, ushbu MLni rivojlantirish sohalarini boshqarishda jamoangizga yordam beradigan MLOps yechimlarini qidiring:
- Ma'lumotlar bilan ishlash
- Dizayn va modellashtirish
- Loyihalarni va ish joyini boshqarish
- ML modelini joylashtirish va doimiy parvarishlash
- Odatda to'liq xizmat ko'rsatadigan MLOps platformalari tomonidan taklif qilinadigan hayot tsiklini boshidan oxirigacha boshqarish.
MLOps vositalari
1. MLFlow
Mashinani o'rganishning hayot aylanishi ochiq kodli MLflow platformasi tomonidan boshqariladi va markaziy modelni ro'yxatdan o'tkazish, joylashtirish va tajribani o'z ichiga oladi.
MLflow har qanday o'lchamdagi jamoa tomonidan ham alohida, ham birgalikda ishlatilishi mumkin. Kutubxonalar bu vositaga ta'sir qilmaydi.
Har qanday dasturlash tili va mashina o'rganish kutubxonasi undan foydalanishi mumkin.
Mashina oʻrganish dasturlarini oʻrgatish, joylashtirish va boshqarishni soddalashtirish uchun MLFlow bir qator mashina oʻrganish tizimi bilan oʻzaro ishlaydi, jumladan TensorFlow va Pytorch.
Bundan tashqari, MLflow har qanday mavjud mashinani o'rganish dasturlari yoki kutubxonalariga kiritilishi mumkin bo'lgan foydalanish uchun qulay API-larni taqdim etadi.
MLflow tajribalarni kuzatish va rejalashtirishni osonlashtiradigan to'rtta asosiy xususiyatga ega:
- MLflow Tracking – mashinani oʻrganish kodlari parametrlari, versiyalari, koʻrsatkichlari va artefaktlarini qayd qilish hamda natijalarni keyinchalik koʻrsatish va qarama-qarshi qoʻyish uchun API va UI.
- MLflow loyihalari - ishlab chiqarishga o'tkazish yoki boshqa ma'lumotlar olimlari bilan almashish uchun qayta ishlatiladigan, takrorlanadigan formatda mashinani o'rganish kodini qadoqlash
- MLflow modellari - turli ML kutubxonalaridan modellarga xizmat ko'rsatish va xulosa chiqarish tizimlariga modellarni saqlash va joylashtirish
- MLflow Model Registry – MLflow modelining butun ishlash muddatini, jumladan, model versiyalarini yaratish, bosqich o‘tishlari va izohlarni birgalikda boshqarish imkonini beruvchi markaziy model do‘koni.
2. KubeFlow
Kubernetes uchun ML asboblar qutisi Kubeflow deb ataladi. Docker konteynerlarini qadoqlash va boshqarish, ularga texnik xizmat ko'rsatishda yordam beradi mashinani o'rganish tizimlari.
Mashinani o'rganish bo'yicha ish oqimlarini ishga tushirish va o'rnatishni soddalashtirish orqali u mashinani o'rganish modellarining miqyoslanishiga yordam beradi.
Bu ochiq kodli loyiha bo'lib, u turli ML ehtiyojlariga moslashtirilgan puxta tanlangan qo'shimcha vositalar va ramkalar guruhini o'z ichiga oladi.
Kubeflow Pipelines yordamida uzoq ML oʻqitish vazifalari, qoʻlda tajriba, takrorlanuvchanlik va DevOps muammolarini hal qilish mumkin.
Mashinani o'rganishning bir necha bosqichlari uchun, jumladan, o'qitish, quvurlarni ishlab chiqish va texnik xizmat ko'rsatish Jupyter daftarlari, Kubeflow maxsus xizmatlar va integratsiyani taklif qiladi.
Bu AI ish yuklarining ishlash muddatini boshqarish va kuzatishni, shuningdek, Kubernetes klasterlariga mashina o'rganish (ML) modellari va ma'lumotlar quvurlarini o'rnatishni osonlashtiradi.
Bu quyidagilarni taklif qiladi:
- Tizim bilan ishlash uchun SDK dan foydalanish uchun noutbuklar
- ishga tushirish, ishlarni va tajribalarni nazorat qilish va kuzatish uchun foydalanuvchi interfeysi (UI).
- Har safar qayta qurish va komponentlar va quvurlarni qayta ishlatish kerak bo'lmasdan, tezkor echimlarni loyihalash.
- Kubeflow ning asosiy komponenti yoki mustaqil o'rnatish sifatida Kubeflow Pipelines taklif etiladi.
3. Ma'lumotlar versiyasini boshqarish
Mashinani o'rganish loyihalari uchun ochiq manbali versiya boshqaruv yechimi DVC yoki Data Version Control deb ataladi.
Qaysi tilni tanlasangiz ham, bu quvur liniyasini aniqlashda yordam beradigan eksperimental vositadir.
DVC ML modelingizning oldingi versiyasi bilan bog'liq muammoni aniqlaganingizda vaqtni tejashga yordam berish uchun kod, ma'lumotlar versiyasi va takror ishlab chiqarish imkoniyatlaridan foydalanadi.
Bundan tashqari, siz modelingizni o'rgatish va uni jamoa a'zolariga tarqatish uchun DVC quvurlaridan foydalanishingiz mumkin. Katta ma'lumotlarni tashkil qilish va versiyalarni yaratish DVC tomonidan amalga oshirilishi mumkin va ma'lumotlar osongina kirish mumkin bo'lgan tarzda saqlanishi mumkin.
U ba'zi (cheklangan) eksperimentni kuzatish xususiyatlarini o'z ichiga olgan bo'lsa-da, u asosan ma'lumotlar va quvurlar versiyasini yaratish va boshqarishga qaratilgan.
Bu quyidagilarni taklif qiladi:
- Bu saqlash agnostik, shuning uchun turli xil saqlash turlaridan foydalanish mumkin.
- U kuzatuv statistikasini ham taqdim etadi.
- ML bosqichlarini DAG ga birlashtirish va butun quvur liniyasini boshidan oxirigacha ishlatish uchun oldindan qurilgan vosita
- Har bir ML modelining butun rivojlanishi uning butun kodi va ma'lumotlar manbasidan foydalangan holda kuzatilishi mumkin.
- Tajriba uchun dastlabki konfiguratsiyani, kirish ma'lumotlarini va dastur kodini sodiqlik bilan saqlash orqali takrorlanuvchanlik.
4. Pachyderm
Pachyderm - bu DVC-ga o'xshash mashinalarni o'rganish va ma'lumotlar fanlari uchun versiyani boshqarish dasturi.
Qo'shimcha, chunki u yordamida yaratilgan Docker va Kubernetes, u har qanday bulutli platformada Machine Learning ilovalarini bajarishi va joylashtirishi mumkin.
Pachyderm mashinani o'rganish modeliga iste'mol qilingan har bir ma'lumotni kuzatish va versiyalarni yaratishga kafolat beradi.
U mashinani o'rganish modellarini yaratish, tarqatish, boshqarish va kuzatish uchun ishlatiladi. Model registrlari, modellarni boshqarish tizimi va CLI asboblar to'plami mavjud.
Ishlab chiquvchilar Pachyderm ma'lumotlar bazasidan foydalangan holda mashinani o'rganishning hayot aylanishini avtomatlashtirishi va kengaytirishi mumkin, bu ham takrorlanishini ta'minlaydi.
U ma'lumotlarni boshqarishning qat'iy standartlarini qo'llab-quvvatlaydi, ma'lumotlarni qayta ishlash va saqlash xarajatlarini kamaytiradi va korxonalarga o'zlarining ma'lumotlar fanlari bo'yicha tashabbuslarini tezroq bozorga chiqarishga yordam beradi.
5. Polyaxon
Polyaxon platformasidan foydalanib, mashinani o'rganish loyihalari va chuqur o'rganish ilovalari ularning butun hayot aylanishi davomida takrorlanishi va boshqarilishi mumkin.
Polyaxon asbobni joylashtirish va boshqarish imkoniyatiga ega va uni istalgan ma'lumot markazi yoki bulut provayderiga joylashtirish mumkin. Torch, Tensorflow va MXNet kabi barcha eng mashhur chuqur o'rganish ramkalarini qo'llab-quvvatlaydi.
Orkestratsiya haqida gap ketganda, Polyaxon CLI, asboblar paneli, SDK yoki REST API orqali vazifalar va testlarni rejalashtirish orqali klasteringizdan maksimal darajada foydalanish imkonini beradi.
Bu quyidagilarni taklif qiladi:
- Siz hozirda ochiq kodli versiyadan foydalanishingiz mumkin, lekin u korporativ uchun tanlovlarni ham o'z ichiga oladi.
- Garchi u to'liq hayot tsiklini, shu jumladan yugurish orkestrini qamrab olsa ham, u ko'proq narsaga qodir.
- Texnik ma'lumotnoma hujjatlari, ishga tushirish bo'yicha ko'rsatmalar, o'quv materiallari, qo'llanmalar, o'quv qo'llanmalari, o'zgartirish jurnallari va boshqalar bilan bu juda yaxshi hujjatlashtirilgan platformadir.
- Tajriba tushunchalari boshqaruv paneli yordamida har bir optimallashtirish tajribasini kuzatish, kuzatish va baholash mumkin.
6. kometa
Comet - bu tajribalar va modellarni kuzatadigan, qarama-qarshi qo'yadigan, tushuntiradigan va yaxshilaydigan meta-mashinalarni o'rganish platformasi.
Barcha tajribalaringizni bitta joyda koʻrish va solishtirish mumkin.
U har qanday mashinani o'rganish vazifasi, kodingiz bajarilgan har qanday joyda va mashinani o'rganish kutubxonasi bilan ishlaydi.
Kometa guruhlar, jismoniy shaxslar, ilmiy muassasalar, korxonalar va tajribalarni tezda tasavvur qilishni, ishni soddalashtirishni va tajribalar o'tkazishni istagan har qanday kishi uchun mos keladi.
Ma'lumotlar bo'yicha olimlar va jamoalar Comet o'z-o'zidan joylashtirilgan va bulutga asoslangan meta-mashinalarni o'rganish platformasidan foydalangan holda tajribalar va modellarni kuzatishi, aniqlashtirishi, takomillashtirishi va taqqoslashi mumkin.
Bu quyidagilarni taklif qiladi:
- Jamoa a'zolari uchun vazifalarni almashish uchun ko'plab imkoniyatlar mavjud.
- U bir nechta integratsiyalarga ega bo'lib, uni boshqa texnologiyalar bilan bog'lashni osonlashtiradi
- Joriy ML kutubxonalari bilan yaxshi ishlaydi
- Foydalanuvchi boshqaruviga g'amxo'rlik qiladi
- Tajribalarni taqqoslash, jumladan, kod, giperparametrlar, ko'rsatkichlar, bashoratlar, bog'liqliklar va tizim ko'rsatkichlarini taqqoslash yoqilgan.
- Namunalarni ko'rish imkonini beruvchi ko'rish, audio, matn va jadval ma'lumotlari uchun alohida modullarni taqdim etadi.
7. Optuna
Optuna avtonom giperparametrlarni optimallashtirish tizimi bo'lib, u ham mashinani o'rganish, ham chuqur o'rganish, hamda boshqa sohalarda qo'llanilishi mumkin.
U turli xil ilg'or algoritmlarni o'z ichiga oladi, ulardan siz tanlashingiz (yoki bog'lashingiz), o'quv mashg'ulotlarini ko'plab kompyuterlar bo'ylab tarqatishni juda osonlashtiradi va jozibador natijalar vizualizatsiyasini taklif qiladi.
PyTorch, TensorFlow, Keras, FastAI, sci-kit-learn, LightGBM va XGBoost kabi mashhur mashina o'rganish kutubxonalari u bilan birlashtirilgan.
U istiqbolli ko‘rinmaydigan namunalarni tezda qisqartirish orqali mijozlarga natijalarni tezroq olish imkonini beruvchi ilg‘or algoritmlarni taqdim etadi.
Python-ga asoslangan algoritmlardan foydalanib, u avtomatik ravishda ideal giperparametrlarni qidiradi. Optuna asl kodni o'zgartirmasdan ko'plab mavzular bo'ylab parallellashtirilgan giperparametrlarni qidirishni rag'batlantiradi.
Bu quyidagilarni taklif qiladi:
- U klasterda, shuningdek, bitta kompyuterda (ko'p jarayonli) (ko'p tugunli) taqsimlangan treningni qo'llab-quvvatlaydi.
- U konvergentsiyani tezlashtirish uchun bir nechta kesish usullarini qo'llab-quvvatlaydi (va kamroq hisoblashdan foydalaning)
- U turli xil kuchli vizualizatsiyaga ega, masalan, bo'laklar, konturlar va parallel koordinatalar.
8. Kedro
Kedro - bu ma'lumotlar fanlari loyihalari uchun yangilanishi va saqlanishi mumkin bo'lgan kod yozish uchun bepul Python ramkasi.
U dasturiy ta'minot injiniringidagi eng yaxshi amaliyotlardan mashinani o'rganish kodiga g'oyalarni olib keladi. Python bu ish oqimini orkestrlash vositasining asosidir.
ML jarayonlarini sodda va aniqroq qilish uchun siz takrorlanadigan, parvarish qilinadigan va modulli ish oqimlarini ishlab chiqishingiz mumkin.
Kedro modullilik, mas'uliyatni ajratish va mashinani o'rganish muhitiga versiya yaratish kabi dasturiy ta'minot muhandisligi tamoyillarini o'z ichiga oladi.
Cookiecutter Data Science asosida u umumiy, moslashuvchan loyiha asosini taqdim etadi.
Bir nechta fayl tizimlari va fayl formatlarida ma'lumotlarni saqlash va yuklash uchun ishlatiladigan bir qator oddiy ma'lumotlar konnektorlari ma'lumotlar katalogi tomonidan boshqariladi. Bu mashinani o'rganish loyihalarini samaraliroq qiladi va ma'lumotlar uzatish liniyasini yaratishni osonlashtiradi.
Bu quyidagilarni taklif qiladi:
- Kedro dispers yoki yakka mashinani joylashtirish imkonini beradi.
- Quvur liniyasi abstraktsiyasidan foydalanib, Python kodi va ish oqimi vizualizatsiyasi o'rtasidagi bog'liqlikni avtomatlashtirishingiz mumkin.
- Modulli, qayta ishlatilishi mumkin bo'lgan koddan foydalanish orqali ushbu texnologiya turli darajadagi jamoaviy hamkorlikni osonlashtiradi va kodlash muhitida samaradorlikni oshiradi.
- Asosiy maqsad - ma'lumotlar faniga oid dasturlarni yozish orqali Jupyter noutbuklari, bir martalik skriptlar va elim-kodlarning kamchiliklarini bartaraf etish.
9. BentoML
BentoML yordamida mashinani o'rganish API so'nggi nuqtalarini yaratish osonroq.
U o'rganilgan mashinani o'rganish modellarini ishlab chiqarishga o'tkazish uchun odatiy, ammo siqilgan infratuzilmani taqdim etadi.
Bu sizga ishlab chiqarish sharoitida foydalanish uchun o'rganilgan modellarni to'plash imkonini beradi, ularni har qanday ML ramkasi yordamida sharhlaydi. Oflayn paketli xizmat va onlayn API xizmati qo'llab-quvvatlanadi.
Yuqori samarali model serveri va moslashuvchan ish jarayoni BentoML xususiyatlari hisoblanadi.
Bundan tashqari, server adaptiv mikro-to'plamni taklif qiladi. Modellarni tashkil qilish va joylashtirish tartib-qoidalarini kuzatish uchun yagona yondashuv UI boshqaruv paneli tomonidan taqdim etiladi.
Operatsion mexanizmi modulli va konfiguratsiya qayta ishlatilishi mumkinligi sababli serverning uzilish vaqti bo'lmaydi. Bu ML modellarini taqdim etish, tashkil qilish va joylashtirish uchun moslashuvchan platformadir.
Bu quyidagilarni taklif qiladi:
- Moslashuvchan modulli dizaynga ega.
- Bu bir nechta platformalarda joylashtirish imkonini beradi.
- U avtomatik ravishda gorizontal masshtabni boshqara olmaydi.
- U yagona model formati, modelni boshqarish, modelni qadoqlash va yuqori unumli modelga xizmat ko‘rsatish imkonini beradi.
10. Seldon
Ma'lumotlar bo'yicha olimlar ochiq manba Seldon Core ramkasidan foydalangan holda Kubernetes-da mashina o'rganish modellari va tajribalarini yaratishi, joylashtirishi va boshqarishi mumkin.
TensorFlow, sci-kit-learn, Spark, R, Java va H2O - bu qo'llab-quvvatlanadigan asboblar to'plamining bir nechtasi.
Bundan tashqari, u Kubeflow va RedHat's OpenShift bilan ishlaydi. Seldon yadrosi mashinani o'rganish modellarini (ML modellari) yoki til o'ramlarini (Python, Java va boshqalar kabi tillar) ishlab chiqarish REST/GRPC mikroservislariga aylantiradi.
Mashinani o'rganish jarayonlarini takomillashtirish uchun eng yaxshi MLOps vositalaridan biri bu.
Seldon Core yordamida ML modellarini konteynerga joylashtirish va qulaylik va xavfsizlikni sinab ko'rish juda oson.
Bu quyidagilarni taklif qiladi:
- Modelni joylashtirish bir nechta muqobil variantlar bilan soddalashtirilishi mumkin, masalan, kanareykalarni joylashtirish.
- Muayyan bashoratlar nima uchun qilinganligini tushunish uchun model tushuntirishlaridan foydalaning.
- Muammolar yuzaga kelganda, ogohlantirish tizimidan foydalangan holda ishlab chiqarish modellarini kuzatib boring.
Xulosa
MLOps mashinalarni o'rganish operatsiyalarini yaxshilashga yordam beradi. MLOplar joylashtirishni tezlashtirishi, ma'lumotlarni yig'ish va disk raskadrovka qilishni soddalashtirishi va muhandislar va ma'lumotlar olimlari o'rtasidagi hamkorlikni yaxshilashi mumkin.
Ehtiyojlaringizga eng mos keladigan MLOps vositasini tanlash uchun ushbu post 10 ta mashhur MLOps yechimlarini ko'rib chiqdi, ularning aksariyati ochiq manba.
Leave a Reply