Programování

MLops: Vzestup operací strojového učení

Jak těžké je pro datové vědce označit data a vyvinout přesné modely strojového učení, může být správa modelů ve výrobě ještě více skličující. Rozpoznání driftu modelu, rekvalifikace modelů s aktualizací datových sad, zlepšením výkonu a údržbou základních technologických platforem jsou všechny důležité postupy v oblasti datové vědy. Bez těchto disciplín mohou modely přinést chybné výsledky, které významně ovlivní podnikání.

Vývoj modelů připravených na výrobu není snadný výkon. Podle jedné studie strojového učení 55 procent společností nenasadilo modely do výroby a 40 procent a více vyžaduje k nasazení jednoho modelu více než 30 dní. Úspěch přináší nové výzvy a 41 procent respondentů uznává obtížnost verzování modelů strojového učení a reprodukovatelnosti.

Z toho plyne ponaučení, že po nasazení modelů strojového učení do výroby a použití v obchodních procesech se objeví nové překážky.

Správa a provoz modelů byly kdysi výzvou pro pokročilejší týmy pro datovou vědu. Mezi úkoly nyní patří monitorování modelů strojového učení produkčního driftu, automatizace rekvalifikace modelů, upozornění, když je drift významný, a rozpoznání, kdy modely vyžadují upgrade. Jak více organizací investuje do strojového učení, je větší potřeba budovat povědomí o správě a provozu modelů.

Dobrou zprávou jsou platformy a knihovny, jako jsou open source MLFlow a DVC, a komerční nástroje od společností Alteryx, Databricks, Dataiku, SAS, DataRobot, ModelOp a dalších usnadňují týmům vědy o datech správu a provoz modelů. Poskytovatelé veřejného cloudu také sdílejí postupy, jako je implementace MLops pomocí Azure Machine Learning.

Existuje několik podobností mezi správou modelů a devops. Mnozí označují správu a operace modelů jako MLops a definují ji jako kulturu, postupy a technologie potřebné k vývoji a údržbě modelů strojového učení.

Porozumění správě a provozu modelu

Chcete-li lépe porozumět správě a provozu modelu, zvažte spojení postupů vývoje softwaru s vědeckými metodami.

Jako vývojář softwaru víte, že dokončení verze aplikace a její nasazení do produkce není triviální. Ještě větší výzva však začíná, jakmile aplikace dosáhne produkce. Koncoví uživatelé očekávají pravidelná vylepšení a základní infrastruktura, platformy a knihovny vyžadují opravy a údržbu.

Nyní se přesuňme do vědeckého světa, kde otázky vedou k mnoha hypotézám a opakovaným experimentům. Naučili jste se na hodině vědy udržovat protokol těchto experimentů a sledovat cestu ladění různých proměnných od jednoho experimentu k druhému. Experimentování vede ke zlepšeným výsledkům a dokumentování cesty pomáhá přesvědčit kolegy, že jste prozkoumali všechny proměnné a že výsledky jsou reprodukovatelné.

Datoví vědci experimentující s modely strojového učení musí zahrnovat disciplíny jak z vývoje softwaru, tak z vědeckého výzkumu. Modely strojového učení jsou softwarový kód vyvinutý v jazycích, jako je Python a R, vytvořený pomocí knihoven TensorFlow, PyTorch nebo jiných knihoven strojového učení, běží na platformách, jako je Apache Spark, a nasazen na cloudovou infrastrukturu. Vývoj a podpora modelů strojového učení vyžadují značné experimentování a optimalizaci a vědci v oblasti dat musí prokázat přesnost svých modelů.

Stejně jako vývoj softwaru vyžadují modely strojového učení průběžnou údržbu a vylepšení. Něco z toho pochází z údržby kódu, knihoven, platforem a infrastruktury, ale vědci v oblasti dat se musí také zajímat o drift modelu. Jednoduše řečeno, k posunu modelu dochází, jakmile jsou k dispozici nová data, a předpovědi, shluky, segmentace a doporučení poskytované modely strojového učení se liší od očekávaných výsledků.

