MLOps: DevOps a gépi tanulás világában

2018-ban megjelent szakmai körökben és az AI-nak szentelt tematikus konferenciákon az MLOps koncepciója, amely gyorsan meghonosodott az iparágban, és mára önálló irányvonalként fejlődik. A jövőben az MLOps az IT egyik legnépszerűbb területévé válhat. Mi ez és mivel eszik? Nézzük alább.

MLOps: DevOps a gépi tanulás világában

Mi az MLOps

Az MLOps (a gépi tanulási technológiák és folyamatok, valamint a kifejlesztett modellek üzleti folyamatokba való bevezetésének megközelítései) egy új együttműködési mód az üzleti élet képviselői, tudósok, matematikusok, gépi tanulási szakemberek és informatikai mérnökök között a mesterséges intelligencia rendszerek létrehozása során.

Más szóval, ez egy módja annak, hogy a gépi tanulási módszereket és technológiákat hasznos eszközzé alakítsák az üzleti problémák megoldásában. 

Meg kell érteni, hogy a termelékenységi lánc jóval a modell kidolgozása előtt kezdődik. Ennek első lépése egy üzleti probléma meghatározása, egy hipotézis az adatokból kinyerhető értékről, és egy üzleti ötlet ennek alkalmazására. 

Maga az MLOps koncepciója a DevOps fogalmának analógiájaként merült fel a gépi tanulási modellekkel és technológiákkal kapcsolatban. A DevOps a szoftverfejlesztés olyan megközelítése, amely lehetővé teszi az egyedi változtatások végrehajtásának sebességének növelését, miközben a rugalmasság és a megbízhatóság megőrzése mellett számos megközelítést alkalmaz, beleértve a folyamatos fejlesztést, a funkciók független mikroszolgáltatásokra való felosztását, az automatizált tesztelést és az egyedi alkalmazások telepítését. változások, globális állapotfigyelés, gyorsreagálású rendszer az észlelt hibákra stb. 

A DevOps meghatározta a szoftver életciklusát, és a közösség azzal az ötlettel állt elő, hogy ugyanazt a módszertant alkalmazzák a nagy adatokra. A DataOps kísérlet a módszertan adaptálására és bővítésére, figyelembe véve a nagy mennyiségű adat tárolásának, továbbításának és feldolgozásának jellemzőit változatos és interoperábilis platformokon.
  
A vállalatok üzleti folyamataiban megvalósított gépi tanulási modellek bizonyos kritikus tömegének megjelenésével erős hasonlóság figyelhető meg a matematikai gépi tanulási modellek életciklusa és a szoftver életciklusa között. Az egyetlen különbség az, hogy a modellalgoritmusokat gépi tanulási eszközök és módszerek segítségével hozzák létre. Ezért természetesen felmerült az ötlet, hogy a gépi tanulási modellekhez alkalmazzuk és adaptáljuk a szoftverfejlesztés már ismert megközelítéseit. Így a gépi tanulási modellek életciklusában a következő kulcsszakaszokat lehet megkülönböztetni:

  • üzleti ötlet meghatározása;
  • modell képzés;
  • a modell tesztelése és bevezetése az üzleti folyamatba;
  • a modell működése.

Ha működés közben szükség van a modell módosítására vagy átképzésére új adatokon, a ciklus újraindul - a modell finomítása, tesztelése és új verzió bevezetése megtörténik.

Visszavonulás. Miért kell átképezni és miért nem? A „modell-átképzés” kifejezés kettős jelentéssel bír: a szakértők körében modellhibát jelent, amikor a modell jól prognosztizál, ténylegesen megismétli az előre jelzett paramétert a betanító halmazon, de a külső adatmintán sokkal rosszabbul teljesít. Természetesen egy ilyen modell hibás, mivel ez a hiba nem teszi lehetővé a használatát.

Ebben az életciklusban logikusnak tűnik a DevOps eszközök használata: automatizált tesztelés, telepítés és monitorozás, modellszámítások tervezése külön mikroszolgáltatások formájában. De számos olyan funkció is létezik, amely megakadályozza ezen eszközök közvetlen használatát további ML-kötés nélkül.

MLOps: DevOps a gépi tanulás világában

