Megosztás a következőn keresztül:


Modell üzembehelyezési mintái

Ez a cikk két gyakori mintát ismertet az ML-összetevők átmeneti és éles környezetbe történő áthelyezéséhez. A modellek és a kód változásainak aszinkron jellege azt jelenti, hogy az ML-fejlesztési folyamat több lehetséges mintát is követhet.

A modelleket kód hozza létre, de az eredményül kapott modellösszetevők és a létrehozott kód aszinkron módon működhetnek. Vagyis előfordulhat, hogy az új modellverziók és kódmódosítások nem egyszerre történnek. Vegyük például a következő forgatókönyveket:

  • A hamis tranzakciók észleléséhez olyan ML-folyamatot fejleszthet ki, amely hetente újratanul egy modellt. Előfordulhat, hogy a kód nem változik túl gyakran, de előfordulhat, hogy a modellt hetente újratanulják, hogy új adatokat foglaljanak bele.
  • Létrehozhat egy nagy, mély neurális hálózatot a dokumentumok besorolásához. Ebben az esetben a modell betanítása számításilag költséges és időigényes, és a modell újratanítása valószínűleg ritkán történik meg. A modell üzembe helyezését, kiszolgálását és figyelését szolgáló kód azonban a modell újratanítása nélkül frissíthető.

üzembe helyezési minták

A két minta abban különbözik, hogy a modellösszetevő vagy a modellösszetevőt előállító betanítási kód elő van-e léptetve az éles környezetbe.

A legtöbb esetben a Databricks a "kód üzembe helyezése" megközelítést javasolja. Ez a megközelítés be van építve az ajánlott MLOps-munkafolyamatba.

Ebben a mintában a modellek betanítása kódot a fejlesztési környezetben fejlesztik ki. Ugyanez a kód átkerül az előkészítésre, majd az éles környezetbe. A modell minden környezetben be van tanítva: kezdetben a fejlesztési környezetben a modellfejlesztés részeként, az előkészítésben (az adatok korlátozott részhalmazán) az integrációs tesztek részeként, valamint az éles környezetben (a teljes éles adatokon) a végső modell létrehozásához.

Előnyök:

  • Azokban a szervezetekben, ahol az éles adatokhoz való hozzáférés korlátozott, ez a minta lehetővé teszi a modell betanítása az éles környezetben lévő éles adatokon.
  • Az automatizált modell újratanítása biztonságosabb, mivel a betanítási kódot áttekintik, tesztelik és jóváhagyják az éles környezetben.
  • A támogató kód ugyanazt a mintát követi, mint a modell betanítási kódja. Mindkettő integrációs teszteken megy keresztül az előkészítés során.

Hátrányok:

  • Az adattudósok tanulási görbéje, amely kódot ad át a közreműködőknek, meredek lehet. Az előre definiált projektsablonok és munkafolyamatok hasznosak.

Ebben a mintában az adattudósoknak is képesnek kell lenniük az éles környezetből származó betanítási eredmények áttekintésére, mivel rendelkeznek az ML-specifikus problémák azonosítására és megoldására vonatkozó ismeretekkel.

Ha a helyzet megköveteli, hogy a modellt betanítsa a teljes éles adatkészleten való előkészítésbe, hibrid megközelítést használhat a kód üzembe helyezésével az előkészítéshez, a modell betanításához, majd a modell éles környezetben való üzembe helyezéséhez. Ez a módszer az éles környezetben megtakarítja a betanítási költségeket, de az előkészítés során további üzemeltetési költséget ad hozzá.

Modellek üzembe helyezése

Ebben a mintában a modellösszetevőt a fejlesztési környezetben lévő betanítási kód hozza létre. A rendszer ezután teszteli az összetevőt az előkészítési környezetben, mielőtt üzembe helyeznénk az éles környezetben.

Ezt a lehetőséget akkor érdemes megfontolni, ha az alábbiak közül egy vagy több érvényes:

  • A modell betanítása nagyon költséges vagy nehezen reprodukálható.
  • Minden munka egyetlen Azure Databricks-munkaterületen történik.
  • Nem külső adattárakkal vagy CI/CD-folyamattal dolgozik.

Előnyök:

  • Egyszerűbb átadás az adattudósok számára
  • Olyan esetekben, amikor a modell betanítása költséges, csak egyszer kell betanítást igényelni.

Hátrányok:

  • Ha az éles adatok nem érhetők el a fejlesztési környezetből (ami biztonsági okokból igaz lehet), akkor előfordulhat, hogy ez az architektúra nem lesz működőképes.
  • Ebben a mintában az automatizált modell újratanítása trükkös. Automatizálhatja az újratanítást a fejlesztési környezetben, de előfordulhat, hogy a modell éles környezetben való üzembe helyezéséért felelős csapat nem fogadja el az eredményül kapott modellt üzemkészként.
  • A támogató kódot, például a szolgáltatásfejlesztéshez, következtetéshez és monitorozáshoz használt folyamatokat külön kell üzembe helyezni az éles környezetben.

A környezetek (fejlesztés, előkészítés vagy éles környezet) általában a Unity Katalógus katalógusának felelnek meg. A minta implementálásával kapcsolatos részletekért tekintse meg a frissítési útmutatót.

Az alábbi ábra a fenti üzembehelyezési minták kódéletciklusát hasonlítja össze a különböző végrehajtási környezetekben.

A diagramon látható környezet az a végső környezet, amelyben egy lépés fut. Az üzembe helyezési modellek mintájában például a végső egység és az integrációs tesztelés a fejlesztési környezetben történik. Az üzembe helyezési kódmintában az egységtesztek és az integrációs tesztek a fejlesztési környezetekben futnak, a végső egység és integrációs tesztelés pedig az előkészítési környezetben történik.

a minták életciklusának üzembe helyezése