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 pontozása online végpont használatával.

Megtudhatja, hogyan helyezhet üzembe egy modellt webszolgáltatásként az Azure Machine Learning használatával Azure Container Instances (ACI) rendszeren. Használja Azure Container Instances, ha:

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

További információ az ACI kvótáiról és régióiról: 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 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

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 Instances való üzembe helyezéséhez hozzon létre egy üzembehelyezé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. Dedukciós konfigurációra is szükség 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: Modellek üzembe helyezése és üzembe helyezése.

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ülettel történő üzembe helyezéshez használja a következő parancsot. Cserélje le mymodel:1 a elemet a regisztrált modell nevére és verziójára. A helyére myservice írja be a következő nevet:

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 CPU-magok száma. Alapértelmezett 0.1
  memoryInGB memory_gb A webszolgáltatás számára 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. Az elérhető régiókról itt talál további információt: ACI-régiók
authEnabled auth_enabled Engedélyezi-e a hitelesítést ehhez a webszolgáltatáshoz. Alapértelmezés szerint False (Hamis)
sslEnabled ssl_enabled Engedélyezi-e az SSL-t ehhez a webszolgáltatáshoz. Alapértelmezés szerint Hamis.
appInsightsEnabled enable_app_insights Engedélyezi-e az AppInsights szolgáltatást ehhez a webszolgáltatáshoz. Alapértelmezés szerint False (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 A cname értéke, ha az SSL engedélyezve van
dnsNameLabel dns_name_label A pontozási végpont DNS-névcímkéje. Ha nincs megadva egyedi DNS-névcímke a pontozási végponthoz.

Az alábbi JSON egy példa üzembe helyezési konfigurációra 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

A kivonatolt munkaterület-azonosítót az összes létrehozott mögöttes ACI-erőforráshoz hozzáfűzzük, az ugyanabból a 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 az ügyfél által megadott "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