Համաշխարհային մի քանի ոլորտներ սկսում են ավելի էական ներդրումներ կատարել մեքենայական ուսուցման մեջ (ML):
ML մոդելները կարող են ի սկզբանե գործարկվել և շահագործվել մասնագետների թիմերի կողմից, սակայն ամենամեծ խոչընդոտներից մեկը ստացված գիտելիքների փոխանցումն է հաջորդ մոդելին, որպեսզի գործընթացները ընդլայնվեն:
Մոդելի կյանքի ցիկլի կառավարման մեջ ներգրավված գործընթացները բարելավելու և ստանդարտացնելու համար MLOps-ի տեխնիկան ավելի ու ավելի են օգտագործվում մեքենայական ուսուցման մոդելներ ստեղծող թիմերի կողմից:
Շարունակեք կարդալ՝ ավելին իմանալու համար այսօր առկա լավագույն MLOps գործիքների և հարթակների մասին, և թե ինչպես դրանք կարող են հեշտացնել մեքենայական ուսուցումը գործիքի, մշակողի և ընթացակարգային տեսանկյունից:
Ի՞նչ է MLOps-ը:
Մեքենայի ուսուցման մոդելների համար քաղաքականության, նորմերի և լավագույն փորձի ստեղծման տեխնիկան հայտնի է որպես «մեքենայական ուսուցման գործողություններ» կամ «MLOps»:
MLOps-ը նպատակ ունի երաշխավորել ՓԼ-ի զարգացման ողջ կյանքի ցիկլը` գաղափարից մինչև տեղակայում, մանրակրկիտ փաստաթղթավորվում և կառավարվում է լավագույն արդյունքների համար, այլ ոչ թե դրա մեջ շատ ժամանակ և ռեսուրսներ ներդնելու առանց ռազմավարության:
MLOps-ի նպատակն է կոդավորել լավագույն պրակտիկան այնպես, որ մեքենայական ուսուցման զարգացումն ավելի լայնածավալ դարձնի ML օպերատորների և մշակողների համար, ինչպես նաև բարձրացնել ML մոդելների որակն ու անվտանգությունը:
Ոմանք MLO-ներին անվանում են «DevOps մեքենայական ուսուցման համար», քանի որ այն հաջողությամբ կիրառում է DevOps-ի սկզբունքները տեխնոլոգիական զարգացման ավելի մասնագիտացված ոլորտում:
Սա MLOps-ի մասին մտածելու օգտակար միջոց է, քանի որ, DevOps-ի նման, այն կարևորում է գիտելիքների փոխանակումը, համագործակցությունը և լավագույն փորձը թիմերի և գործիքների միջև:
MLOps-ը ծրագրավորողներին, տվյալների գիտնականներին և օպերացիոն թիմերին տրամադրում է համագործակցության շրջանակ և, որպես արդյունք, ML ամենահզոր մոդելներ արտադրելու համար:
Ինչու՞ օգտագործել MLOps գործիքները:
MLOps գործիքները կարող են կատարել մի շարք պարտականություններ ML թիմի համար, այնուամենայնիվ, դրանք հաճախ բաժանվում են երկու խմբի՝ հարթակի կառավարում և առանձին բաղադրիչների կառավարում:
Մինչ որոշ MLOps արտադրանքներ կենտրոնանում են միայն մեկ հիմնական գործառույթի վրա, ինչպիսիք են տվյալների կամ մետատվյալների կառավարումը, մյուս գործիքներն ընդունում են ավելի համապարփակ ռազմավարություն և ապահովում են MLOps հարթակ՝ ML կյանքի ցիկլի մի քանի ասպեկտները վերահսկելու համար:
Փնտրեք MLOps լուծումներ, որոնք օգնում են ձեր թիմին կառավարել ML-ի զարգացման այս ոլորտները, անկախ նրանից՝ մասնագետ եք փնտրում, թե ավելի լայն գործիք.
- Տվյալների մշակում
- Դիզայն և մոդելավորում
- Նախագծերի և աշխատատեղերի կառավարում
- ML մոդելի տեղակայում և շարունակական պահպանում
- Կյանքի ցիկլի կառավարում սկզբից մինչև վերջ, որը սովորաբար առաջարկվում է ամբողջական սպասարկման MLOps հարթակների կողմից:
MLOps գործիքներ
1. MLFlow
Մեքենայի ուսուցման կյանքի ցիկլը վերահսկվում է բաց կոդով MLflow հարթակով և ներառում է կենտրոնական մոդելի գրանցում, տեղակայում և փորձարկում:
MLflow-ը կարող է օգտագործվել ցանկացած չափի թիմի կողմից, ինչպես անհատապես, այնպես էլ հավաքականորեն: Գրադարանները որևէ ազդեցություն չունեն գործիքի վրա:
Ցանկացած ծրագրավորման լեզու և մեքենայական ուսուցման գրադարան կարող է այն օգտագործել:
Մեքենայական ուսուցման հավելվածների վերապատրաստումը, տեղակայումը և կառավարումը հեշտացնելու համար MLFlow-ը փոխազդում է մի շարք մեքենայական ուսուցման շրջանակների հետ, այդ թվում՝ TensorFlow և Pytorch-ը:
Բացի այդ, MLflow-ն ապահովում է հեշտ օգտագործվող API-ներ, որոնք կարող են ներառվել մեքենայական ուսուցման ցանկացած ծրագրում կամ գրադարանում:
MLflow-ն ունի չորս հիմնական առանձնահատկություն, որոնք հեշտացնում են հետևելու և պլանավորելու փորձերը.
- MLflow Tracking – API և UI՝ մեքենայական ուսուցման կոդի պարամետրերը, տարբերակները, չափումները և արտեֆակտները գրանցելու, ինչպես նաև արդյունքները հետագայում ցուցադրելու և հակադրելու համար։
- MLflow Projects – փաթեթավորում մեքենայական ուսուցման ծածկագիրը բազմակի օգտագործման, վերարտադրվող ձևաչափով՝ արտադրություն փոխանցելու կամ տվյալների այլ գիտնականների հետ փոխանակելու համար։
- MLflow մոդելներ – մոդելների պահպանում և տեղակայում տարբեր ML գրադարաններից մոդելների սպասարկման և եզրակացության համակարգերի վրա:
- MLflow մոդելի գրանցամատյան – կենտրոնական մոդելային խանութ, որը հնարավորություն է տալիս համատեղ կառավարել MLflow մոդելի ողջ կյանքի տևողությունը, ներառյալ մոդելի տարբերակները, փուլային անցումները և ծանոթագրությունները:
2. Կուբեֆլոու
Kubernetes-ի ML գործիքների տուփը կոչվում է Kubeflow: Docker բեռնարկղերի փաթեթավորում և կառավարում, օգնում է պահպանմանը մեքենայական ուսուցման համակարգեր.
Պարզեցնելով գործարկման կազմակերպումը և մեքենայական ուսուցման աշխատանքային հոսքերի տեղակայումը, այն նպաստում է մեքենայական ուսուցման մոդելների մասշտաբայնությանը:
Դա բաց կոդով նախագիծ է, որը ներառում է լրացուցիչ գործիքների և շրջանակների խնամքով ընտրված խումբ՝ հարմարեցված ՓԼ տարբեր կարիքներին:
ML-ի երկար ուսուցման առաջադրանքները, ձեռքով փորձերը, կրկնելիությունը և DevOps-ի մարտահրավերները կարող են կարգավորվել Kubeflow Pipelines-ի միջոցով:
Մեքենայի ուսուցման մի քանի փուլերի համար, ներառյալ ուսուցումը, խողովակաշարի մշակումը և սպասարկումը Jupyter նոթատետրեր, Kubeflow-ն առաջարկում է մասնագիտացված ծառայություններ և ինտեգրում։
Այն հեշտացնում է կառավարել և հետևել ձեր AI աշխատանքային ծանրաբեռնվածության ժամկետին, ինչպես նաև մեքենայական ուսուցման (ML) մոդելների և տվյալների խողովակաշարերի տեղակայումը Kubernetes կլաստերներում:
Այն առաջարկում է.
- Համակարգի հետ փոխազդելու համար SDK-ն օգտագործելու համար նախատեսված նոութբուքեր
- օգտատիրոջ միջերես (UI)՝ գործարկումները, աշխատանքները և փորձերը վերահսկելու և վերահսկելու համար
- Արագորեն նախագծել վերջնական լուծումներ՝ առանց ամեն անգամ վերակառուցելու և բաղադրիչներն ու խողովակաշարերը նորից օգտագործելու:
- Որպես Kubeflow-ի հիմնական բաղադրիչ կամ որպես ինքնուրույն տեղադրում, առաջարկվում է Kubeflow Pipelines:
3. Տվյալների տարբերակի վերահսկում
Բաց կոդով տարբերակի կառավարման լուծումը մեքենայական ուսուցման նախագծերի համար կոչվում է DVC կամ Data Version Control:
Ինչ լեզու էլ որ ընտրեք, դա փորձարարական գործիք է, որն օգնում է խողովակաշարի սահմանմանը:
DVC-ն օգտագործում է կոդը, տվյալների տարբերակումը և վերարտադրելիությունը՝ օգնելու ձեզ խնայել ժամանակը, երբ հայտնաբերում եք ձեր ML մոդելի ավելի վաղ տարբերակի հետ կապված խնդիր:
Բացի այդ, դուք կարող եք օգտագործել DVC խողովակաշարեր՝ ձեր մոդելը մարզելու և այն ձեր թիմի անդամներին բաժանելու համար: Մեծ տվյալների կազմակերպումը և տարբերակների մշակումը կարող է իրականացվել DVC-ի կողմից, և տվյալները կարող են պահպանվել հեշտությամբ մատչելի ձևով:
Չնայած այն ներառում է փորձերի հետագծման որոշ (սահմանափակ) առանձնահատկություններ, այն հիմնականում կենտրոնանում է տվյալների և խողովակաշարերի տարբերակների և կառավարման վրա:
Այն առաջարկում է.
- Այն պահեստավորման ագնոստիկ է, հետևաբար հնարավոր է օգտագործել պահեստավորման տարբեր տեսակներ:
- Այն տրամադրում է նաև հետևելու վիճակագրություն:
- նախապես կառուցված միջոց՝ ML փուլերը DAG-ին միացնելու և ամբողջ խողովակաշարը սկզբից մինչև վերջ գործարկելու համար
- Յուրաքանչյուր ML մոդելի ամբողջ զարգացումը կարելի է հետևել՝ օգտագործելով դրա ամբողջ ծածկագիրը և տվյալների ծագումը:
- Վերարտադրելիություն՝ հավատարմորեն պահպանելով նախնական կոնֆիգուրացիան, մուտքային տվյալները և ծրագրային կոդը փորձի համար:
4. Պաչիդերմ
Pachyderm-ը մեքենայական ուսուցման և տվյալների գիտության տարբերակների կառավարման ծրագիր է, որը նման է DVC-ին:
Բացի այդ, քանի որ այն ստեղծվել է օգտագործելով Docker և Kubernetes, այն կարող է կատարել և տեղակայել Machine Learning հավելվածները ցանկացած ամպային հարթակի վրա:
Pachyderm-ը երաշխավորում է, որ տվյալների յուրաքանչյուր կտոր, որն օգտագործվում է մեքենայական ուսուցման մոդելում, կարող է հետագծվել և տարբերակվել:
Այն օգտագործվում է մեքենայական ուսուցման մոդելներ ստեղծելու, տարածելու, կառավարելու և հետևելու համար: Ներառված են մոդելային ռեեստր, մոդելային կառավարման համակարգ և CLI գործիքների տուփ:
Մշակողները կարող են ավտոմատացնել և ընդլայնել իրենց մեքենայական ուսուցման կյանքի ցիկլը՝ օգտագործելով Pachyderm-ի տվյալների հիմքը, որը նաև ապահովում է կրկնելիությունը:
Այն աջակցում է տվյալների կառավարման խիստ չափորոշիչներին, նվազեցնում է տվյալների մշակման և պահպանման ծախսերը, ինչպես նաև օգնում է բիզնեսին իրենց տվյալների գիտության նախաձեռնություններն ավելի արագ շուկա բերելու հարցում:
5. Պոլիաքսոն
Օգտագործելով Polyaxon հարթակը, մեքենայական ուսուցման նախագծերը և խորը ուսուցման ծրագրերը կարող են կրկնօրինակվել և կառավարվել իրենց ողջ կյանքի ցիկլի ընթացքում:
Polyaxon-ը կարող է հյուրընկալել և կառավարել գործիքը, և այն կարող է տեղադրվել ցանկացած տվյալների կենտրոնում կամ ամպային մատակարարում: Ինչպիսիք են Torch-ը, Tensorflow-ը և MXNet-ը, որոնք աջակցում են խորը ուսուցման բոլոր ամենատարածված շրջանակները:
Երբ խոսքը վերաբերում է նվագախմբին, Polyaxon-ը հնարավորություն է տալիս առավելագույնս օգտագործել ձեր կլաստերը՝ պլանավորելով առաջադրանքներ և թեստեր իրենց CLI-ի, վահանակի, SDK-ների կամ REST API-ի միջոցով:
Այն առաջարկում է.
- Դուք կարող եք օգտագործել բաց կոդով տարբերակը հենց հիմա, բայց այն ներառում է նաև ընտրանքներ կորպորատիվների համար:
- Թեև այն ընդգրկում է ողջ կյանքի ցիկլը, ներառյալ նվագախումբը, այն ունակ է շատ ավելին:
- Տեխնիկական տեղեկատու փաստաթղթերի, մեկնարկի ուղեցույցների, ուսումնական նյութերի, ձեռնարկների, ձեռնարկների, փոփոխությունների մատյանների և այլնի հետ միասին այն շատ լավ փաստաթղթավորված հարթակ է:
- Փորձի պատկերացումների վահանակի միջոցով հնարավոր է հետևել, հետևել և գնահատել յուրաքանչյուր օպտիմալացման փորձ:
6. գիսաստղ
Comet-ը մետամեքենայական ուսուցման հարթակ է, որը հետևում է, հակադրում, բացատրում և բարելավում փորձերն ու մոդելները:
Ձեր բոլոր փորձերը կարելի է տեսնել և համեմատել մեկ վայրում:
Այն գործում է մեքենայական ուսուցման ցանկացած առաջադրանքի համար, ցանկացած վայրում, որտեղ կատարվում է ձեր կոդը, և ցանկացած մեքենայական ուսուցման գրադարանի հետ:
Comet-ը հարմար է խմբերի, անհատների, ակադեմիական հաստատությունների, ձեռնարկությունների և ցանկացած այլ մարդու համար, ով ցանկանում է արագ պատկերացնել փորձերը, հեշտացնել աշխատանքը և կատարել փորձեր:
Տվյալների գիտնականները և թիմերը կարող են հետևել, պարզաբանել, կատարելագործել և համեմատել փորձերն ու մոդելները՝ օգտագործելով ինքնակառավարվող և ամպի վրա հիմնված մետա-մեքենայի ուսուցման Comet հարթակը:
Այն առաջարկում է.
- Թիմի անդամների համար կան բազմաթիվ հնարավորություններ՝ առաջադրանքները կիսելու համար:
- Այն ունի մի քանի ինտեգրումներ, որոնք հեշտացնում են այն կապել այլ տեխնոլոգիաների հետ
- Լավ է գործում ընթացիկ ML գրադարանների հետ
- Հոգ է տանում օգտագործողների կառավարման մասին
- Փորձերի համեմատությունը միացված է, ներառյալ կոդի, հիպերպարամետրերի, չափումների, կանխատեսումների, կախվածությունների և համակարգի չափումների համեմատությունը:
- Ապահովում է տեսողության, աուդիո, տեքստային և աղյուսակային տվյալների հստակ մոդուլներ, որոնք թույլ են տալիս պատկերացնել նմուշները:
7. Օպտունա
Optuna-ն ինքնավար հիպերպարամետրերի օպտիմալացման համակարգ է, որը կարող է կիրառվել ինչպես մեքենայական ուսուցման, այնպես էլ խորը ուսուցման, ինչպես նաև այլ ոլորտներում:
Այն պարունակում է մի շարք նորագույն ալգորիթմներ, որոնցից դուք կարող եք ընտրել (կամ կապել), շատ հեշտացնում է ուսուցումը բազմաթիվ համակարգիչների վրա տարածելը և առաջարկում է արդյունքների գրավիչ պատկերացում:
Հանրաճանաչ մեքենայական ուսուցման գրադարանները, ինչպիսիք են PyTorch-ը, TensorFlow-ը, Keras-ը, FastAI-ը, sci-kit-learn-ը, LightGBM-ը և XGBoost-ը, բոլորն էլ ինտեգրված են դրա հետ:
Այն ապահովում է գերժամանակակից ալգորիթմներ, որոնք հաճախորդներին հնարավորություն են տալիս ավելի արագ արդյունքներ ստանալ՝ արագորեն կրճատելով այն նմուշները, որոնք խոստումնալից չեն թվում:
Օգտագործելով Python-ի վրա հիմնված ալգորիթմներ, այն ավտոմատ կերպով որոնում է իդեալական հիպերպարամետրեր: Optuna-ն խրախուսում է զուգահեռացված հիպերպարամետրային որոնումները բազմաթիվ շղթաներում՝ առանց սկզբնական կոդը փոփոխելու:
Այն առաջարկում է.
- Այն աջակցում է բաշխված ուսուցմանը կլաստերի վրա, ինչպես նաև մեկ համակարգչի (բազմագործընթաց) (բազմ հանգույց)
- Այն աջակցում է մի քանի կտրման տեխնիկա՝ արագացնելու կոնվերգենցիան (և ավելի քիչ հաշվարկներ օգտագործելու համար)
- Այն ունի մի շարք հզոր վիզուալիզացիաներ, ինչպիսիք են հատվածի սյուժեն, ուրվագծային գծապատկերը և զուգահեռ կոորդինատները:
8. Կեդրո
Kedro-ն անվճար Python կոդ է գրելու համար, որը կարող է թարմացվել և պահպանվել տվյալների գիտության նախագծերի համար:
Այն գաղափարներ է բերում ծրագրային ապահովման ճարտարագիտության լավագույն փորձից մինչև մեքենայական ուսուցման կոդ: Python-ը այս աշխատանքային հոսքի նվագախմբային գործիքի հիմքն է:
Ձեր ML գործընթացներն ավելի պարզ և ճշգրիտ դարձնելու համար դուք կարող եք մշակել վերարտադրելի, պահպանվող և մոդուլային աշխատանքային հոսքեր:
Kedro-ն ներառում է ծրագրային ապահովման ինժեներական սկզբունքներ, ինչպիսիք են մոդուլյարությունը, պարտականությունների տարանջատումը և մեքենայական ուսուցման միջավայրի տարբերակումը:
Cookiecutter Data Science-ի հիման վրա այն ապահովում է ընդհանուր, հարմարվող նախագծի շրջանակ:
Մի շարք պարզ տվյալների միակցիչներ, որոնք օգտագործվում են տվյալների պահպանման և բեռնման համար մի քանի ֆայլային համակարգերում և ֆայլերի ձևաչափերում, կառավարվում են տվյալների կատալոգի կողմից: Այն ավելի արդյունավետ է դարձնում մեքենայական ուսուցման նախագծերը և հեշտացնում է տվյալների խողովակաշարի ստեղծումը:
Այն առաջարկում է.
- Kedro-ն թույլ է տալիս ցրված կամ առանձին մեքենաների տեղակայում:
- Դուք կարող եք ավտոմատացնել կախվածությունը Python կոդի և աշխատանքային հոսքի վիզուալիզացիայի միջև՝ օգտագործելով խողովակաշարի աբստրակցիան:
- Մոդուլային, բազմակի օգտագործման կոդի օգտագործման միջոցով այս տեխնոլոգիան հեշտացնում է թիմային համագործակցությունը տարբեր մակարդակներում և բարելավում արտադրողականությունը կոդավորման միջավայրում:
- Առաջնային նպատակն է հաղթահարել Jupyter նոթատետրերի, միանվագ սկրիպտների և սոսինձ-կոդերի թերությունները՝ գրելով տվյալների գիտության պահպանման ծրագրավորում:
9. BentoML
Մեքենայական ուսուցման API-ի վերջնակետերի ստեղծումն ավելի հեշտ է դարձել BentoML-ի միջոցով:
Այն ապահովում է տիպիկ, բայց խտացված ենթակառուցվածք՝ սովորած մեքենայական ուսուցման մոդելները արտադրության մեջ տեղափոխելու համար:
Այն հնարավորություն է տալիս փաթեթավորել սովորած մոդելները արտադրության միջավայրում օգտագործելու համար՝ դրանք մեկնաբանելով ցանկացած ML շրջանակի միջոցով: Աջակցվում է ինչպես օֆլայն խմբաքանակի սպասարկումը, այնպես էլ առցանց API սպասարկումը:
Բարձր արդյունավետությամբ մոդելային սերվերը և ճկուն աշխատանքային հոսքը BentoML-ի առանձնահատկություններն են:
Բացի այդ, սերվերն առաջարկում է հարմարվողական միկրո խմբաքանակ: Մոդելների կազմակերպման և տեղակայման ընթացակարգերին հետևելու միասնական մոտեցում է տրամադրվում UI-ի վահանակի կողմից:
Սերվերի խափանում չի լինի, քանի որ գործառնական մեխանիզմը մոդուլային է, իսկ կազմաձևը՝ կրկին օգտագործելի: Այն ճկուն հարթակ է ML մոդելների տրամադրման, կազմակերպման և տեղակայման համար:
Այն առաջարկում է.
- Այն ունի մոդուլային դիզայն, որը հարմարվողական է:
- Այն հնարավորություն է տալիս տեղակայել մի քանի հարթակներում:
- Այն չի կարող ավտոմատ կերպով կարգավորել հորիզոնական մասշտաբը:
- Այն թույլ է տալիս մեկ մոդելի ձևաչափ, մոդելի կառավարում, մոդելի փաթեթավորում և բարձր արդյունավետությամբ մոդելի սպասարկում:
10: Սելդոն
Տվյալների գիտնականները կարող են ստեղծել, տեղակայել և կառավարել մեքենայական ուսուցման մոդելներ և փորձեր Kubernetes-ի մասշտաբով՝ օգտագործելով բաց կոդով Seldon Core շրջանակը:
TensorFlow-ը, sci-kit-learn-ը, Spark-ը, R-ը, Java-ն և H2O-ն այն գործիքներից ընդամենը մի քանիսն են, որոնք աջակցվում են դրանով:
Այն նաև համագործակցում է Kubeflow-ի և RedHat-ի OpenShift-ի հետ: Սելդոնի միջուկը փոխակերպում է մեքենայական ուսուցման մոդելները (ML մոդելներ) կամ լեզուների փաթաթանները (լեզուներ, ինչպիսիք են Python-ը, Java-ն և այլն) արտադրական REST/GRPC միկրոծառայությունների:
Մեքենայի ուսուցման գործընթացները բարելավելու MLOps-ի լավագույն գործիքներից մեկը սա է:
Հեշտ է կոնտեյներավորել ML մոդելները և փորձարկել օգտագործելիությունն ու անվտանգությունը՝ օգտագործելով Seldon Core-ը:
Այն առաջարկում է.
- Մոդելի տեղակայումը կարող է ավելի պարզ լինել մի քանի այլընտրանքներով, ինչպիսիք են դեղձանիկների տեղակայումը:
- Հասկանալու համար, թե ինչու են արվել կոնկրետ կանխատեսումներ, օգտագործեք մոդելային բացատրիչներ:
- Երբ խնդիրներ են առաջանում, հետևեք արտադրական մոդելներին՝ օգտագործելով ահազանգման համակարգը:
Եզրափակում
MLO-ները կարող են օգնել բարելավել մեքենայական ուսուցման գործողությունները: MLO-ները կարող են արագացնել տեղակայումը, հեշտացնել տվյալների հավաքագրումը և վրիպազերծումը և բարելավել ինժեներների և տվյալների գիտնականների միջև համագործակցությունը:
Որպեսզի դուք ընտրեք MLOps գործիքը, որը լավագույնս համապատասխանում է ձեր կարիքներին, այս գրառումը ուսումնասիրել է 10 հայտնի MLOps լուծումներ, որոնցից շատերը բաց կոդով են:
Թողնել գրառում