Gépi tanulási modellek üzembe helyezése éles környezetben

Ez a cikk az Azure Machine Tanulás használatával történő gépi tanulási modellek éles környezetben való üzembe helyezésének ajánlott eljárásait ismerteti. A gépi tanulási modellek éles környezetben való üzembe helyezése fontos az AI-t használó szervezetek számára a műveletek javítása érdekében. Ez lehet egy összetett folyamat, de ez a cikk segít megérteni a lépéseket.

Architekturális szempontok

  • Válassza ki a megfelelő üzembehelyezési módszert. Minden üzembe helyezési módszernek vannak előnyei és hátrányai. Fontos, hogy a szervezet igényeinek leginkább megfelelőt válassza. Két fő üzembehelyezési módszer létezik:

    • A valós idejű (online) következtetés a beérkező bemeneti adatokat dolgozza fel, gyakran alacsony késleltetési követelményekkel. Az alacsony késés olyan alkalmazások esetében fontos, amelyek azonnali választ igényelnek, például csalásészlelés, beszédfelismerés vagy javaslati rendszerek. A valós idejű következtetés összetettebb és költségesebb, mint a kötegelt következtetés, mivel gyorsabb és megbízhatóbb infrastruktúrát igényel. A valós idejű következtetés alapjául szolgáló számítás általában folyamatosan fut a kérelmek gyorsabb kiszolgálása érdekében.

    • A Batch (offline) következtetése egyszerre nagy mennyiségű bemeneti adatot dolgoz fel ahelyett, hogy az egyes bemeneti adatpontokat egyenként, valós időben dolgozza fel. A kötegelt következtetés kiválóan alkalmas olyan nagy adatmennyiség-forgatókönyvekhez, amelyek hatékony feldolgozást igényelnek, de a válaszidő nem kritikus. Előfordulhat például, hogy kötegelt következtetéssel dolgozza fel a képek nagy adathalmazát, és a gépi tanulási modell egyszerre előrejelzéseket készít az összes képről. A kötegelt következtetés olcsóbb és hatékonyabb, mint a valós idejű következtetés. A kötegelt következtetés alapjául szolgáló számítás általában csak a kötegelt feladat során fut.

    A gépi Tanulás végpontokat használ a modellek valós idejű és kötegelt üzembe helyezéséhez. A végpontok egységes felületet biztosítanak a modelltelepítések számítási típusok közötti meghívásához és kezeléséhez. A felügyelt online végpontok a gépi tanulási modelleket szolgálják ki, méretezik, védik és figyelik a következtetés érdekében.

    További információkért tekintse meg a cikk következő, üzembe helyezési módszereit ismertető szakaszát.

  • Ellenőrizze a konzisztenciát. Fontos, hogy a modellt következetesen helyezze üzembe a környezetekben, például a fejlesztésben, az előkészítésben és az éles környezetben. A konzisztencia biztosításához és a környezet beágyazásához használjon tároló- vagy virtualizálási technológiákat, például a gépi Tanulás környezeteket.

  • Monitorozza a teljesítményt. A modell éles környezetben való üzembe helyezése után nyomon kell követnie a metrikákat, például a pontosságot, a késést és az átviteli sebességet, és riasztásokat kell beállítania, hogy értesítést küldhessenek, ha a teljesítmény elfogadható szint alá esik. Az Alkalmazás Elemzések és a felügyelt végpontok beépített monitorozási képességeivel megtekintheti a metrikákat és riasztásokat hozhat létre.

  • Biztonsági intézkedések végrehajtása. Az adatok és a rendszerek védelme. Beállíthat hitelesítési és hozzáférési vezérlőket, titkosíthatja az adatokat az átvitel közben és inaktív állapotban, használhatja a hálózati biztonságot, és figyelheti a gyanús tevékenységeket.

  • Hozzon létre egy tervet a frissítésekhez. A gépi tanulási modelleknek frissítésekre van szükségük, amint új adatok és új algoritmusok válnak elérhetővé. Fontos létrehozni egy folyamatot a frissített modell teszteléséhez és ellenőrzéséhez, mielőtt éles környezetben üzembe helyeznénk. A kék/zöld üzembe helyezés egy gyakori stratégia, amely frissíti a gépi tanulási modelleket az éles környezetben. A kék/zöld üzembe helyezéssel frissíthet egy modellt egy új környezetbe, tesztelheti, majd az ellenőrzés után átválthat az új modellre. A kék/zöld üzembe helyezés biztosítja, hogy a frissített modell esetleges problémái ne befolyásolják az ügyfeleket. További információ: Natív kék/zöld üzembe helyezés.

