Programovanie

MLops: Nárast operácií strojového učenia

Aj keď je pre dátových vedcov ťažké označiť údaje a vyvinúť presné modely strojového učenia, správa modelov vo výrobe môže byť ešte skľučujúca. Rozpoznanie driftu modelu, preškolenie modelov s aktualizáciou súborov údajov, zlepšením výkonu a údržbou základných technologických platforiem sú všetko dôležité postupy v oblasti vedeckej práce s údajmi. Bez týchto disciplín môžu modely produkovať chybné výsledky, ktoré významne ovplyvňujú podnikanie.

Vývoj modelov pripravených na výrobu nie je ľahký výkon. Podľa jednej štúdie strojového učenia 55 percent spoločností nenasadilo modely do výroby a 40 percent a viac vyžaduje na nasadenie jedného modelu viac ako 30 dní. Úspech prináša nové výzvy a 41 percent respondentov uznáva ťažkosti s verziou modelov strojového učenia a reprodukovateľnosťou.

Ponaučením je, že po zavedení modelov strojového učenia do výroby a použití v obchodných procesoch sa objavia nové prekážky.

Správa a prevádzka modelov boli kedysi výzvou pre pokročilejšie tímy vedy o údajoch. Medzi úlohy teraz patrí monitorovanie modelov učenia produkčných strojov na drift, automatizácia preškolenia modelov, varovanie, keď je drift značný, a rozpoznanie, kedy si modely vyžadujú upgrade. Pretože viac organizácií investuje do strojového učenia, je čoraz viac potrebné zvyšovať povedomie o správe a operáciách modelov.

Dobrou správou sú platformy a knižnice, ako sú open source MLFlow a DVC, a komerčné nástroje od spoločností Alteryx, Databricks, Dataiku, SAS, DataRobot, ModelOp a ďalších uľahčujú tímy pre správu údajov a operácie tímom pre dátovú vedu. Poskytovatelia verejného cloudu tiež zdieľajú postupy, ako je implementácia MLops s Azure Machine Learning.

Existuje niekoľko podobností medzi riadením modelu a devops. Mnohí označujú správu a operácie modelov ako MLops a definujú ju ako kultúru, postupy a technológie potrebné na vývoj a údržbu modelov strojového učenia.

Pochopenie riadenia a prevádzky modelu

Ak chcete lepšie porozumieť správe a fungovaniu modelu, zvážte spojenie postupov vývoja softvéru s vedeckými metódami.

Ako vývojár softvéru viete, že dokončenie verzie aplikácie a jej nasadenie do výroby nie je maličkosti. Ešte väčšia výzva však začína, keď sa aplikácia dostane do výroby. Koncoví používatelia očakávajú pravidelné vylepšenia a základná infraštruktúra, platformy a knižnice si vyžadujú opravu a údržbu.

Poďme teraz k vedeckému svetu, kde otázky vedú k mnohým hypotézam a opakovaným experimentom. Naučili ste sa na hodine prírodovedy zaznamenávať tieto experimenty a sledovať cestu ladenia rôznych premenných od jedného experimentu k druhému. Experimentovanie vedie k vylepšeným výsledkom a dokumentovanie cesty pomáha presvedčiť kolegov, že ste preskúmali všetky premenné a že výsledky sú reprodukovateľné.

Vedci, ktorí experimentujú s modelmi strojového učenia, musia obsahovať disciplíny z vývoja softvéru aj z vedeckého výskumu. Modely strojového učenia sú softvérový kód vyvinutý v jazykoch, ako sú Python a R, skonštruovaný pomocou knižníc TensorFlow, PyTorch alebo iných knižníc strojového učenia, spustený na platformách ako Apache Spark a nasadený do cloudovej infraštruktúry. Vývoj a podpora modelov strojového učenia si vyžaduje značné experimentovanie a optimalizáciu a dátoví vedci musia preukázať presnosť svojich modelov.

Rovnako ako vývoj softvéru, aj modely strojového učenia potrebujú neustálu údržbu a vylepšenia. Niektoré z nich pochádzajú z údržby kódu, knižníc, platforiem a infraštruktúry, ale vedcov zaoberajúcich sa údajmi musí znepokojovať aj posun modelu. Zjednodušene povedané, posun modelu nastáva, keď sú k dispozícii nové údaje, a predpovede, zhluky, segmentácie a odporúčania poskytované modelmi strojového učenia sa líšia od očakávaných výsledkov.

Úspešné riadenie modelu začína vývojom optimálnych modelov