Hogyan tegyük a modelleket működőképessé és nyereségessé

Példaként, amelyben bemutatjuk az MLOps megközelítés használatát, a klasszikus feladatot vesszük, a chat támogatás robotizálását egy banki (vagy bármely más) termékhez. A csevegést támogató üzleti folyamat általában így néz ki: az ügyfél beír egy üzenetet egy kérdéssel a chatben, és választ kap egy szakembertől egy előre meghatározott párbeszédfán belül. Az ilyen csevegés automatizálásának feladatát általában szakszerűen meghatározott szabálykészletekkel oldják meg, amelyek fejlesztése és karbantartása nagyon munkaigényes. Az ilyen automatizálás hatékonysága a feladat összetettségétől függően 20-30% is lehet. Természetesen felmerül az ötlet, hogy jövedelmezőbb egy mesterséges intelligencia modul – egy gépi tanulással kifejlesztett modell – megvalósítása, amely:

  • nagyobb számú kérést képes kezelni üzemeltetői közreműködés nélkül (témától függően esetenként a 70-80%-ot is elérheti a hatékonyság);
  • jobban alkalmazkodik a nem szabványos megfogalmazáshoz a párbeszédben - képes meghatározni a szándékot, a felhasználó valódi vágyát egy nem egyértelműen megfogalmazott kérés alapján;
  • tudja, hogyan határozza meg, hogy a modell válasza mikor megfelelő, és ha kétségek merülnek fel a válasz „tudatosságáról”, és további tisztázó kérdést kell feltennie, vagy át kell váltania a kezelőhöz;
  • emellett automatikusan betanítható (ahelyett, hogy egy fejlesztőcsoport folyamatosan adaptálja és javítaná a válaszszkripteket, a modellt a megfelelő gépi tanulási könyvtárak használatával egy Data Science specialista is betanítja). 

MLOps: DevOps a gépi tanulás világában

Hogyan lehet egy ilyen fejlett modellt működésre bírni? 

Mint minden más probléma megoldásánál, egy ilyen modul fejlesztése előtt meg kell határozni egy üzleti folyamatot, és formálisan le kell írni azt a konkrét feladatot, amelyet gépi tanulási módszerrel fogunk megoldani. Ezen a ponton kezdődik az operacionalizálási folyamat, amelyet az Ops mozaikszó jelöl. 

A következő lépésben a Data Scientist az adatmérnökkel együttműködve ellenőrzi az adatok elérhetőségét és elégségességét, valamint az üzleti ötlet életképességére vonatkozó üzleti hipotézist, prototípus modellt fejleszt ki és teszteli annak tényleges hatékonyságát. Csak a vállalkozás megerősítése után kezdődhet meg az átmenet a modell kidolgozásáról egy adott üzleti folyamatot végrehajtó rendszerekbe való integrálására. Az MLOps-megközelítések vállalati technológiai környezetbe való bevezetésének folyamatában a végponttól végpontig történő megvalósítás tervezése, a modell használatának minden szakaszában történő mélyreható megértése, hogy milyen gazdasági hatást hoz majd.

Az AI-technológiák fejlődésével exponenciálisan növekszik a gépi tanulással megoldható problémák száma és változatossága. Minden ilyen üzleti folyamat megtakarítást jelent a vállalat számára a tömeges alkalmazottak munkavégzésének automatizálása miatt (call center, dokumentumok ellenőrzése, rendezése stb.), az ügyfélkör bővítése új vonzó és kényelmes funkciók hozzáadásával, pénzt takarít meg az erőforrások optimális felhasználása és újraelosztása és még sok más miatt. Végső soron minden folyamat az értékteremtésre irányul, és ennek eredményeképpen bizonyos gazdasági hatást kell kiváltania. Itt nagyon fontos az üzleti ötlet világos megfogalmazása és a modell bevezetéséből várható nyereség kiszámítása a vállalat általános értékteremtési struktúrájában. Vannak helyzetek, amikor egy modell megvalósítása nem indokolja önmagát, és a gépi tanulással foglalkozó szakemberek által eltöltött idő jóval drágább, mint az ezt ellátó kezelő munkahelye. Éppen ezért az AI-rendszerek létrehozásának korai szakaszában meg kell próbálni azonosítani az ilyen eseteket.