Üzembe helyezési módszerek

A modell kiértékeléséhez, a két üzembe helyezési módszer összehasonlításához és a modellnek megfelelő metódus kiválasztásához vegye figyelembe a következő kérdéseket:

  • Milyen gyakran kell előrejelzéseket létrehozni?
  • Milyen hamar lesz szüksége az eredményekre?
  • Az előrejelzések tárolása vagy használata azonnal történik?
  • Az előrejelzéseket egyenként, kis kötegekben vagy nagy kötegekben kell létrehozni?
  • Várható késés a modelltől?
  • Mennyi számítási teljesítményt kell futtatnia a modellnek?
  • Vannak működési következmények és költségek a modell fenntartásához?
  • Hogyan aktiválódik az előrejelzés? Eseményalapú vagy ütemezett?

Tekintse meg a következő döntési fát annak megállapításához, hogy melyik üzemi modell felel meg a legjobban a használati esetnek:

A diagram of the real-time inference and batch inference decision tree.

Batch-következtetés

A batch-következtetés egy egyszerű folyamat, amely lehetővé teszi a modellek futását időzított időközönként vagy eseményindítók alapján. A kötegelt következtetéssel az üzleti alkalmazások előrejelzéseket tárolhatnak.

A kötegelt következtetéshez vegye figyelembe az alábbi ajánlott eljárásokat:

  • Kötegelt műveletek futtatása API-val. Kötegvégpontok használatával hozzon létre egy tartós HTTPS-végpontot, amely kötegelt pontozási feladatot indít el ütemezett vagy eseményalapú adatfolyamokhoz. Az API bármilyen olyan adatvezénylési platformmal integrálható, amely támogatja a REST API-meghívást. További információ: A Batch integrációs listajele ebben a szakaszban, és modellek üzembe helyezése a kötegelt végpontok pontozásához.

  • Számítási lehetőségek. A kötegelt következtetési folyamatok általában nem futnak folyamatosan, ezért előnyös az olyan újrafelhasználható fürtök automatikus indítása, leállítása és skálázása, amelyek számos számítási feladatot képesek kezelni. A különböző modellekhez gyakran különböző környezetek szükségesek. A megoldásnak üzembe kell helyeznie egy adott környezetet, és el kell távolítania, ha a következtetés befejeződött. Az Automation elérhetővé teszi a számítást a következő modellhez. A költségek csökkentése érdekében használjon alacsony prioritású virtuális gépeket a számítási csomópontokhoz.

    Fontos

    A számítási csomópontok mérete fontos. Ha a csomópontok túl kicsik, a köteg-következtetési feladat hosszabb időt vesz igénybe. Ha a csomópontok túl nagyok, a feladat drágább. A számítási csomópontok tesztelése és monitorozása a modell megfelelő méretének meghatározásához.

  • Fontolja meg a méretezhetőségi igényeket. A jobb teljesítmény érdekében a gépi Tanulás olyan funkciókat támogat, amelyek lehetővé teszik a skálázható feldolgozást. A számítási csomópontok száma és az egyidejűségi paraméterek maximális száma a batch endpoint machine Tanulás üzembe helyezése során van meghatározva. Felülbírálhatja az egyes feladatok paramétereit, így az ügyfelek futásidejű rugalmasságot és beépített párhuzamosságot biztosítanak. Ezek a funkciók táblázatos és fájlalapú következtetéssel működnek.

  • Batch-következtetési kihívások. A Batch-következtetés egyszerűbb módszer a modell éles környezetben való használatára és üzembe helyezésére, de saját kihívásokkal is jár.

    • A következtetés gyakoriságától függően a létrehozott előrejelzés a hozzáférés időpontjáig irreleváns lehet.

    • A kötegkövetkeztetési forgatókönyvben nem kritikus fontosságú a sok régióban történő üzembe helyezés és a megoldás tervezése, mivel a modell nincs regionálisan üzembe helyezve. Előfordulhat azonban, hogy az adattárat sok helyen magas rendelkezésre állási stratégiával kell üzembe helyezni. Az üzembe helyezésnek követnie kell az alkalmazás magas rendelkezésre állású kialakítását és stratégiáját.

    • A kötegelt következtetés során létrehozott adatok részben meghiúsulhatnak. Ha például egy ütemezett folyamat kötegkövetkeztetési feladatot aktivál, és a folyamat meghiúsul, a kötegkövetkeztetési feladat által létrehozott adatok hiányosak lehetnek. A részleges újraindítások gyakori problémát jelentenek a kötegelt következtetéssel kapcsolatban. Az egyik megoldás egy átmeneti terület használata az adatokhoz, és csak a kötegelt következtetési feladat sikeres befejezése után helyezze át az adatokat a végső célhelyre. Egy másik megoldás az egyes feldolgozott fájlok rekordjának vagy tranzakciójának karbantartása, és a duplikáció elkerülése érdekében hasonlítsa össze a rekordot a bemeneti fájllistával. Ez a metódus logikát tartalmaz a pontozási szkriptben. Ez a megoldás összetettebb, de testre szabhatja a hibalogikát, ha a kötegelt következtetési feladat meghiúsul.

  • Biztonsági követelmények. Hitelesítéssel és engedélyezéssel szabályozhatja a batch végponthoz való hozzáférést a fokozott biztonság érdekében.

    • A bejövőforgalom-védelemmel rendelkező kötegelt végpontok csak a virtuális hálózaton belüli gazdagépektől érkező pontozási kéréseket fogadják el. Nem fogadja el a nyilvános internetről érkező pontozási kérelmeket. A privát kapcsolattal kompatibilis munkaterületen létrehozott kötegvégpontok bejövő védelemmel vannak ellátva. További információ: Hálózatelkülönítés kötegvégpontokban.
    • Hitelesítéshez használja a Microsoft Entra-jogkivonatokat.
    • Használjon SSL-titkosítást a végponton, amely alapértelmezés szerint engedélyezve van a machine Tanulás végponthíváshoz.
    • A Batch-végpontok biztosítják, hogy csak a jogosult felhasználók hívhassák meg a kötegtelepítéseket, de a felhasználók más hitelesítő adatokkal is elolvashatják az alapul szolgáló adatokat. Az adattárakról és az azokhoz való hozzáféréshez szükséges hitelesítő adatokról az adatelérési táblában olvashat.
  • Batch-integráció. A gépi Tanulás kötegelt végpontok nyílt API-t használnak. A Batch-következtetés integrálható más Azure-szolgáltatásokkal, például az Azure Data Factoryvel, az Azure Databricksszel és az Azure Synapse Analyticsszel egy nagyobb adatfolyamat részeként. Használhatja például a következőt:

    • A Data Factory a kötegelt következtetési folyamat vezényléséhez.
    • Az Azure Databricks előkészíti az adatokat a kötegelt következtetéshez.
    • A számítógép Tanulás a kötegelt következtetési folyamat futtatásához.
    • Az Azure Synapse Analytics a későbbi előrejelzések tárolására.

    A Batch-végpontok támogatják a Microsoft Entra-azonosítót az engedélyezéshez. Az API-nak küldött kéréshez megfelelő hitelesítés szükséges. Az Azure-szolgáltatások, például a Data Factory, támogatják egy szolgáltatásnév vagy egy felügyelt identitás használatát a kötegelt végpontok hitelesítéséhez. További információ: Batch-végpontok futtatása a Data Factoryből.

    A kötegelt bemenet és a kimeneti feldolgozás legjobb módszerének kiválasztásához fontos tisztában lenni azzal, hogy az adatok hogyan haladnak végig az adatfolyamok szakaszain. Az Azure-beli adatszolgáltatások közvetlenül a kötegelt végpont pontozási szkripten keresztül érhetők el SDK-k használatával, de a gépi Tanulás regisztrált adattárak használata egyszerűbb, biztonságosabb és naplózásra alkalmasabb. Külső adatforrások esetében használjon adatfeldolgozási motort, például a Data Factoryt, az Azure Databrickset vagy az Azure Synapse Analyticset az adatok kötegelt következtetésre való előkészítéséhez és a következtetés utáni feldolgozás alkalmazásához.

  • MLflow. A modellfejlesztés során használja a nyílt forráskódú MLflow keretrendszert. A gépi Tanulás támogatja az MLflow használatával létrehozott és naplózható modellek kód nélküli üzembe helyezését. Amikor az MLflow-modellt egy kötegvégponton helyezi üzembe, nem kell pontozószkriptet vagy környezetet jelölnie.

