Megosztás a következőn keresztül:


Modell üzembe helyezése az Azure Container Instancesben parancssori felülettel (v1)

Fontos

Ez a cikk bemutatja, hogyan helyezhet üzembe egy modellt a PARANCSSOR é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 az Azure Container Instancesben (ACI). Az Azure Container Instances használata, ha:

  • inkább ne kezelje a saját Kubernetes-fürtöt
  • Nem baj, ha a szolgáltatásnak csak egyetlen replikája van, ami hatással lehet az üzemidőre

Az ACI kvóta- és régió-elérhetőségéről további információt az Azure Container Instances kvótáiról és a régiók rendelkezésre állásáról szóló cikkben talál.

Fontos

Javasoljuk, hogy a webszolgáltatásban való üzembe helyezés előtt helyi hibakeresést hajtsanak 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.

  • A Machine Learning szolgáltatáshoz készült Azure CLI-bővítmény (v1), az Azure Machine Learning Python SDK vagy az Azure Machine Learning Visual Studio Code bővítmény.

    Fontos

    A cikkben szereplő Azure CLI-parancsok némelyike az azure-cli-mlAzure Machine Learning bővítményét vagy v1-et 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áltsa át a ml(vagy v2) bővítményt. További információ a v2-es bővítményről: Azure ML CLI-bővítmény és Python SDK v2.

  • A jelen 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 be 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 tekintse meg a modellek üzembe helyezésének módját és helyét.

  • A cikkben szereplő PARANCSSOR-kódrészletek feltételezik, hogy ön létrehozott egy dokumentumot inferenceconfig.json . A dokumentum létrehozásával kapcsolatos további információkért tekintse meg a modellek üzembe helyezésének módját és helyét.

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

Modell Azure Container Instancesben való üzembe helyezéséhez 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.

Feljegyzé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

ÉRVÉNYES: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Őre vonatkozik: Azure CLI ml-bővítmény 1-es verzió

A parancssori felület használatával történő üzembe helyezéshez használja a következő parancsot. Cserélje le mymodel:1 a regisztrált modell nevét és verzióját. Cserélje le myservice a szolgáltatást a névre:

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 Leírás
computeType N.a. A számítási cél. Az ACI esetében az értéknek a következőnek kell lennie ACI: .
containerResourceRequirements N.a. Tároló a PROCESSZOR- é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 munkaterület helye lesz használva. További részletek az elérhető régiókról itt találhatók: 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 Az AppInsights engedélyezése 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 következő JSON egy példa üzembe helyezé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ó: az ml-modell üzembe helyezési referenciája.

A VS Code használata

Megtudhatja , 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 az összes létrehozott mögöttes ACI-erőforráshoz, az azonos munkaterületről származó összes ACI-névnek ugyanaz lesz az utótagja. Az Azure Machine Learning szolgáltatás neve továbbra is ugyanaz lesz, mint az ügyfél által megadott "service_name", és az Azure Machine Learning SDK API-kkal rendelkező összes felhasználónak nincs szüksége semmilyen változásra. A létrehozott mögöttes erőforrások neveire nem vállalunk garanciát.

Következő lépések