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


Az online végponton való használatra üzembe helyezendő modell megadása

ÉRVÉNYES:Azure CLI ml-bővítmény v2 (aktuális)Python SDK azure-ai-ml v2 (aktuális)

Ebben a cikkben megismerheti az online környezetekben használni kívánt modellek megadásának különböző módjait. Amikor egy modellt online Azure Machine Learning-végponton helyez üzembe, a modellt kétféleképpen kell megadnia:

  • Adja meg a modell helyének elérési útját a helyi számítógépen
  • Adjon meg egy hivatkozást a munkaterületen már regisztrált verziójú modellre.

Az online végpont üzembe helyezéséhez használt modell megadása attól függ, hogy hol tárolja a modellt. Az Azure Machine Learningben az üzembe helyezés létrehozása után a környezeti változó AZUREML_MODEL_DIR arra a tárolóhelyre mutat az Azure-ban, ahol a modell tárolódik.

Helyileg tárolt modellek üzembe helyezése

Ez a szakasz egy helyi mappastruktúra példáját használja, amely bemutatja, hogyan adhatja meg az online üzembe helyezéshez használható modelleket:

Képernyőkép egy több modellt tartalmazó helyi mappastruktúráról.

Üzembe helyezés egyetlen helyi modellhez

Ha egyetlen olyan modellt szeretne használni, amely a helyi gépen található egy üzembe helyezés során, adja meg az pathmodel üzembehelyezési YAML-konfigurációs fájlban szereplő értéket. Az alábbi kód egy példa az üzembe helyezési YAML-ra a helyi elérési úttal /Downloads/multi-models-sample/models/model_1/v1/sample_m1.pkl:

$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json 
name: blue 
endpoint_name: my-endpoint 
model: 
  path: /Downloads/multi-models-sample/models/model_1/v1/sample_m1.pkl 
code_configuration: 
  code: ../../model-1/onlinescoring/ 
  scoring_script: score.py 
environment:  
  conda_file: ../../model-1/environment/conda.yml 
  image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest 
instance_type: Standard_DS3_v2 
instance_count: 1 

Az Azure Machine Learningben, miután létrehozta az üzembe helyezést egy online végponton, a környezeti változó AZUREML_MODEL_DIR arra a tárolási helyre mutat az Azure-ban, ahol a modell tárolása történik. Például most /var/azureml-app/azureml-models/aaa-aaa-aaa-aaa-aaa/1 már tartalmazza a modellt sample_m1.pkl.

A pontozószkriptben (score.py) betöltheti a modellt (ebben a példában sample_m1.pkl) a szkript függvényében init() :

def init(): 
    model_path = os.path.join(str(os.getenv("AZUREML_MODEL_DIR")), "sample_m1.pkl") 
    model = joblib.load(model_path) 

Üzembe helyezés több helyi modellhez

Bár az Azure CLI, a Python SDK és más ügyféleszközök lehetővé teszik, hogy üzembe helyezésenként csak egy modellt adjon meg az üzembe helyezés definíciójában, az üzembe helyezésben több modellt is használhat egy olyan modellmappa regisztrálásával, amely az összes modellt fájlként vagy alkönyvtárként tartalmazza. Az eszközök( például modellek) regisztrálásával kapcsolatos további információkért, hogy meg tudja adni a regisztrált nevüket és verzióikat az üzembe helyezés során, olvassa el a modell és a környezet regisztrálása című témakört.

A példa helyi mappastruktúrájában láthatja, hogy a mappában models több modell is található. A modellek használatához az üzembehelyezési YAML-ben az alábbiak szerint kell megadnia a models mappa elérési útját:

$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json 
name: blue 
endpoint_name: my-endpoint 
model: 
  path: /Downloads/multi-models-sample/models/ 
code_configuration: 
  code: ../../model-1/onlinescoring/ 
  scoring_script: score.py 
environment:  
  conda_file: ../../model-1/environment/conda.yml 
  image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest 
instance_type: Standard_DS3_v2 
instance_count: 1 

Az üzembe helyezés létrehozása után a környezeti változó AZUREML_MODEL_DIR arra a tárolási helyre mutat az Azure-ban, ahol a modelleket tárolják. Most például /var/azureml-app/azureml-models/bbb-bbb-bbb-bbb-bbb/1 a modelleket és a fájlstruktúrát tartalmazza.