Valós idejű következtetés

A valós idejű következtetés egy olyan módszer, amellyel bármikor aktiválhatja a modell következtetését, és azonnali választ ad. Ezzel a módszerrel elemezheti a streamelési adatokat vagy az interaktív alkalmazásadatokat.

A valós idejű következtetéshez vegye figyelembe az alábbi ajánlott eljárásokat:

  • Számítási lehetőségek. A valós idejű következtetés megvalósításának legjobb módja az online végponton található modell üzembe helyezése felügyelt online végponton vagy Kubernetes online végponton. A felügyelt online végpontok azonnal üzembe helyezik a gépi tanulási modelleket cpu- vagy GPU-gépek használatával az Azure-ban. Ez a módszer méretezhető és teljes mértékben felügyelt. A Kubernetes online végpontjai modelleket helyeznek üzembe, és online végpontokat szolgálnak ki a teljes mértékben konfigurált és felügyelt Kubernetes-fürtön. További információ: Felügyelt online végpontok és Kubernetes online végpontok.

  • Többrégiós üzembe helyezés és magas rendelkezésre állás. A regionális üzembe helyezés és a magas rendelkezésre állású architektúrák valós idejű következtetési forgatókönyvek, mivel a késés és a modell teljesítménye kritikus fontosságú. A többrégiós üzemelő példányok késésének csökkentése érdekében keresse meg a modellt a lehető legközelebb a használati ponthoz. A modell és a támogató infrastruktúra esetében kövesse az üzlet magas rendelkezésre állási és vészhelyreállítási alapelveit és stratégiáját.

  • Valós idejű következtetési kihívások.

    • A valós idejű következtetés összetettebb a késés és a teljesítménykövetelmények miatt. Egy egyszerű valós idejű rendszer HTTP-kérésen keresztül fogad bemenetet, és előrejelzést ad vissza. Egy összetett rendszernek azonban 100 ezredmásodpercben vagy kevesebbben kell válaszolnia. Ez idő alatt adatokat kér le, funkciófejlesztést végez, következtetést végez, ellenőrzi és tárolja a modell eredményeit, üzleti logikát futtat, és visszaadja az eredményeket a rendszernek vagy az alkalmazásnak.
    • Szolgáltatásfejlesztés kiszervezése alacsony késésű adattárba, gyorsítótárazási szolgáltatásba vagy dedikált szolgáltatástárolóba. A szolgáltatástár egy központosított adattár, amely lehetővé teszi az adatelemzők számára a funkciók keresését és megosztását. A szolgáltatástárolók biztosítják, hogy a funkcióértékek kiszámításához használt kód a modell betanításához és következtetéséhez is használható legyen.
  • Biztonsági követelmények. A fokozott biztonság érdekében használja a hitelesítést és az engedélyezést az online végponthoz való hozzáférés szabályozásához.

    • A bejövőforgalom-védelemmel rendelkező online végpontok csak a virtuális hálózaton belüli gazdagépektől érkező pontozási kéréseket fogadják el. Nem fogadja el a nyilvános internetről érkező pontozási kérelmeket. A privát kapcsolattal kompatibilis munkaterületen létrehozott online végpont bejövő védelemmel rendelkezik. További információ: Hálózatelkülönítés használata felügyelt online végpontokkal.
    • Microsoft Entra-jogkivonatok használata a vezérlősík-hitelesítéshez. Az adatsík-műveletek esetében a kulcsalapú és a jogkivonatalapú megközelítések támogatottak. A jogkivonatalapú megközelítés előnyben részesített, mert a jogkivonatok lejárnak. Az Azure szerepköralapú hozzáférés-vezérlőinek (RBAC) használatával korlátozhatja a hozzáférést, és lekérheti egy online végpont kulcsát vagy jogkivonatát.
    • Használjon SSL-titkosítást a végponton, amely alapértelmezés szerint engedélyezve van a machine Tanulás végponthíváshoz.
  • Valós idejű integráció. Valós idejű következtetés integrálása más Azure-szolgáltatásokkal SDK-k használatával különböző nyelvekhez, és a végpont meghívása REST API használatával. Az online végpontot az alkalmazás kódjának részeként hívhatja meg.

  • MLflow. A modellfejlesztés során használja a nyílt forráskódú MLflow keretrendszert. A gépi Tanulás támogatja az MLflow használatával létrehozott és naplózható modellek kód nélküli üzembe helyezését. Amikor online végponton helyezi üzembe az MLflow-modellt, nem kell pontozószkriptet vagy környezetet jelölnie.

  • Széf bevezetés. A gépi tanulási modellek fokozatos frissítéseinek üzembe helyezése annak biztosítása érdekében, hogy a modell a várt módon teljesítsen. A Machine Tanulás biztonságos bevezetési stratégiával üzembe helyezhet egy modellt egy végponton, tesztelhet a modellen, és fokozatosan növelheti az új modell felé irányuló forgalmat. Használja ki a tükrözött forgalmat, hogy az élő forgalom egy százalékát tükrözhesse az új modellben további ellenőrzés céljából. A forgalomtükrözés, más néven árnyékolás nem módosítja az ügyfeleknek visszaadott eredményeket. Az összes kérés továbbra is az eredeti modellbe áramlik. További információ: Széf bevezetés az online végpontokhoz.

