MLOps, Machine Learning Operations деген сөздің қысқартылғаны - модельдер құрастыратын инженерлердің нақты қажеттіліктерін қанағаттандыруға және оларды өндіріске көшіруге бағытталған тәжірибелер мен құралдар жиынтығы. Кейбір ұйымдар әр тәжірибеден кейін деректер жиынын және оқытудың әр дәуірінен кейін бақылау нүктелерінің үлгілерін шығаратын бірнеше үйде өндірілген құралдардан бастайды. Екінші жағынан, көптеген ұйымдар тәжірибені бақылау, бірлесіп жұмыс істеу мүмкіндіктері, модельге қызмет көрсету мүмкіндіктері және деректерді өңдеу және оқыту үлгілері үшін тіпті құбыр мүмкіндіктері бар ресми құралды қабылдауды таңдады.
Ұйымыңыз үшін ең жақсы таңдау жасау үшін саладағы жетекші MLOps құралдарының барлық мүмкіндіктерін түсінуіңіз керек. Егер сіз үйдегі жолға барсаңыз, сіз бас тартатын мүмкіндіктерді түсінуіңіз керек. Үйдегі тәсіл жылдам қозғалуы керек және жаңа құралды бағалауға уақыты болмауы мүмкін шағын командалар үшін жақсы. Егер сіз үшінші тарап құралын енгізуді таңдасаңыз, ұйымыңыздың инженерлік жұмыс процесіне ең жақсы сәйкес келетін құралды таңдауыңыз керек. Бұл қиын болуы мүмкін, себебі бүгінгі таңдағы ең жақсы құралдар өздерінің көзқарастары мен мүмкіндіктерінде айтарлықтай ерекшеленеді. Таңдауыңызға қарамастан, үлкен көлемдегі деректермен жұмыс істей алатын және оқу жиынтықтарына өнімді түрде қызмет көрсете алатын деректер инфрақұрылымы қажет болады. Үлгілерді тексеру және үлкен деректер жиынын нұсқалау масштабталатын сыйымдылықты қажет етеді және қымбат графикалық процессорларды пайдалансаңыз, инвестицияңыздан барынша пайда алу үшін өнімді инфрақұрылым қажет болады.
Бұл постта мен сәулетшілер таңдаған тәсілге немесе құралға қарамастан қарастыратын мүмкіндіктер тізімін ұсынамын. Бұл мүмкіндіктер тізімі бүгінгі таңдағы үш үздік MLOps жеткізушілерімен жүргізген зерттеулерім мен тәжірибелерімнен алынған.
Мүмкіндіктер мен инфрақұрылымдық талаптарға кіріспес бұрын, MLOps маңыздылығын жақсырақ түсінейік. Бұл әрекетті орындау үшін үлгі жасауды әдеттегі қолданбаларды әзірлеумен салыстыру пайдалы.
Қолданбаға жаңа мүмкіндік қосатын жаңа микросервисті енгізу сияқты кәдімгі қолданбаларды әзірлеу спецификацияны қараудан басталады. Жаңа деректер құрылымдары немесе бұрыннан бар деректер құрылымдарына өзгертулер алдымен жобаланады. Кодтау басталғаннан кейін деректер дизайны өзгермеуі керек. Содан кейін қызмет іске асырылады және кодтау осы процестегі негізгі әрекет болып табылады. Бірлік сынақтары мен түпкілікті сынақтар да кодталған. Бұл сынақтар кодтың ақаулы еместігін және спецификацияны дұрыс орындайтынын дәлелдейді. Оларды бүкіл қолданбаны қолданбас бұрын CI/CD құбыры арқылы автоматты түрде іске қосуға болады.
Модель жасау және оны оқыту басқа. Бірінші қадам - бастапқы деректерді және қажетті болжамды түсіну. ML инженерлері өздерінің нейрондық желілерін іске асыру немесе алгоритмді орнату үшін кейбір кодты жазуы керек, бірақ кодтау басым әрекет емес. Негізгі әрекет – тәжірибені қайталау. Эксперимент кезінде деректердің дизайны, модельдің дизайны және қолданылатын параметрлердің барлығы өзгереді. Әрбір тәжірибеден кейін үлгінің жаттығу кезінде қалай орындалғанын көрсететін көрсеткіштер жасалады. Тексеру жиынына және сынақ жиынына қарсы үлгі өнімділігін анықтау үшін көрсеткіштер де жасалады. Бұл көрсеткіштер үлгінің сапасын дәлелдеу үшін қолданылады. Әр тәжірибеден кейін үлгіні сақтау керек және деректер жиынын өзгерткен сайын оларды да сақтау керек. Модель қолданбаға қосуға дайын болғаннан кейін оны буып, орналастыру керек.
Қорытындылай келе, MLOps - бұл дәстүрлі бағдарламалық жасақтаманы әзірлеу үшін DevOps дегенді машиналық оқыту. Екеуі де инженерлік топтар (Dev немесе ML) және АТ операциялары (Ops) командалары арасындағы ынтымақтастықты жақсартуға бағытталған тәжірибелер мен принциптер жиынтығы. Мақсат - автоматтандыруды пайдалана отырып, жоспарлау мен әзірлеуден бастап орналастыру мен операцияларға дейінгі әзірлеудің өмірлік циклін оңтайландыру. Бұл тәсілдердің негізгі артықшылықтарының бірі - үздіксіз жетілдіру.
MLOps-ке сәл тереңірек кіріп, қарастырылатын ерекше мүмкіндіктерді қарастырайық.
Экспериментті бақылау және бірлесіп жұмыс істеу MLOps-пен ең байланысты мүмкіндіктер болып табылады, бірақ бүгінгі заманауи MLOps құралдары көп нәрсені істей алады. Мысалы, кейбіреулер тәжірибелеріңіз үшін орындалу ортасын қамтамасыз ете алады. Басқалары қолданбаға біріктіруге дайын болғаннан кейін үлгілерді буып, орналастыра алады.
Төменде бүгінгі күні MLOps құралдарында табылған мүмкіндіктердің жоғарғы жиыны берілген. Бұл тізімде қолдау және деректерді біріктіру сияқты қарастырылатын басқа да нәрселер бар.
Негізгі ойыншының қолдауы - MLOps әдістері мен мүмкіндіктері үнемі дамып отырады. Үнемі даму мен жетілдіруді қамтамасыз ететін негізгі ойыншы (Google, Databricks немесе McKinsey және компанияны кері Kubeflow, MLflow және MLRun) қолдайтын құрал қажет. Нақты мысал ретінде бүгінгі таңда көптеген танымал құралдар үлкен тілдік үлгілерден (LLM) бұрын жасалған; демек, көпшілігі генеративті AI-ды қолдау үшін жаңа мүмкіндіктерді қосуда.
Заманауи Datalake интеграциясы - эксперименттер көптеген құрылымдалған және құрылымдалмаған деректерді жасайды. Қазіргі Datalake (немесе Data Lakehouse) бағдарламасымен тамаша біріктірілген MLOps құралы құрылымдалмаған деректерді Data Lake (бұл тікелей MiniIO) сақтайды және құрылымдық деректер деректер қоймасына түседі. Өкінішке орай, көптеген MLOps құралдары қазіргі заманғы Datalake-ті тудырған Ашық кесте пішімдерінің алдында болды, сондықтан олардың көпшілігінде құрылымдық деректер үшін бөлек шешім болады. Бұл әдетте деректер инфрақұрылымы қолдау көрсетуі қажет ашық бастапқы реляциялық дерекқор. Құрылымдалмаған деректерге (деректер жиыны және үлгілік бақылау нүктелері) қатысты саладағы барлық негізгі құралдар 2014 жылдан бері жұмыс істеп келе жатқандықтан, MiniIO пайдаланады.
Экспериментті бақылау - MLOps құралының ең маңызды мүмкіндігі әрбір эксперимент үшін деректер жиынын, үлгілерді, гиперпараметрлерді және метрикаларды қадағалау болуы мүмкін. Экспериментті қадағалау қайталануды да жеңілдетуі керек - егер сіз бес тәжірибе бұрын қалаған нәтижеге қол жеткізсеңіз және кейінірек эксперименттер үлгіңіздің өнімділігін төмендетсе, артқа оралып, нақты гиперпараметрлерді және пайдаланылған деректер жиынтығы мүмкіндіктерін алу үшін MLOps құралын пайдалана алуыңыз керек. бұл қалаған нәтиже береді.
Ынтымақтастықты жеңілдету — MLOps құралының маңызды құрамдас бөлігі әрбір эксперимент нәтижелерін көрсету үшін пайдаланылатын портал немесе UI болып табылады. Бұл портал барлық топ мүшелеріне қолжетімді болуы керек, сонда олар бір-бірінің эксперименттерін көріп, ұсыныстар жасай алады. Кейбір MLOps құралдарында эксперименттердің нәтижелерін салыстыру үшін теңшелетін графиктерді жасауға мүмкіндік беретін керемет графикалық мүмкіндіктер бар.
Үлгіні орау - бұл мүмкіндік үлгіні басқа бағдарламалау орталарынан, әдетте микросервис ретінде қол жетімді болатындай бумалайды. Бұл жақсы мүмкіндік. Үйретілген үлгі серияланған нысаннан басқа ештеңе емес. Көптеген ұйымдар мұны қазірдің өзінде түсінген болуы мүмкін.
Модельге қызмет көрсету - Үлгі қызмет ретінде пакеттелгеннен кейін, бұл мүмкіндік үлгіні қамтитын қызметті ұйымның ресми орталарына автоматтандырылған орналастыруға мүмкіндік береді. Егер сізде бұл мүмкіндік болса, сізге қажет болмайды
Үлгі тізілімі - Үлгі тізілімі қазіргі уақытта MLOps құралымен басқарылатын барлық үлгілердің көрінісін береді. Өйткені, өндіріс деңгейіндегі үлгілерді жасау барлық MLOps мақсаты болып табылады. Бұл көрініс өндіріске енгізілген үлгілерді және оны ешқашан өндіріске енгізбеген үлгілерді көрсетуі керек. Оны өндіріске енгізген үлгілерді олар орналастырылған қолданбаның немесе қызметтің нұсқасын анықтауға болатындай етіп белгілеу керек.
Серверсіз функциялар - Кейбір құралдар функция немесе модульді кластердегі эксперименттерді іске қосу үшін контейнерлік қызмет ретінде орналастыруға болатын кодқа түсініктеме беруге мүмкіндік беретін мүмкіндіктерді қамтамасыз етеді. Егер сіз бұл мүмкіндікті пайдалануды шешсеңіз, барлық инженерлеріңіздің осы техниканы қолдануы ыңғайлы екеніне көз жеткізіңіз. Бұл біраз үйрену қисығы болуы мүмкін - DevOps фоны бар инженерлер оңайырақ болады, ал бұрын кодтау тәжірибесі аз машиналық оқытуды оқыған инженерлер қиынға соғады.
Деректер құбырының мүмкіндіктері - Кейбір MLOps құралдары толық мүмкіндіктерді қамтамасыз етуге бағытталған және бастапқы деректерді шығарып алу, оларды өңдеу және таза деректерді сақтау үшін деректер құбырларын құруға тән мүмкіндіктерге ие. Құбырлар әдетте ретінде белгіленеді
Оқыту құбырының мүмкіндіктері - бұл деректер құбырларына ұқсас, бірақ оқу құбыры деректер құбырлары кеткен жерден алады. Жаттығу конвейері деректерге қатынасу кодын шақыруға, деректерді жаттығу логикасына жіберуге және деректер артефактілері мен үлгілеріне автоматты түрде сақталатындай түсініктеме беруге мүмкіндік береді. Деректер құбырларына ұқсас, бұл мүмкіндікті DAG жасау және эксперименттерді жоспарлау үшін серверсіз функциялармен бірге пайдалануға болады. Егер сіз бұрыннан таратылған жаттығу құралын пайдаланып жатсаңыз, сізге бұл мүмкіндік қажет болмауы мүмкін. Бөлінген оқытуды оқу құбырынан бастауға болады, бірақ бұл тым күрделі болуы мүмкін.
Дәстүрлі қолданбаларды әзірлеу мен машиналық оқыту арасындағы айырмашылықтарды қарастырғаннан кейін, машиналық оқытумен табысты болу үшін сізге қандай да бір MLOps формасы және өнімділік пен масштабталатын сыйымдылыққа қабілетті деректер инфрақұрылымы қажет екені анық болуы керек.
Егер сізге жобаны жылдам бастау қажет болса және ресми MLOps құралын бағалауға уақыт болмаса, үйде жасалған шешімдер жақсы. Егер сіз осы тәсілді қолдансаңыз, жақсы жаңалық - деректер инфрақұрылымы үшін қажет нәрсенің бәрі MiniIO. MiniIO S3 үйлесімді, сондықтан егер сіз басқа құралдан бастап, деректер жиынына қол жеткізу үшін S3 интерфейсін пайдалансаңыз, кодыңыз жай ғана жұмыс істейді. Егер сіз жаңадан бастасаңыз, біздің сайтты пайдалана аласыз
Үшінші тараптың MLOps құралын қабылдау - әртүрлі типтегі үлгілерді жасайтын бірнеше AI/ML командасы бар ірі ұйымдар үшін барудың ең жақсы жолы. Ең көп мүмкіндіктері бар MLOps құралы ең жақсы құрал болуы міндетті емес. Жоғарыдағы мүмкіндіктерді қарап шығыңыз және сізге қажет мүмкіндіктерді, қазіргі уақытта бар CI/CD құбырының бөлігі ретінде бар мүмкіндіктерді және сайып келгенде, сізге қажет емес мүмкіндіктерді жазып алыңыз, бұл сізге ең жақсы сәйкестікті табуға көмектеседі. MLOps құралдарының үлкен петабайттарды сақтау объектісіне тәбеті бар. Олардың көпшілігі әрбір экспериментте деректер жиынын автоматты түрде нұсқалайды және әр дәуірден кейін үлгілеріңізді автоматты түрде тексереді. Мұнда тағы да MiniIO көмектесе алады, өйткені сыйымдылық проблема емес. Үйде өндірілген шешімге ұқсас, MiniIO корпоративтік нұсқасын пайдалануды қарастырыңыз. Кэштеу мүмкіндіктері шелек үшін конфигурацияланғаннан кейін автоматты түрде жұмыс істейді, сондықтан MLOps құралы кэшті пайдалануды сұрамаса да - MiniIO оқу жинағы сияқты жиі қатынасатын нысандарды автоматты түрде кэштейді.
Бүгінгі таңда нарықтағы MLOps құралдарының көпшілігі әдетте метрика мен гиперпараметр болып табылатын үлгіні оқыту кезінде жасалған құрылымдық деректерді сақтау үшін ашық бастапқы реляциялық дерекқорды пайдаланады. Өкінішке орай, бұл ұйымыңыз қолдауды қажет ететін жаңа дерекқор болады. Оған қоса, егер ұйым Заманауи Datalake (немесе Data Lakehouse) бағытына көшетін болса, онда қосымша реляциялық дерекқор қажет емес. Негізгі MLOps жеткізушілері құрылымдық деректерін сақтау үшін OTF негізіндегі деректер қоймасын пайдалануды қарастырғаны жақсы болар еді.
Барлық негізгі MLOps жеткізушілері құрылымдалмаған деректерді сақтау үшін қақпақ астында MiniIO пайдаланады. Өкінішке орай, бұл әдетте MLOps құралының жалпы үлкенірек орнатуының бөлігі ретінде орнатылған бөлек шағын данасы ретінде қолданылады. Бұған қоса, бұл әдетте MiniIO-ның ескі нұсқасы, ол біздің әрқашан іске қосу этикасына қайшы келеді
Бұл постта мен MLOps мүмкіндіктерін және осы мүмкіндіктерді қолдау үшін қажетті деректер инфрақұрылымын зерттеу арқылы MLOps бойынша сәулетші нұсқаулығын ұсындым. Жоғары деңгейде ұйымдар үйдегі шешімді құра алады немесе олар үшінші тарап шешімін қолдана алады. Таңдалған бағытқа қарамастан, бүгінгі таңда салада бар барлық мүмкіндіктерді түсіну маңызды. Үй шешімдері жобаны жылдам бастауға мүмкіндік береді, бірақ сіз көп ұзамай шешіміңізден асып түсуіңіз мүмкін. Сондай-ақ нақты қажеттіліктеріңізді және MLOps бар CI/CD құбырымен қалай жұмыс істейтінін түсіну маңызды. Көптеген MLOps құралдары мүмкіндіктерге бай және сіз ешқашан пайдаланбайтын немесе CI/CD құбырының бөлігі ретінде бұрыннан бар мүмкіндіктерді қамтиды.
MLOps сәтті енгізу үшін сізге оны қолдайтын деректер инфрақұрылымы қажет. Бұл постта мен үйде жасалған шешімді таңдағандар үшін қарапайым шешімді ұсындым және үшінші тарап құралдары мен олар қажет ететін ресурстардан не күтетінін сипаттадым.
Мен заманауи Datalake-пен жақсырақ интеграциялануға көмектесетін MLOps құралдарын одан әрі дамытуға арналған тілектер тізімімен аяқтадым.
AI/ML жұмыс жүктемелерін қолдау үшін Заманауи Datalake пайдалану туралы қосымша ақпаратты қараңыз
Сұрақтарыңыз болса, бізге хабарласуды ұмытпаңыз