Hovoril som s Alanom Jacobsonom, vedúcim oddelenia pre dáta a analytiku v Alteryxe, o tom, ako organizácie uspievajú a rozširujú vývoj modelu strojového učenia. „Pre zjednodušenie vývoja modelu je prvou výzvou pre väčšinu vedcov v oblasti údajov zabezpečenie silnej formulácie problémov. Mnoho zložitých obchodných problémov je možné vyriešiť pomocou veľmi jednoduchej analýzy, najskôr si to však vyžaduje štruktúrovať problém tak, aby údaje a analýza mohli pomôcť odpovedať na otázku. Aj keď sa dajú využiť zložité modely, najťažšou časťou procesu je zvyčajne štruktúrovanie údajov a zabezpečenie toho, aby sa správne vstupy používali na správnej úrovni kvality. “

Súhlasím s Jacobsonom. Príliš veľa implementácií údajov a technológií začína slabými alebo žiadnymi vyhláseniami o problémoch a neprimeraným časom, nástrojmi a odbornou spôsobilosťou na zabezpečenie primeranej kvality údajov. Organizácie musia najskôr začať klásť inteligentné otázky týkajúce sa veľkých dát, investovať do dátových okruhov a potom využívať svižné metodiky v oblasti dátovej vedy na iteráciu smerom k riešeniam.

Monitorovanie modelov strojového učenia pre posun modelu

Získanie presnej definície problému je rozhodujúce pre nepretržitú správu a monitorovanie modelov vo výrobe. Jacobson ďalej vysvetlil: „Monitorovanie modelov je dôležitý proces, ale jeho správne uskutočňovanie vyžaduje silné pochopenie cieľov a možných nepriaznivých účinkov, ktoré si zasluhujú sledovanie. Zatiaľ čo väčšina diskutuje o výkone monitorovacieho modelu a jeho zmenách v priebehu času, v tomto priestore je dôležitejšia a náročnejšia analýza neúmyselných následkov. “

Jedným z ľahkých spôsobov, ako pochopiť posun modelu a neplánované dôsledky, je zvážiť vplyv modelu COVID-19 na modely strojového učenia vyvinuté s údajmi o výcviku pred pandémiou. Modely strojového učenia založené na ľudskom správaní, spracovaní prirodzeného jazyka, modeloch spotrebiteľského dopytu alebo vzoroch podvodov boli ovplyvnené zmenami v správaní sa počas pandémie, ktoré narážajú na modely AI.

Poskytovatelia technológií uvoľňujú nové funkcie MLops, pretože čoraz viac organizácií získava hodnotu a dokončuje svoje programy v oblasti dátovej vedy. Napríklad SAS predstavil index príspevkov funkcií, ktorý pomáha dátovým vedcom hodnotiť modely bez cieľovej premennej. Cloudera nedávno oznámila službu monitorovania ML, ktorá zachytáva metriky technického výkonu a predpovede modelu sledovania.

MLops sa venuje aj automatizácii a spolupráci

Medzi vývojom modelu strojového učenia a jeho monitorovaním vo výrobe sú ďalšie nástroje, procesy, spolupráca a schopnosti, ktoré umožňujú škálovanie postupov v oblasti dátových vied. Niektoré z postupov automatizácie a infraštruktúry sú analogické s devops a zahŕňajú infraštruktúru ako kód a CI / CD (nepretržitá integrácia / nepretržité nasadenie) pre modely strojového učenia. Medzi ďalšie patria možnosti vývojárov, ako napríklad vytváranie verzií modelov s ich základnými údajmi o tréningu a prehľadávanie úložiska modelov.

Zaujímavejšie aspekty MLops prinášajú vedeckú metodológiu a spoluprácu tímom zaoberajúcim sa dátovými vedami. Napríklad DataRobot umožňuje model šampióna-vyzývateľa, ktorý dokáže spustiť viac experimentálnych modelov súčasne a spochybniť tak presnosť produkčnej verzie. SAS chce pomôcť vedcom v oblasti údajov zvýšiť rýchlosť trhu a kvalitu údajov. Spoločnosť Alteryx nedávno predstavila centrum Analytics, ktoré pomáha pri spolupráci a zdieľaní medzi tímami pre vedecké práce s údajmi.

To všetko ukazuje, že správa a zmena mierky strojového učenia si vyžaduje oveľa viac disciplíny a praxe, ako len jednoduché požiadanie dátového vedca o kódovanie a testovanie náhodného lesa, k-means alebo konvolučnej neurónovej siete v Pythone.

$config[zx-auto] not found$config[zx-overlay] not found