Share via


Végpontok az éles környezetben való következtetéshez

ÉRVÉNYES:Azure CLI ml-bővítmény v2 (aktuális)Python SDK azure-ai-ml v2 (aktuális)

Miután betanított gépi tanulási modelleket vagy folyamatokat, vagy megtalálta a modellkatalógusban az igényeinek megfelelő modelleket, üzembe kell helyeznie őket az éles környezetben, hogy mások következtetésre használhassák őket. A következtetés az új bemeneti adatok gépi tanulási modellre vagy folyamatra történő alkalmazásának folyamata kimenetek létrehozásához. Bár ezeket a kimeneteket általában "előrejelzéseknek" is nevezik, a következtetés más gépi tanulási feladatok, például besorolás és fürtözés kimeneteinek létrehozására használható. Az Azure Machine Tanulás végpontok használatával végez következtetést.

Végpontok és üzemelő példányok

A végpont egy stabil és tartós URL-cím, amely modell kérésére vagy meghívására használható. Adja meg a végponthoz szükséges bemeneteket, és kérje vissza a kimeneteket. A végpontok a következőket biztosítják:

  • stabil és tartós URL-cím (például endpoint-name.region.inference.ml.azure.com),
  • hitelesítési mechanizmust, és
  • engedélyezési mechanizmust.

Az üzembe helyezés a tényleges következtetést okozó modell vagy összetevő üzemeltetéséhez szükséges erőforrások és számítások készlete. Egyetlen végpont tartalmazhat egy vagy több üzembe helyezést (kivéve a kiszolgáló nélküli API-végpontokat ). Az üzemelő példányok önálló eszközöket üzemeltethetnek, és az eszközök igényeinek megfelelően különböző erőforrásokat használhatnak fel. Ezenkívül a végpontok olyan útválasztási mechanizmussal rendelkeznek, amely a végpont adott üzemelő példányaihoz irányíthatja a kéréseket.

Az Azure Machine egyes végponttípusai Tanulás dedikált erőforrásokat használnak fel az üzemelő példányaikon. Ahhoz, hogy ezek a végpontok fussanak, számítási kvótával kell rendelkeznie az előfizetésében. Bizonyos modellek azonban támogatják a kiszolgáló nélküli üzembe helyezést – amely nem használ kvótát az előfizetésből –, ehelyett a használat alapján kell fizetnie.

Intuíció

Tegyük fel, hogy egy olyan alkalmazáson dolgozik, amely előrejelzi az autó típusát és színét a fényképe alapján. Ebben az alkalmazásban egy bizonyos hitelesítő adatokkal rendelkező felhasználó HTTP-kérést küld egy URL-címre, és a kérés részeként képet ad egy autóról. Cserébe a felhasználó olyan választ kap, amely sztringértékekként tartalmazza az autó típusát és színét. Ebben a forgatókönyvben az URL-cím végpontként szolgál.

Egy végpont fogalmát bemutató diagram.

Azt is tegyük fel, hogy egy adattudós, Alice dolgozik az alkalmazás implementálásán. Alice sokat tud a TensorFlow-ról, és úgy dönt, hogy keras szekvenciális osztályozóval implementálja a modellt a TensorFlow Hub RestNet-architektúrájával. A modell tesztelése után Alice elégedett az eredményeivel, és úgy dönt, hogy a modellt használja az autó előrejelzési problémájának megoldásához. A modell mérete nagy, és 8 GB memóriát igényel 4 mag futtatásához. Ebben a forgatókönyvben Alice modellje és az erőforrások, például a kód és a számítás, amelyek a modell futtatásához szükségesek, egy üzembe helyezést alkotnak a végpont alatt.

Az üzembe helyezés fogalmát bemutató diagram.

Tegyük fel, hogy néhány hónap elteltével a szervezet felfedezi, hogy az alkalmazás rosszul teljesít a kevésbé ideális megvilágítási feltételekkel rendelkező képeken. Bob, egy másik adattudós, sokat tud az adatnagyobbítási technikákról, amelyek segítenek a modellnek ezen a tényezőn robusztusságot építeni. Bob azonban kényelmesebben használja a Torch-ot a modell implementálásához, és betanítanak egy új modellt a Torch-tal. Bob fokozatosan szeretné kipróbálni ezt a modellt éles környezetben, amíg a szervezet nem áll készen a régi modell kivonására. Az új modell jobb teljesítményt is mutat a GPU-ra való üzembe helyezéskor, így az üzembe helyezésnek GPU-t is tartalmaznia kell. Ebben a forgatókönyvben Bob modellje és az erőforrások, például a kód és a számítás, amelyek a modell futtatásához szükségesek, egy másik üzembe helyezést alkotnak ugyanazon végpont alatt.

