Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk két gyakori mintát ismertet az ML-artefaktumok staging környezetből éles környezetbe való á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ő.
A két minta abban különbözik, hogy a modell artefaktum
Kód üzembe helyezése (ajánlott)
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ására szolgáló kódot a fejlesztési környezetben fejlesztik ki. Ugyanez a kód átkerül a tesztkörnyezetbe, 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, hogy a modellt az éles környezetben található éles adatokkal képezzék.
- Az automatizált modell újratanítása biztonságosabb, mivel a betanítási kódot áttekintik, tesztelik és jóváhagyják a gyártási környezethez.
- 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.
Ezen minta esetében is az adattudósoknak képesnek kell lenniük az éles környezetben készült 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 a teljes éles adatkészleten való előkészítés során tanítsa be, hibrid megközelítést alkalmazhat a kód előkészítési környezetbe történő telepítésével, a modell betanításával, majd a modell éles környezetbe történő telepítésével. Ez a módszer az éles környezetben megtakarítja a betanítási költségeket, de a tesztkörnyezetben 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. Az artefaktumot ezután az előkészítési környezetben teszteljük, mielőtt az éles környezetben üzembe helyeznénk.
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.
- Ön 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 szükséges betanítani a modellt.
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 termelés) általában a Unity Katalógusnak 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.