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 az igényeinek megfelelő modelleket a modellkatalógusból, ü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 Learningben végpontok használatával végezhet 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. Az Azure Machine Learning lehetővé teszi kiszolgáló nélküli API-végpontok, online végpontok és kötegelt végpontok implementálását. 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. A végpontok központi telepítést tartalmaznak, online és kötegvégpontok esetén pedig egy végpont több üzembe helyezést is tartalmazhat. Az üzemelő példányok önálló eszközöket üzemeltethetnek, és különböző erőforrásokat használhatnak fel az eszközök igényei alapján. Ezenkívül a végpontok olyan útválasztási mechanizmussal is rendelkezik, amely a kéréseket bármely üzemelő példányához irányíthatja.
Az Azure Machine Learning egyes végponttípusai egyrészt 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 Azure-előfizetésében. Másfelől bizonyos modellek támogatják a kiszolgáló nélküli üzembe helyezést – így nem használnak kvótát az előfizetésből. Kiszolgáló nélküli üzembe helyezés esetén 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.
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.
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.
Végpontok: kiszolgáló nélküli API, online és köteg
Az Azure Machine Learning 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. Amikor meghívja a végpontot, 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 hosszú ideig futó kötegkövetkezőkre vannak tervezve. Amikor batch-végpontot hív meg, 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 egy alapmodell finomhangolt verziója, amely kiszolgáló nélküli API-üzemelő példányokhoz érhető el.
- 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 alapszintű modell vagy egy alapmodell 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 Learning-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 elképzelésén alapul, ezért könnyen áttérhet az egyikről a másikra. Az online és a kötegvégpontok több üzembe helyezés kezelésére is képesek ugyanazon végponton.
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 a végpont szintjén.
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 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 2 | Beépítve | Igen (előzetes verzió) | Nem |
Következtetési kiszolgáló 3 | Azure AI-modell következtetési API | – Azure Machine Learning-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 |
4. számításautomatikus skálázása | Beépítve | Igen, az erőforrás-használat alapján | Igen, a feladatok száma alapján |
Kapacitásfelesenlítés kezelése | Szabályozás | Szabályozás | Queuing |
Költségalap5 | 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 |
2 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 .
3 Az Inference-kiszolgáló a kéréseket kérő, feldolgozó és válaszok létrehozására szolgáló technológiára utal. A következtetési kiszolgáló a bemenet formátumát és a várt kimeneteket is meghatározza.
4 Az automatikus skálázás lehetővé teszi az üzembe helyezés lefoglalt erőforrásainak dinamikus felskálázását vagy leskálázását a terhelése alapján. 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.
5 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 az erőforrások nem az üzembe helyezéskor, hanem a feladat futtatásakor lesznek felhasználva. Ezért nem jár költség magával a köteg üzembe helyezésével. Hasonlóképpen az üzenetsoros 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 Learningben. A végpontok robusztus és méretezhető erőforrások, és a 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 Learning Studio webportál
- Azure Portal (informatikai/rendszergazdai)
- CI/CD MLOps-folyamatok támogatása az Azure CLI-felület és REST/ARM interfészek használatával