Other considerations

Tartsa szem előtt ezeket a szempontokat, amikor gépi tanulási modelleket helyez üzembe éles környezetben.

ONNX

A gépi tanulási modellek következtetésének optimalizálásához használja az Open Neural Network Exchange (ONNX) szolgáltatást. A modellek optimalizálása során kihívást jelenthet a hardveres képességek teljes kihasználása, különösen akkor, ha különböző platformokat használ (például felhőt/peremhálózatot vagy CPU-t/GPU-t). Betaníthat egy új modellt, vagy átalakíthat egy meglévő modellt egy másik formátumból ONNX formátumba.

Többmodelles forgatókönyv

Előfordulhat, hogy egy egyedi modell nem rögzíti a valós problémák összetett természetét. A szupermarketekben például demográfiai adatok, márkák, termékváltozatok és más, régióktól függően eltérő funkciók érhetők el, ezért kihívást jelent egyetlen értékesítési előrejelzési modell létrehozása. Hasonlóképpen, a regionális változatok kihívást jelenthetnek az intelligens fogyasztásmérős prediktív karbantartási modellek számára. Több modell használatával rögzíthet regionális adatokat vagy tárolószintű kapcsolatokat, hogy nagyobb pontosságot biztosítson, mint egyetlen modell. A többmodelles megközelítés feltételezi, hogy elegendő adat áll rendelkezésre ehhez a részletességi szinthez.

