Modell üzembe helyezése Azure Container Instances parancssori felülettel (v1)
Fontos
Ez a cikk bemutatja, hogyan helyezhet üzembe egy modellt a CLI és az SDK v1 használatával. A v2-hez ajánlott megközelítésért lásd: Gépi tanulási modell üzembe helyezése és pontszáma online végpont használatával.
Megtudhatja, hogyan helyezhet üzembe egy modellt webszolgáltatásként az Azure Machine Learning használatával a Azure Container Instances (ACI) szolgáltatásban. Használja a Azure Container Instances, ha:
- inkább ne kezelje a saját Kubernetes-fürtöt
- Nincs gond azzal, ha a szolgáltatásnak csak egyetlen replikája van, ami hatással lehet az üzemidőre
Az ACI kvótáival és régióival kapcsolatos információkért lásd: Kvóták és régiók rendelkezésre állása Azure Container Instances cikkben.
Fontos
Javasoljuk, hogy a webszolgáltatásban való üzembe helyezés előtt helyileg hibakeresést hajtson be, további információt a Helyi hibakeresés című témakörben talál.
További információ: Azure Machine Learning – Üzembe helyezés helyi notebookba
Előfeltételek
Egy Azure Machine Learning-munkaterület. További információ: Azure Machine Learning-munkaterület létrehozása.
A munkaterületen regisztrált gépi tanulási modell. Ha nem rendelkezik regisztrált modellel, tekintse meg a modellek üzembe helyezésének módját és helyét ismertető cikket.
Az Azure CLI-bővítmény (v1) a Machine Learning szolgáltatáshoz, azAzure Machine Learning Python SDK-hoz vagy az Azure Machine Learning Visual Studio Code-bővítményhez.
Fontos
A cikkben szereplő Azure CLI-parancsok némelyike az
azure-cli-ml
Azure Machine Learninghez készült , vagy v1 bővítményt használja. A v1-bővítmény támogatása 2025. szeptember 30-án megszűnik. Addig a dátumig telepítheti és használhatja a v1 bővítményt.Javasoljuk, hogy 2025. szeptember 30-a előtt váltson a
ml
, vagy v2 kiterjesztésre. A v2-es bővítményről további információt az Azure ML CLI-bővítmény és a Python SDK v2 című témakörben talál.A cikkben szereplő Python-kódrészletek feltételezik, hogy a következő változók vannak beállítva:
ws
– Állítsa be a munkaterületet.model
- Állítsa be a regisztrált modellt.inference_config
– Állítsa a modell következtetési konfigurációját.
A változók beállításával kapcsolatos további információkért lásd a modellek üzembe helyezésének módját és helyét ismertető cikket.
A jelen cikkben szereplő CLI-kódrészletek feltételezik, hogy létrehozott egy
inferenceconfig.json
dokumentumot. A dokumentum létrehozásával kapcsolatos további információkért lásd a modellek üzembe helyezésének módját és helyét ismertető cikket.
Korlátozások
Ha az Azure Machine Learning-munkaterület privát végponttal van konfigurálva, az Azure Container Instances virtuális hálózatban való üzembe helyezése nem támogatott. Ehelyett fontolja meg felügyelt online végpontok használatát hálózatelkülönítéssel.
Üzembe helyezés az ACI-ban
Ha egy modellt Azure Container Instances szeretne üzembe helyezni, hozzon létre egy üzembe helyezési konfigurációt, amely leírja a szükséges számítási erőforrásokat. Például a magok és a memória száma. Egy következtetési konfigurációra is szüksége van, amely leírja a modell és a webszolgáltatás üzemeltetéséhez szükséges környezetet. A következtetési konfiguráció létrehozásával kapcsolatos további információkért lásd a modellek üzembe helyezésének módját és helyét ismertető cikket.
Megjegyzés
- Az ACI csak az 1 GB-nál kisebb méretű modellek esetében megfelelő.
- A nagyobb modellek fejlesztéséhez és teszteléséhez az egycsomópontos AKS használatát javasoljuk.
- Üzemelő példányonként (tárolónként) legfeljebb 1000 modell helyezhető üzembe.
Az SDK használata
A KÖVETKEZŐKRE VONATKOZIK:Python SDK azureml v1
from azureml.core.webservice import AciWebservice, Webservice
from azureml.core.model import Model
deployment_config = AciWebservice.deploy_configuration(cpu_cores = 1, memory_gb = 1)
service = Model.deploy(ws, "aciservice", [model], inference_config, deployment_config)
service.wait_for_deployment(show_output = True)
print(service.state)
Az ebben a példában használt osztályokról, metódusokról és paraméterekről az alábbi referenciadokumentumokban talál további információt:
Az Azure CLI-vel
A KÖVETKEZŐKRE VONATKOZIK:Azure CLI ml-bővítmény v1
A parancssori felület használatával történő üzembe helyezéshez használja az alábbi parancsot. Cserélje le mymodel:1
a elemet a regisztrált modell nevére és verziójára. A helyére írja be myservice
a nevet a szolgáltatásnak:
az ml model deploy -n myservice -m mymodel:1 --ic inferenceconfig.json --dc deploymentconfig.json
A dokumentum bejegyzései megfeleltetik deploymentconfig.json
a AciWebservice.deploy_configuration paramétereit. Az alábbi táblázat a JSON-dokumentumban szereplő entitások és a metódus paraméterei közötti leképezést ismerteti:
JSON-entitás | Metódusparaméter | Description |
---|---|---|
computeType |
NA | A számítási cél. ACI esetén az értéknek a következőnek kell lennie ACI : . |
containerResourceRequirements |
NA | Tároló a CPU- és memóriaentitásokhoz. |
cpu |
cpu_cores |
A lefoglalni kívánt processzormagok száma. Alapértelmezett 0.1 |
memoryInGB |
memory_gb |
A webszolgáltatáshoz lefoglalandó memória mennyisége (GB-ban). Alapértelmezett 0.5 |
location |
location |
A webszolgáltatás üzembe helyezéséhez szükséges Azure-régió. Ha nincs megadva, a rendszer a munkaterület helyét fogja használni. Az elérhető régiókról további információt itt talál: ACI-régiók |
authEnabled |
auth_enabled |
Engedélyezze-e a hitelesítést ehhez a webszolgáltatáshoz. Alapértelmezett érték: Hamis |
sslEnabled |
ssl_enabled |
Engedélyezze-e az SSL-t ehhez a webszolgáltatáshoz. Alapértelmezés szerint Hamis. |
appInsightsEnabled |
enable_app_insights |
Engedélyezze-e az AppInsights szolgáltatást ehhez a webszolgáltatáshoz. Alapértelmezett érték: Hamis |
sslCertificate |
ssl_cert_pem_file |
Az SSL engedélyezése esetén szükséges tanúsítványfájl |
sslKey |
ssl_key_pem_file |
Az SSL engedélyezése esetén szükséges kulcsfájl |
cname |
ssl_cname |
Ha az SSL engedélyezve van, a cname értéke |
dnsNameLabel |
dns_name_label |
A pontozási végpont DNS-névfelirata. Ha nincs megadva egyedi DNS-névcímke a pontozási végponthoz, a rendszer létrehoz egy egyedi DNS-névcímkét. |
A következő JSON egy példa üzembehelyezési konfiguráció a parancssori felülettel való használatra:
{
"computeType": "aci",
"containerResourceRequirements":
{
"cpu": 0.5,
"memoryInGB": 1.0
},
"authEnabled": true,
"sslEnabled": false,
"appInsightsEnabled": false
}
További információt az az ml-modell üzembe helyezési referenciájában talál.
A VS Code használata
Tekintse meg , hogyan kezelheti az erőforrásokat a VS Code-ban.
Fontos
A teszteléshez nem szükséges előre létrehozni ACI-tárolót. A rendszer igény szerint létrehozza a szükséges ACI-tárolókat.
Fontos
Kivonatolt munkaterület-azonosítót fűzünk hozzá az összes létrehozott mögöttes ACI-erőforráshoz, és az ugyanabból a munkaterületről származó összes ACI-névnek ugyanaz az utótagja lesz. Az Azure Machine Learning szolgáltatás neve továbbra is ugyanaz az ügyfél lesz, mint a "service_name", és az Azure Machine Learning SDK API-kkal rendelkező összes felhasználónak nincs szüksége módosításra. A létrehozott mögöttes erőforrások neveire nem vállalunk garanciát.
Következő lépések
- Modell üzembe helyezése egyéni Docker-rendszerkép használatával
- Üzembe helyezés hibaelhárítása
- A webszolgáltatás frissítése
- TLS használata webszolgáltatás védelméhez az Azure Machine Learning szolgáltatás segítségével
- Webszolgáltatásként üzembe helyezett ml-modell felhasználása
- Az Azure Machine Learning-modellek monitorozása az Application Insights használatával
- Adatok gyűjtése éles modellekhez