Következésképpen a modellek csak akkor kezdenek nyereséget termelni, ha az MLOps folyamatban helyesen megfogalmazták az üzleti problémát, felállították a prioritásokat, és már a fejlesztés korai szakaszában megfogalmazták a modell rendszerbe való bevezetésének folyamatát.

Új folyamat – új kihívások

Átfogó válasz arra az alapvető üzleti kérdésre, hogy az ML-modellek mennyire alkalmazhatók a problémák megoldására, az AI-ba vetett bizalom általános kérdése az egyik kulcsfontosságú kihívás az MLOps-megközelítések fejlesztése és megvalósítása során. A vállalkozások kezdetben szkeptikusak a gépi tanulás folyamatokba való bevezetésével kapcsolatban – nehéz olyan modellekre hagyatkozni, ahol korábban általában dolgoztak. A vállalkozások számára a programok „fekete doboznak” tűnnek, amelynek relevanciáját még bizonyítani kell. Ezenkívül a banki szolgáltatásokban, a távközlési szolgáltatók és mások üzletében szigorú követelmények vonatkoznak a kormányzati szabályozókra. Minden rendszer és algoritmus, amelyet a banki folyamatokban implementálunk, auditálás tárgyát képezi. Ennek a problémának a megoldására, hogy a vállalkozások és a szabályozó hatóságok felé bizonyítsák a mesterséges intelligencia válaszainak érvényességét és helyességét, a modell mellett monitoring eszközöket vezetnek be. Emellett létezik egy független, a szabályozási modellekhez kötelező validációs eljárás, amely megfelel a jegybank követelményeinek. A modell által elért eredményeket független szakértői csoport auditálja a bemeneti adatok figyelembevételével.

A második kihívás a modellkockázatok felmérése és figyelembevétele a gépi tanulási modell megvalósítása során. Még ha az ember nem is tud száz százalékos biztonsággal válaszolni arra a kérdésre, hogy ugyanaz a ruha fehér vagy kék volt-e, akkor is a mesterséges intelligenciának van joga hibázni. Érdemes azt is figyelembe venni, hogy az adatok idővel változhatnak, és a modelleket át kell képezni a kellően pontos eredmény érdekében. Annak érdekében, hogy az üzleti folyamat ne szenvedjen kárt, szükséges a modellkockázatok kezelése és a modell teljesítményének monitorozása, rendszeres átképzése az új adatokra.

MLOps: DevOps a gépi tanulás világában

De a bizalmatlanság első szakasza után az ellenkező hatás kezd megjelenni. Minél több modellt sikeresen implementálnak a folyamatokba, annál inkább nő az üzleti étvágya a mesterséges intelligencia használatára – újabb és újabb problémák merülnek fel, amelyek gépi tanulási módszerekkel megoldhatók. Minden feladat egy teljes folyamatot indít el, amely bizonyos kompetenciákat igényel:

  • adatmérnökök előkészítik és feldolgozzák az adatokat;
  • az adattudósok gépi tanulási eszközöket használnak, és modellt fejlesztenek ki;
  • Az IT implementálja a modellt a rendszerbe;
  • Az ML mérnök határozza meg, hogyan kell helyesen integrálni ezt a modellt a folyamatba, milyen informatikai eszközöket kell használni, a modell alkalmazási módjára vonatkozó követelményektől függően, figyelembe véve a kérések áramlását, a válaszidőt stb. 
  • Egy ML építész megtervezi, hogyan lehet egy szoftverterméket fizikailag megvalósítani egy ipari rendszerben.

A teljes ciklushoz nagyszámú, magasan képzett szakemberre van szükség. Az ML modellek fejlődésének és üzleti folyamatokba való behatolásának egy bizonyos pontján kiderül, hogy a szakemberek számának lineáris, a feladatok számának növekedésével arányos skálázása költségessé és eredménytelenné válik. Felmerül tehát az MLOps folyamat automatizálásának kérdése - a gépi tanulási problémák több szabványos osztályának meghatározása, szabványos adatfeldolgozási folyamatok fejlesztése és a modellek további képzése. Ideális képen az ilyen problémák megoldásához olyan szakemberekre van szükség, akik egyformán jártasak a Big Data, Data Science, DevOps és IT metszéspontjában található kompetenciákban. Ezért a Data Science iparág legnagyobb problémája és az MLOps folyamatok megszervezésének legnagyobb kihívása az ilyen kompetenciák hiánya a meglévő képzési piacon. Az ezeknek a követelményeknek megfelelő szakemberek jelenleg ritkák a munkaerőpiacon, aranyat érnek.