A többmodelles forgatókönyv három szakaszból áll: adatforrásból, adatelemzésből és számos modellből.

A diagram that shows the stages of the many-models scenario.

  • Adatforrás. Az adatforrás szakaszában fontos, hogy az adatokat csak néhány elemre szegmenteljük. Például ne számítsa be a termékazonosítót vagy a vonalkódot a fő partícióba, mert túl sok szegmenst hoz létre, és gátolhatja az értelmes modelleket. A márka, termékváltozat vagy helység megfelelőbb elemek. Fontos, hogy egyszerűsítse az adatokat azáltal, hogy eltávolítja azokat az anomáliákat, amelyek esetleg eltűrhetik az adateloszlást.

  • Adatelemzés. Az adatelemzési szakaszban számos kísérlet fut párhuzamosan az egyes adatszegmensekkel. A többmodelles kísérletezés egy iteratív folyamat, amely kiértékeli a modelleket, hogy a legjobbat határozza meg.

  • Sok modell. Az egyes szegmensek vagy kategóriák legjobb modelljei a modellregisztrációs adatbázisban vannak regisztrálva. Adjon hozzá értelmes neveket a modellekhez, hogy könnyebben felfedezhetőek legyenek a következtetés szempontjából. Ha szükséges, címkézéssel csoportosíthatja a modellt adott kategóriákba.

Batch-következtetés számos modellhez

Számos modell esetében a kötegelt következtetés során az előrejelzések ismétlődő ütemezésben vannak, és képesek kezelni az egyidejűleg futó nagy mennyiségű adatokat. Az egymodelles forgatókönyvtől eltérően a többmodelles következtetés egyszerre történik.

A kötegelt következtetés számos modellje több üzembe helyezést használ egy felügyelt végponton. Az adott modellek batch-következtetése meghívja az üzembe helyezés nevét a REST- vagy SDK-hívás során. További információ: Több modell üzembe helyezése egy üzembe helyezéshez.

Valós idejű következtetés számos modell esetében

Több modellt is üzembe helyezhet egyetlen felügyelt online végponton, amelyet REST API-val vagy SDK-val hívhat meg. Az üzemelő példányok létrehozásakor regisztrálja a több modellt egyetlen "regisztrált modellként" az Azure-ban. Adja meg a több modellt ugyanabban a könyvtárban, és adja át a könyvtárat az egyetlen modell elérési útjaként. A modellek betöltődnek egy szótárba, amely a nevükön van kulcsolva. REST-kérés érkezésekor a rendszer lekéri a kívánt modellt a JSON hasznos adataiból, és a vonatkozó modell pontszámot ad a hasznos adatoknak.

A többmodelles üzembe helyezésbe ezzel a módszerrel betöltött modelleknek ugyanazt a Python-verziót kell használniuk, és nem lehetnek ütköző függőségei. A kódtárakat egyszerre kell importálni akkor is, ha nincsenek szigorúan ugyanazok a függőségek.

Példa: Többmodelles üzembe helyezés létrehozása egyéni tároló használatával.

Következő lépések