Úspěšná správa modelů začíná vývojem optimálních modelů

Mluvil jsem s Alanem Jacobsonem, hlavním datovým a analytickým ředitelem společnosti Alteryx, o tom, jak organizace uspějí a rozšiřují vývoj modelu strojového učení. "Pro zjednodušení vývoje modelů je první výzvou pro většinu vědců v oblasti dat zajištění silné formulace problémů." Mnoho složitých obchodních problémů lze vyřešit pomocí velmi jednoduché analýzy, ale to nejprve vyžaduje strukturovat problém tak, aby data a analýza mohly pomoci odpovědět na otázku. I když se využijí komplexní modely, nejobtížnější částí procesu je obvykle strukturování dat a zajištění toho, že se používají správné vstupy, na správné úrovni kvality. “

Souhlasím s Jacobsonem. Příliš mnoho implementací dat a technologií začíná špatnými nebo žádnými prohlášeními o problémech a nedostatečným časem, nástroji a odbornými znalostmi k zajištění odpovídající kvality dat. Organizace musí nejprve začít klást chytré otázky týkající se velkých dat, investovat do datových smyček a poté pomocí agilních metodik v datové vědě iterovat směrem k řešení.

Monitorování modelů strojového učení pro drift modelu

Získání přesné definice problému je zásadní pro průběžnou správu a monitorování modelů ve výrobě. Jacobson dále vysvětlil: „Monitorovací modely jsou důležitým procesem, ale správné provedení vyžaduje silné pochopení cílů a potenciálních nepříznivých účinků, které vyžadují sledování. Zatímco většina diskutuje o sledování modelu a jeho změnách v průběhu času, důležitější a náročnější v tomto prostoru je analýza nezamýšlených důsledků. “

Jedním ze snadných způsobů, jak porozumět posunu modelu a nezamýšleným důsledkům, je zvážit dopad COVID-19 na modely strojového učení vyvinuté s tréninkovými daty z doby před pandemií. Modely strojového učení založené na lidském chování, zpracování přirozeného jazyka, modely poptávky spotřebitelů nebo vzorcích podvodů byly ovlivněny změnami chování během pandemie, které se potýkají s modely AI.

Poskytovatelé technologií uvolňují nové funkce MLops, protože více organizací získává hodnotu a dokončuje své programy pro vědu o datech. Například SAS představil index příspěvků na funkce, který pomáhá datovým vědcům vyhodnotit modely bez cílové proměnné. Cloudera nedávno oznámila službu monitorování ML, která zachycuje metriky technického výkonu a předpovědi modelu sledování.

MLops také řeší automatizaci a spolupráci

Mezi vývojem modelu strojového učení a jeho monitorováním ve výrobě jsou další nástroje, procesy, spolupráce a funkce, které umožňují škálování praktik datové vědy. Některé z postupů automatizace a infrastruktury jsou analogické s devops a zahrnují infrastrukturu jako kód a CI / CD (nepřetržitá integrace / nepřetržité nasazení) pro modely strojového učení. Mezi další patří funkce pro vývojáře, například vytváření verzí modelů s jejich základními tréninkovými daty a prohledávání úložiště modelů.

Zajímavější aspekty MLops přinášejí vědeckou metodologii a spolupráci týmům pro datové vědy. Například DataRobot umožňuje model šampionů a vyzyvatelů, který může paralelně spouštět více experimentálních modelů, aby zpochybnil přesnost produkční verze. SAS chce pomoci vědcům v oblasti dat zlepšit rychlost trhů a kvalitu dat. Alteryx nedávno představil Analytics Hub, aby pomohl spolupráci a sdílení mezi týmy pro datovou vědu.

To vše ukazuje, že správa a změna měřítka strojového učení vyžaduje mnohem více disciplíny a praxe, než jednoduše požádat vědce o data, aby kódoval a testoval náhodný les, k-means nebo konvoluční neurální síť v Pythonu.