Egy több üzembe helyezést tartalmazó végpont fogalmát bemutató diagram.

Végpontok: kiszolgáló nélküli API, online és köteg

Az Azure Machine Tanulás lehetővé teszi kiszolgáló nélküli API-végpontok, online végpontok és kötegelt végpontok implementálását. A kiszolgáló nélküli API-végpontok és az online végpontok valós idejű következtetésre vannak tervezve – a végpont meghívásakor az eredmények a végpont válaszában jelennek meg. A kiszolgáló nélküli API-végpontok nem használnak kvótát az előfizetésből; ehelyett használatalapú fizetéses számlázással számlázzák őket.

A Batch-végpontok viszont hosszú ideig futó kötegkövetkeztetéshez vannak kialakítva. Minden alkalommal, amikor meghív egy kötegvégpontot, létrehoz egy kötegelt feladatot, amely végrehajtja a tényleges munkát.

Mikor érdemes kiszolgáló nélküli API-t, online és kötegvégpontokat használni?

Kiszolgáló nélküli API-végpontok:

Kiszolgáló nélküli API-végpontok használatával nagy alapmodelleket használhat a valós idejű következtetéshez a polcon kívülre, vagy finomhangolhatja az ilyen modelleket. Nem minden modell érhető el a kiszolgáló nélküli API-végpontokon való üzembe helyezéshez. Ezt az üzembe helyezési módot a következő esetekben javasoljuk:

  • A modell egy alapszintű modell, vagy annak egy finomhangolt verziója érhető el kiszolgáló nélküli API-üzemelő példányokhoz.
  • A kvóta nélküli üzembe helyezés előnyeit élvezheti.
  • Nem kell testre szabnia a modell futtatásához használt következtetési vermet.

Online végpontok:

Online végpontok használatával valós idejű következtetési modelleket lehet üzembe helyezni szinkron kis késésű kérelmekben. Javasoljuk, hogy a következő esetekben használja őket:

  • A modell egy alapmodell vagy annak finomhangolt verziója, de kiszolgáló nélküli API-végpontokban nem támogatott.
  • Alacsony késési követelményekkel rendelkezik.
  • A modell viszonylag rövid idő alatt meg tudja válaszolni a kérést.
  • A modell bemenetei illeszkednek a kérelem HTTP-hasznos adataihoz.
  • Fel kell skáláznia a kérések számát.

Batch-végpontok:

Batch-végpontok használatával üzembe helyezi a modelleket vagy folyamatokat a hosszú ideig futó aszinkron következtetéshez. Javasoljuk, hogy a következő esetekben használja őket:

  • Drága modellekkel vagy folyamatokkal rendelkezik, amelyek futtatásához hosszabb idő szükséges.
  • Szeretné üzembe helyezni a gépi tanulási folyamatokat és újra felhasználni az összetevőket.
  • Nagy mennyiségű, több fájlban elosztott adatra kell következtetnie.
  • Nem rendelkezik alacsony késési követelményekkel.
  • A modell bemenetei egy tárfiókban vagy egy Azure Machine-Tanulás adategységben vannak tárolva.
  • Kihasználhatja a párhuzamosítás előnyeit.

Kiszolgáló nélküli API-k, online és kötegelt végpontok összehasonlítása

Minden kiszolgáló nélküli API, online és kötegvégpont a végpontok ötletén alapul, ami megkönnyíti a váltást egyikről a másikra. Az online és a kötegvégpontok emellett lehetővé mutatják, hogy ugyanazon végponton több üzembe helyezést is kezelhessen. Az alábbi szakasz az egyes üzembehelyezési lehetőségek különböző funkcióit ismerteti:

Végpontok

Az alábbi táblázat összefoglalja a kiszolgáló nélküli API- és online- és kötegelt végpontok számára elérhető különböző funkciókat.

Szolgáltatás Kiszolgáló nélküli API-végpontok Online végpontok Batch-végpontok
Stabil meghívási URL-cím Igen Igen Igen
Több üzembe helyezés támogatása Nem Igen Igen
Az üzembe helyezés útválasztása Egyik sem Forgalom felosztása Váltás alapértelmezettre
Forgalom tükrözése a biztonságos bevezetés érdekében Nem Igen Nem
Swagger-támogatás Igen Igen Nem
Hitelesítés Kulcs Kulcs és Microsoft Entra-azonosító (előzetes verzió) Microsoft Entra ID
Magánhálózat támogatása (örökölt) Nem Igen Igen
Felügyelt hálózatelkülönítés Igen Igen Igen (lásd a szükséges további konfigurációt)
Felhasználó által kezelt kulcsok N.a. Igen Igen
Költségalap Végpontonként, percenként1 Egyik sem Egyik sem