A kompetenciák kérdésében

Elméletileg minden MLOps feladat megoldható a klasszikus DevOps eszközökkel, anélkül, hogy a példakép speciális kiterjesztését kellene igénybe venni. Ekkor, ahogy fentebb megjegyeztük, az adattudósnak nemcsak matematikusnak és adatelemzőnek kell lennie, hanem a teljes folyamat gurujának is kell lennie - ő felel az architektúra fejlesztéséért, az architektúrától függően több nyelvű modellek programozásáért, előkészítéséért. egy adatpiacot és magát az alkalmazást telepítheti. A teljes körű MLOps folyamatban megvalósított technológiai keret létrehozása azonban a munkaerőköltségek akár 80%-át is igénybe veszi, ami azt jelenti, hogy egy képzett matematikus, aki minőségi adattudós, csak idejének 20%-át fordítja szakterületére. . Ezért létfontosságúvá válik a gépi tanulási modellek megvalósításában részt vevő szakemberek szerepének körülhatárolása. 

Az, hogy a szerepeket milyen részletesen kell körülhatárolni, a vállalkozás méretétől függ. Az egy dolog, ha egy startupnak egyetlen szakembere van, egy kemény munkás az energiatartalékban, aki a saját mérnöke, építésze és DevOps-ja. Teljesen más a helyzet, amikor egy nagyvállalatnál minden modellfejlesztési folyamat néhány magas szintű adattudományi szakemberre összpontosul, míg egy programozó vagy adatbázis-specialista - a munkaerőpiacon elterjedtebb és olcsóbb kompetencia - elvállalhatja. a munka nagy részében.rutinfeladatokat.

Így a kifejlesztett modellek gyorsasága és minősége, a csapat produktivitása és a benne kialakuló mikroklíma közvetlenül függ attól, hogy hol húzódik a határ az MLOps folyamatot támogató szakemberek kiválasztásában, illetve a kidolgozott modellek operacionalizálási folyamatának megszervezésében. .

Amit csapatunk már megtett

Nemrég elkezdtük a kompetenciastruktúra és az MLOps folyamatok felépítését. A modell életciklus-kezelésével és a modellek szolgáltatásként való használatával kapcsolatos projektjeink azonban már az MVP tesztelési szakaszában vannak.

Meghatároztuk továbbá a nagyvállalatok optimális kompetenciastruktúráját és a folyamat valamennyi résztvevője közötti interakció szervezeti felépítését. Agilis csapatokat szerveztek az üzleti ügyfelek teljes körének problémáinak megoldására, és létrehozták a projektcsapatokkal való interakciós folyamatot a platformok és az infrastruktúra létrehozására, amely az épülő MLOps épület alapja.

Kérdések a jövőre nézve

Az MLOps egyre növekvő terület, amely kompetenciahiányt tapasztal, és a jövőben lendületet fog kapni. Addig is a legjobb a DevOps fejlesztésekre és gyakorlatokra építeni. Az MLOps fő célja az ML modellek hatékonyabb felhasználása az üzleti problémák megoldására. De ez sok kérdést felvet:

  • Hogyan csökkenthető a modellek gyártásba helyezési ideje?
  • Hogyan lehet csökkenteni a bürokratikus súrlódást a különböző kompetenciákkal rendelkező csapatok között, és növelni az együttműködésre való összpontosítást?
  • Hogyan lehet nyomon követni a modelleket, kezelni a verziókat és megszervezni a hatékony felügyeletet?
  • Hogyan lehet valóban körkörös életciklust létrehozni egy modern ML modell számára?
  • Hogyan lehet szabványosítani a gépi tanulási folyamatot?

Az ezekre a kérdésekre adott válaszok nagymértékben meghatározzák, hogy az MLOps milyen gyorsan éri el teljes potenciálját.

Forrás: will.com

Hozzászólás