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)

A gépi tanulási modellek vagy folyamatok betanítása után üzembe kell helyeznie őket az éles környezetben, hogy mások következtetésekre 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 és üzemelő példányok használatával végez következtetést. A végpontok és az üzemelő példányok lehetővé teszik az éles számítási feladatok felületének leválasztását az azt kiszolgáló implementációtól.

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.

A diagram showing the concept of an endpoint.

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.

A diagram showing the concept of a deployment.

Végül tegyük fel, hogy néhány hónap elteltével a szervezet felfedezi, hogy az alkalmazás rosszul teljesít az ideálisnál kisebb 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.

A diagram showing the concept of an endpoint with multiple deployments.

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 több üzembe helyezést is tartalmazhat. Ezek az üzemelő példányok független eszközöket üzemeltethetnek, és az eszközök igényei alapján különböző erőforrásokat használhatnak fel. 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.

A megfelelő működéshez minden végpontnak legalább egy üzembe helyezéssel kell rendelkeznie. A végpontok és az üzemelő példányok független Azure Resource Manager-erőforrások, amelyek megjelennek az Azure Portalon.

Online és kötegelt végpontok

Az Azure Machine Tanulás lehetővé teszi online végpontok és kötegelt végpontok implementálását. 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 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 online és kötegelt végpontot használni a használati esethez?

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:

  • 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 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.

Online és kötegelt végpontok összehasonlítása

Az online és a kötegvégpontok egyaránt a végpontok és az üzemelő példányok ötletén alapulnak, amelyek megkönnyítik a váltást egyikről a másikra. Ha azonban egyikről a másikra vált, van néhány különbség, amelyet fontos figyelembe venni. Néhány ilyen különbség a munka jellegéből fakad:

Endpoints

Az alábbi táblázat az online és kötegelt végpontok számára elérhető különböző funkciók összegzését mutatja be.

Funkció Online végpontok Batch-végpontok
Stabil meghívási URL-cím Igen Igen
Több üzembe helyezés támogatása Igen Igen
Az üzembe helyezés útválasztása Forgalom felosztása Váltás alapértelmezettre
Forgalom tükrözése a biztonságos bevezetés érdekében Igen Nem
Swagger-támogatás Igen Nem
Hitelesítés Kulcs és jogkivonat Microsoft Entra ID
Magánhálózat támogatása Igen Igen
Felügyelt hálózatelkülönítés Igen Igen (lásd a szükséges további konfigurációt)
Felhasználó által kezelt kulcsok Igen Igen
Költségalap None None

Deployments

Az alábbi táblázat az online és kötegelt végpontok számára elérhető különböző funkciók összegzését mutatja be az üzembe helyezés szintjén. Ezek a fogalmak a végpont alatti összes üzembe helyezésre vonatkoznak.

Funkció Online végpontok Batch-végpontok
A központi telepítés típusai Modellek Modellek és folyamatösszetevők
MLflow-modell üzembe helyezése Igen Igen
Egyéni modell üzembe helyezése Igen, pontozási szkripttel Igen, pontozási szkripttel
Modellcsomag üzembe helyezése 1 Igen (előzetes verzió) Nem
Következtetési kiszolgáló 2 - 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 Példányok vagy részletes erőforrások Fürtpéldányok
Számítási típus Felügyelt számítás és Kubernetes Felügyelt számítás és Kubernetes
Alacsony prioritású számítás Nem Igen
Számítás skálázása nullára Nem Igen
3. számításautomatikus skálázása Igen, az erőforrások terhelése alapján Igen, a feladatok száma alapján
Kapacitásfelesenlítés kezelése Throttling Queuing
Költségalap4 Ü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 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

További lépések