![Search icon](https://hackernoon.imgix.net/search-new.png?w=19&h=19)
MLOps, shkurt për Operacionet e Mësimit të Makinerisë, është një grup praktikash dhe mjetesh që synojnë të adresojnë nevojat specifike të inxhinierëve që ndërtojnë modele dhe t'i çojnë ato në prodhim. Disa organizata fillojnë me disa mjete të krijuara në shtëpi që i versionojnë grupet e të dhënave pas çdo eksperimenti dhe modelet e pikave të kontrollit pas çdo epoke trajnimi. Nga ana tjetër, shumë organizata kanë zgjedhur të miratojnë një mjet formal që ka gjurmimin e eksperimentit, veçoritë e bashkëpunimit, aftësitë e shërbimit të modeleve dhe madje edhe veçoritë e tubacionit për përpunimin e të dhënave dhe modeleve të trajnimit.
Për të bërë zgjedhjen më të mirë për organizatën tuaj, duhet të kuptoni të gjitha aftësitë e disponueshme nga mjetet kryesore MLOps në industri. Nëse shkoni në rrugën e rritur, duhet të kuptoni aftësitë nga të cilat po hiqni dorë. Një qasje e rritur në shtëpi është e mirë për ekipet e vogla që duhet të lëvizin shpejt dhe mund të mos kenë kohë për të vlerësuar një mjet të ri. Nëse zgjidhni të zbatoni një mjet të palës së tretë, atëherë do t'ju duhet të zgjidhni mjetin që përputhet më mirë me fluksin e punës inxhinierike të organizatës suaj. Kjo mund të jetë e ndërlikuar sepse mjetet kryesore sot ndryshojnë në mënyrë të konsiderueshme në qasjen dhe aftësitë e tyre. Pavarësisht nga zgjedhja juaj, do t'ju duhet një infrastrukturë e të dhënave që mund të trajtojë vëllime të mëdha të të dhënave dhe të shërbejë grupet e trajnimit në një mënyrë performuese. Modelet e pikave të kontrollit dhe versionimi i grupeve të mëdha të të dhënave kërkojnë kapacitet të shkallëzuar dhe nëse përdorni GPU të shtrenjta, do t'ju duhet infrastrukturë performuese për të përfituar sa më shumë nga investimi juaj.
Në këtë postim, unë do të paraqes një listë karakteristikash që arkitektët duhet të marrin në konsideratë pavarësisht nga qasja ose mjetet që ata zgjedhin. Kjo listë e veçorive vjen nga kërkimet dhe eksperimentet e mia me tre nga shitësit më të mirë të MLOps sot -
Përpara se të zhytemi në veçoritë dhe kërkesat e infrastrukturës, le të kuptojmë më mirë rëndësinë e MLO-ve. Për ta bërë këtë, është e dobishme të krahasohet krijimi i modelit me zhvillimin e aplikacioneve konvencionale.
Zhvillimi i aplikacioneve konvencionale, si zbatimi i një mikroservice të ri që shton një veçori të re në një aplikacion, fillon me rishikimin e një specifikimi. Fillimisht projektohen strukturat e reja të të dhënave ose ndryshimet në strukturat ekzistuese të të dhënave. Dizajni i të dhënave nuk duhet të ndryshojë sapo të fillojë kodimi. Më pas, shërbimi zbatohet dhe kodimi është aktiviteti kryesor në këtë proces. Testet e njësisë dhe testet nga fundi në fund janë gjithashtu të koduara. Këto teste vërtetojnë se kodi nuk është i gabuar dhe zbaton saktë specifikimin. Ato mund të ekzekutohen automatikisht nga një tubacion CI/CD përpara se të vendoset i gjithë aplikacioni.
Krijimi i një modeli dhe trajnimi i tij është ndryshe. Hapi i parë është të kuptuarit e të dhënave të papërpunuara dhe parashikimit të nevojshëm. Inxhinierët ML duhet të shkruajnë disa kode për të zbatuar rrjetet e tyre nervore ose për të vendosur një algoritëm, por kodimi nuk është aktiviteti dominues. Aktiviteti kryesor është eksperimentimi i përsëritur. Gjatë eksperimentimit, dizajni i të dhënave, dizajni i modelit dhe parametrat e përdorur do të ndryshojnë të gjitha. Pas çdo eksperimenti, krijohen metrikë që tregojnë se si modeli performoi ashtu siç ishte trajnuar. Metrikat gjenerohen gjithashtu për të përcaktuar performancën e modelit kundrejt një grupi vërtetimi dhe një grupi testimi. Këto metrika përdoren për të vërtetuar cilësinë e modelit. Ju duhet ta ruani modelin pas çdo eksperimenti, dhe sa herë që ndryshoni grupet e të dhënave tuaja, duhet t'i ruani gjithashtu ato. Pasi një model të jetë gati për t'u përfshirë në një aplikacion, ai duhet të paketohet dhe vendoset.
Për ta përmbledhur, MLOps do të thotë të mësosh me makinë se çfarë është DevOps për zhvillimin tradicional të softuerit. Të dyja janë një grup praktikash dhe parimesh që synojnë përmirësimin e bashkëpunimit midis ekipeve inxhinierike (Zhvilluesi ose ML) dhe ekipet e operacioneve të IT (Ops). Qëllimi është të thjeshtojë ciklin jetësor të zhvillimit, nga planifikimi dhe zhvillimi te vendosja dhe operacionet, duke përdorur automatizimin. Një nga përfitimet kryesore të këtyre qasjeve është përmirësimi i vazhdueshëm.
Le të shkojmë pak më thellë në MLO dhe të shohim veçori specifike që duhen marrë parasysh.
Gjurmimi i eksperimentit dhe bashkëpunimi janë veçoritë më të lidhura me MLOps, por mjetet më moderne të MLOps-it të sotëm mund të bëjnë shumë më tepër. Për shembull, disa mund të ofrojnë një mjedis kohëzgjatjeje për eksperimentet tuaja. Të tjerët mund të paketojnë dhe vendosin modele pasi të jenë gati për t'u integruar në një aplikacion.
Më poshtë është një superbashkësi e veçorive që gjenden sot në mjetet MLOps. Kjo listë përfshin edhe gjëra të tjera për t'u marrë parasysh, si mbështetja dhe integrimi i të dhënave.
Mbështetje nga një lojtar kryesor - Teknikat dhe veçoritë e MLOps janë vazhdimisht në zhvillim. Ju dëshironi një mjet që mbështetet nga një lojtar kryesor (Google, Databricks ose McKinsey dhe Company mbështet Kubeflow, MLflow dhe MLRun, përkatësisht), duke siguruar zhvillim dhe përmirësim të vazhdueshëm. Si shembull konkret, shumë mjete të njohura sot janë krijuar para modeleve të mëdha gjuhësore (LLM); për rrjedhojë, shumë po shtojnë veçori të reja për të mbështetur AI gjeneruese.
Integrimi Modern Datalake - Eksperimentet gjenerojnë shumë të dhëna të strukturuara dhe të pastrukturuara. Një mjet MLOps që është i integruar në mënyrë perfekte me Modern Datalake (ose Data Lakehouse) do të ruante të dhëna të pastrukturuara në Data Lake (ky është MinIO drejtpërdrejt), dhe të dhënat e strukturuara do të shkonin në Data Warehouse. Fatkeqësisht, shumë mjete MLOps ishin rreth e rrotull përpara Formateve të Tabelave të Hapura që krijuan Datalake Moderne, kështu që shumica do të kenë një zgjidhje të veçantë për të dhënat e tyre të strukturuara. Kjo është zakonisht një bazë të dhënash relacionale me burim të hapur që infrastruktura juaj e të dhënave do të duhet të mbështesë. Në lidhje me të dhënat e pastrukturuara (të dhënat dhe pikat e kontrollit të modeleve), të gjitha mjetet kryesore në industri përdorin MinIO që nga viti 2014.
Ndjekja e eksperimentit - Ndoshta tipari më i rëndësishëm i një mjeti MLOps është mbajtja e gjurmëve të grupeve të të dhënave, modeleve, hiperparametrave dhe metrikës për çdo eksperiment. Gjurmimi i eksperimentit duhet gjithashtu të lehtësojë përsëritshmërinë - nëse keni marrë një rezultat të dëshirueshëm pesë eksperimente më parë dhe eksperimentet më pas degraduan performancën e modelit tuaj, atëherë duhet të jeni në gjendje të përdorni mjetin tuaj MLOps për t'u kthyer prapa dhe për të marrë hiperparametrat e saktë dhe veçoritë e grupit të të dhënave të përdorura që prodhojnë rezultatin e dëshirueshëm.
Lehtësimi i bashkëpunimit — Një komponent i rëndësishëm i një mjeti MLOps është portali ose UI i përdorur për të paraqitur rezultatet e çdo eksperimenti. Ky portal duhet të jetë i aksesueshëm për të gjithë anëtarët e ekipit në mënyrë që ata të mund të shohin eksperimentet e njëri-tjetrit dhe të bëjnë rekomandime. Disa mjete MLOps kanë veçori të shkëlqyera grafike që lejojnë krijimin e grafikëve të personalizuar duke krahasuar rezultatet nga eksperimentet.
Paketimi i modelit - Kjo aftësi paketon një model të tillë që të jetë i aksesueshëm nga mjedise të tjera programimi - zakonisht si një mikroshërbim. Kjo është një veçori e bukur për të pasur. Një model i trajnuar nuk është gjë tjetër veçse një objekt i serializuar. Shumë organizata mund ta kenë kuptuar këtë tashmë.
Shërbimi i modelit - Pasi një model paketohet si shërbim, kjo veçori do të lejojë vendosjen e automatizuar të shërbimit që përmban modelin në mjediset formale të organizatës. Nuk do t'ju duhet kjo veçori nëse keni një
Regjistri i modeleve - Një regjistër model ofron një pamje të të gjitha modeleve aktualisht nën menaxhim nga mjeti juaj MLOps. Në fund të fundit, krijimi i modeleve të shkallës së prodhimit është qëllimi i të gjitha MLO-ve. Kjo pamje duhet të tregojë modelet që u vendosën në prodhim, si dhe modelet që nuk u futën kurrë në prodhim. Modelet që dolën në prodhim duhet të etiketohen në atë mënyrë që të mund të përcaktoni edhe versionin e aplikacionit ose shërbimit në të cilin janë vendosur.
Funksionet pa server - Disa mjete ofrojnë veçori që lejojnë shënimin e kodit në mënyrë që një funksion ose modul të mund të vendoset si një shërbim i kontejneruar për ekzekutimin e eksperimenteve në një grup. Nëse vendosni të përdorni këtë veçori, atëherë sigurohuni që të gjithë inxhinierët tuaj të jenë të kënaqur me këtë teknikë. Mund të jetë paksa një kurbë mësimi - inxhinierët me sfond DevOps do ta kenë më të lehtë, ndërsa inxhinierët që kanë studiuar më parë mësimin e makinerive me pak përvojë kodimi do të kenë vështirësi.
Aftësitë e tubacionit të të dhënave - Disa mjete MLOps synojnë të ofrojnë aftësi të plota nga fundi në fund dhe kanë veçori specifike për ndërtimin e tubacioneve të të dhënave për marrjen e të dhënave të papërpunuara, përpunimin e tyre dhe ruajtjen e të dhënave të pastra. Tubacionet zakonisht specifikohen si
Aftësitë e tubacioneve të trajnimit - Kjo është e ngjashme me tubacionet e të dhënave, por një tubacion trajnimi fillon aty ku mbarojnë tubacionet e të dhënave. Një tubacion trajnimi ju lejon të telefononi kodin tuaj të hyrjes në të dhënat, të dërgoni të dhëna në logjikën tuaj të trajnimit dhe të shënoni objekte dhe modele të të dhënave në mënyrë që ato të ruhen automatikisht. Ngjashëm me tubacionet e të dhënave, kjo veçori mund të përdoret së bashku me funksionet pa server për të krijuar DAG dhe për të planifikuar eksperimente. Nëse po përdorni tashmë një mjet trajnimi të shpërndarë, atëherë mund të mos ju nevojitet kjo veçori. Është e mundur të fillohet trajnimi i shpërndarë nga një tubacion trajnimi, por kjo mund të jetë shumë komplekse.
Pas shikimit të ndryshimeve midis zhvillimit të aplikacioneve tradicionale dhe mësimit të makinerive, duhet të jetë e qartë se për të qenë i suksesshëm me mësimin e makinerive, keni nevojë për një formë MLOps dhe një infrastrukturë të dhënash të aftë për performancë dhe kapacitet të shkallëzuar.
Zgjidhjet e rritura në shtëpi janë të mira nëse ju duhet të filloni një projekt shpejt dhe nuk keni kohë për të vlerësuar një mjet zyrtar MLOps. Nëse merrni këtë qasje, lajmi i mirë është se gjithçka që ju nevojitet për infrastrukturën tuaj të të dhënave është MinIO. MinIO është i pajtueshëm me S3, kështu që nëse keni filluar me një mjet tjetër dhe keni përdorur një ndërfaqe S3 për të hyrë në grupet tuaja të të dhënave, atëherë kodi juaj thjesht do të funksionojë. Nëse jeni duke filluar, atëherë mund të përdorni tonën
Miratimi i një mjeti MLOps të palëve të treta është mënyra më e mirë për të shkuar për organizatat e mëdha me disa ekipe AI/ML që krijojnë modele të llojeve të ndryshme. Mjeti MLOps me më shumë veçori nuk është domosdoshmërisht mjeti më i mirë. Shikoni veçoritë e mësipërme dhe mbani shënim veçoritë që ju nevojiten, veçoritë që keni aktualisht si pjesë e tubacionit ekzistues CI/CD dhe së fundi, veçoritë që nuk dëshironi, kjo do t'ju ndihmojë të gjeni përshtatjen më të mirë. Veglat MLOps kanë një oreks të pangopur për petabajt të mëdhenj të ruajtjes së objekteve. Shumë prej tyre modifikojnë automatikisht grupet e të dhënave tuaja me çdo eksperiment dhe kontrollojnë automatikisht modelet tuaja pas çdo epoke. Këtu përsëri, MinIO mund të ndihmojë pasi kapaciteti nuk është problem. Ngjashëm me zgjidhjen e rritur në shtëpi, merrni parasysh përdorimin e edicionit të ndërmarrjes të MinIO. Veçoritë e memorizimit funksionojnë automatikisht pasi të konfigurohen për një kovë, kështu që edhe pse mjeti MLOps nuk kërkon përdorimin e memories - MinIO do të ruajë automatikisht objektet që aksesohen shpesh si një grup trajnimi.
Shumë nga mjetet MLOps në treg sot përdorin një bazë të dhënash relacionale me burim të hapur për të ruajtur të dhënat e strukturuara të krijuara gjatë trajnimit të modelit që zakonisht janë metrikë dhe hiperparametra. Fatkeqësisht, kjo do të jetë një bazë e re e të dhënave që duhet të mbështetet nga organizata juaj. Për më tepër, nëse një organizatë po lëviz drejt një Datalake Moderne (ose Data Lakehouse), atëherë nuk nevojitet një bazë të dhënash relacionale shtesë. Ajo që do të ishte mirë që shitësit kryesorë të MLOps të marrin në konsideratë është përdorimi i një depoje të dhënash të bazuar në OTF për të ruajtur të dhënat e tyre të strukturuara.
Të gjithë shitësit kryesorë të MLOps përdorin MinIO nën kapuç për të ruajtur të dhëna të pastrukturuara. Fatkeqësisht, kjo zakonisht vendoset si një shembull i vogël i veçantë që instalohet si pjesë e instalimit të përgjithshëm më të madh të mjetit MLOps. Për më tepër, zakonisht është një version më i vjetër i MinIO, i cili bie ndesh me etikën tonë për të drejtuar gjithmonë
Në këtë postim, unë paraqita një udhëzues arkitekti për MLOps duke hetuar si veçoritë e MLOps ashtu edhe infrastrukturën e të dhënave të nevojshme për të mbështetur këto veçori. Në një nivel të lartë, organizatat mund të ndërtojnë një zgjidhje shtëpiake, ose mund të vendosin një zgjidhje të palëve të treta. Pavarësisht nga drejtimi i zgjedhur, është e rëndësishme të kuptohen të gjitha tiparet e disponueshme në industri sot. Zgjidhjet e rritura në shtëpi ju lejojnë të filloni një projekt shpejt, por së shpejti mund ta tejkaloni zgjidhjen tuaj. Është gjithashtu e rëndësishme të kuptoni nevojat tuaja specifike dhe se si MLO-të do të punojnë me një tubacion ekzistues CI/CD. Shumë vegla MLOps janë të pasura me veçori dhe përmbajnë veçori që mund të mos i përdorni kurrë ose që i keni tashmë si pjesë e tubacionit tuaj CI/CD.
Për të zbatuar me sukses MLOps, ju nevojitet një infrastrukturë e të dhënave që mund ta mbështesë atë. Në këtë postim, unë paraqita një zgjidhje të thjeshtë për ata që zgjodhën një zgjidhje shtëpiake dhe përshkrova se çfarë të presin nga mjetet e palëve të treta dhe burimet që ata kërkojnë.
E përfundova me një listë dëshirash për zhvillimin e mëtejshëm të mjeteve MLOps që do t'i ndihmonin ata të integrohen më mirë me Modern Datalake.
Për më shumë informacion mbi përdorimin e Modern Datalake për të mbështetur ngarkesat e punës AI/ML, shikoni
Nëse keni ndonjë pyetje, sigurohuni që të na kontaktoni