Ebben a példában a mappa tartalma a AZUREML_MODEL_DIR következőképpen néz ki:

Képernyőkép a több modell tárolási helyének mappaszerkezetéről.

A pontozási szkripten (score.py) belül betöltheti a modelleket a init() függvénybe. A következő kód betölti a sample_m1.pkl modellt:

def init(): 
    model_path = os.path.join(str(os.getenv("AZUREML_MODEL_DIR")), "models","model_1","v1", "sample_m1.pkl ") 
    model = joblib.load(model_path) 

Ha több modellt szeretne üzembe helyezni egy üzemelő példányban, olvassa el a Több modell üzembe helyezése egy üzembe helyezésben (CLI-példa) és több modell üzembe helyezése egy üzembe helyezésben (SDK-példa) című témakört.

Tipp.

Ha több mint 1500 fájlt szeretne regisztrálni, fontolja meg a fájlok vagy alkönyvtárak .tar.gz tömörítését a modellek regisztrálásakor. A modellek használatához kicsomagolhatja a fájlokat vagy alkönyvtárakat a init() pontozószkript függvényében. Másik lehetőségként a modellek regisztrálásakor állítsa be a azureml.unpack tulajdonságot Truea fájlok vagy alkönyvtárak automatikus kicsomagolásához. Mindkét esetben a fájlok kicsomagolása egyszer történik az inicializálási szakaszban.

Üzembe helyezés a munkaterületen regisztrált modellekhez

Az üzembehelyezési definícióban regisztrált modelleket használhat, ha a nevükre hivatkozik az üzembe helyezési YAML-ben. A következő üzembehelyezési YAML-konfiguráció például a regisztrált model nevet azureml:local-multimodel:3adja meg:

$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json 
name: blue 
endpoint_name: my-endpoint 
model: azureml:local-multimodel:3 
code_configuration: 
  code: ../../model-1/onlinescoring/ 
  scoring_script: score.py 
environment:  
  conda_file: ../../model-1/environment/conda.yml 
  image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest 
instance_type: Standard_DS3_v2 
instance_count: 1 

Ebben a példában vegye figyelembe local-multimodel:3 a következő modellösszetevőket, amelyek az Azure Machine Learning Studio Modellek lapján tekinthetők meg:

Egy regisztrált modell modellösszetevőit megjelenítő mappastruktúra képernyőképe.

Az üzembe helyezés létrehozása után a környezeti változó AZUREML_MODEL_DIR arra a tárolási helyre mutat az Azure-ban, ahol a modelleket tárolják. Például /var/azureml-app/azureml-models/local-multimodel/3 tartalmazza a modelleket és a fájlstruktúrát. AZUREML_MODEL_DIR a modellösszetevők gyökerét tartalmazó mappára mutat. A példa alapján a mappa tartalma a AZUREML_MODEL_DIR következőképpen néz ki:

Képernyőkép a több modellt ábrázoló mappastruktúráról.

A pontozási szkripten (score.py) belül betöltheti a modelleket a init() függvénybe. Töltse be például a diabetes.sav modellt:

def init(): 
    model_path = os.path.join(str(os.getenv("AZUREML_MODEL_DIR"), "models", "diabetes", "1", "diabetes.sav") 
    model = joblib.load(model_path) 

A modellkatalógusban elérhető modellek üzembe helyezése

A modellkatalógusban szereplő bármely modell esetében, kivéve az Azure OpenAI-gyűjteményben lévő modelleket, a modell kártyáján látható modellazonosítót használhatja az üzembe helyezéshez. A modellazonosítók az űrlapon azureml://registries/{registry_name}/models/{model_name}/versions/{model_version}találhatók. Például a Meta Llama 3-8 B instruktúramodell modellazonosítója.azureml://registries/azureml-meta/models/Meta-Llama-3-8B-Instruct/versions/2 Egyes modellkártyák példajegyzetfüzeteket tartalmaznak, amelyek bemutatják, hogyan használhatja a modellazonosítót az üzembe helyezéshez.

A szervezet beállításjegyzékében elérhető modellek üzembe helyezése

A szervezeti beállításjegyzék minden modellje rendelkezik az űrlap azureml://registries/{registry_name}/models/{model_name}/versions/{model_version}modellazonosítójával. Dönthet úgy is, hogy az ugyanabban a beállításjegyzékben regisztrált környezeteket használja.