1A kiszolgáló nélküli API-végpontokért percenként egy kis törtrészt kell fizetni. A használattal kapcsolatos, jogkivonatonként számlázott díjakért tekintse meg az üzembe helyezési szakaszt.

Központi telepítés

Az alábbi táblázat összefoglalja a kiszolgáló nélküli API, az online és a kötegelt végpontok számára elérhető különböző funkciókat az üzembe helyezés szintjén. Ezek a fogalmak a végpont alatti minden üzembe helyezésre vonatkoznak (online és kötegelt végpontok esetén), valamint a kiszolgáló nélküli API-végpontokra (ahol az üzembe helyezés fogalma a végpontba van beépítve).

Szolgáltatás Kiszolgáló nélküli API-végpontok Online végpontok Batch-végpontok
Üzembehelyezési típusok Modellek Modellek Modellek és folyamatösszetevők
MLflow-modell üzembe helyezése Nem, csak adott modellek a katalógusban Igen Igen
Egyéni modell üzembe helyezése Nem, csak adott modellek a katalógusban Igen, pontozási szkripttel Igen, pontozási szkripttel
Modellcsomag üzembe helyezése 1 Beépítve Igen (előzetes verzió) Nem
Következtetési kiszolgáló 2 Azure AI-modell következtetési API - Azure Machine Tanulás Következtetési kiszolgáló
-Triton
- Egyéni (BYOC használatával)
Batch-következtetés
Felhasznált számítási erőforrás Nincs (kiszolgáló nélküli) Példányok vagy részletes erőforrások Fürtpéldányok
Számítási típus Nincs (kiszolgáló nélküli) Felügyelt számítás és Kubernetes Felügyelt számítás és Kubernetes
Alacsony prioritású számítás N.a. Nem Igen
Számítás skálázása nullára Beépítve Nem Igen
3. számításautomatikus skálázása Beépítve Igen, az erőforrások terhelése alapján Igen, a feladatok száma alapján
Kapacitásfelesenlítés kezelése Szabályozás Szabályozás Queuing
Költségalap4 Jogkivonatonként Üzemelő példányonként: futó számítási példányok Feladatonként: a feladatban felhasznált számítási példány (a fürt példányainak maximális számára van megfeleltetve).
Az üzemelő példányok helyi tesztelése Nem Igen Nem

1 Az MLflow-modellek kimenő internetkapcsolat vagy magánhálózatok nélküli végpontokon való üzembe helyezéséhez először be kell csomagolni a modellt .

2Az Inference-kiszolgáló azt a kiszolgálói technológiát jelenti, amely kéréseket vesz fel, feldolgoz és válaszokat hoz létre. A következtetési kiszolgáló a bemenet formátumát és a várt kimeneteket is meghatározza.

3Az automatikus skálázás lehetővé teszi, hogy a terhelés alapján dinamikusan felskálázza vagy leskálázza az üzembe helyezés lefoglalt erőforrásait. Az online és a kötegelt üzembe helyezés különböző stratégiákat használ az automatikus skálázáshoz. Míg az online üzemelő példányok az erőforrás-kihasználtság (például processzor, memória, kérések stb.) alapján fel- és leskálázhatók, a batch-végpontok a létrehozott feladatok száma alapján fel- vagy leskálázhatók.

4 Az online és a kötegelt üzembe helyezést is a felhasznált erőforrások terhelik. Az online üzemelő példányokban az erőforrások üzembe helyezéskor lesznek kiépítve. A kötegelt üzembe helyezés során azonban a rendszer nem használ fel erőforrásokat az üzembe helyezéskor, hanem a feladat futtatásakor. Ezért az üzembe helyezés nem jár költségekkel. Figyelje meg, hogy az üzenetsorba helyezett feladatok sem használnak erőforrásokat.

Fejlesztői felületek

A végpontok célja, hogy segítsék a szervezeteket az éles szintű számítási feladatok üzembe helyezésében az Azure Machine Tanulás. A végpontok robusztus és méretezhető erőforrások, és a lehető legjobb képességeket biztosítják az MLOps-munkafolyamatok implementálásához.

Több fejlesztői eszközzel hozhat létre és kezelhet köteg- és online végpontokat:

  • Az Azure CLI és a Python SDK
  • Azure Resource Manager/REST API
  • Azure Machine Tanulás Studio webportál
  • Azure Portal (IT/Rendszergazda)
  • CI/CD MLOps-folyamatok támogatása az Azure CLI-felület és REST/ARM interfészek használatával

Következő lépések