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


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

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