Nasazení modelů MLflow v dávkových nasazeních ve službě Azure Machine Learning

PLATÍ PRO:Rozšíření Azure CLI ml v2 (aktuální)Python SDK azure-ai-ml v2 (aktuální)

Tento článek popisuje, jak nasadit modely MLflow do služby Azure Machine Learning pro dávkové odvozování pomocí dávkových koncových bodů. Když nasadíte modely MLflow do dávkových koncových bodů, Azure Machine Learning dokončí následující úlohy:

  • Poskytuje základní image nebo kurátorované prostředí MLflow, které obsahuje požadované závislosti pro spuštění dávkové úlohy Machine Learning.
  • Vytvoří pipeline dávkové úlohy se skriptem pro hodnocení, který může zpracovávat data pomocí paralelizace.

Další informace o podporovaných typech vstupních souborů a podrobnostech o tom, jak model MLflow funguje, najdete v tématu Důležité informace o nasazení do dávkového odvozování.

Požadavky

  • Předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet.

  • Pracovní prostor služby Azure Machine Learning. Pokud chcete vytvořit pracovní prostor, přečtěte si téma Správa pracovních prostorů Služby Azure Machine Learning.

  • Následující oprávnění v pracovním prostoru Azure Machine Learning:

    • Pro vytvoření nebo správu dávkových koncových bodů a nasazení použijte roli vlastníka, přispěvatele nebo vlastní roli, která má oprávnění Microsoft.MachineLearningServices/workspaces/batchEndpoints/*.
    • Pro vytváření nasazení v Azure Resource Manageru ve skupině prostředků pracovního prostoru použijte roli Vlastník, Přispěvatel nebo Vlastní role, která má Microsoft.Resources/deployments/write oprávnění ve skupině prostředků, kde je pracovní prostor nasazený.
  • Azure Machine Learning CLI nebo sada Azure Machine Learning SDK pro Python:

    Spuštěním následujícího příkazu nainstalujte Azure CLI a mlrozšíření pro Azure Machine Learning:

    az extension add -n ml
    

    Nasazení komponent kanálu pro dávkové koncové body vyžadují rozšíření ml pro Azure CLI ve verzi 2.7 nebo novější (aktuální verze: 2.37.0). az extension update --name ml Pomocí příkazu získejte nejnovější verzi.


Připojení k pracovnímu prostoru

Pracovní prostor je prostředek nejvyšší úrovně pro Azure Machine Learning. Poskytuje centralizované místo pro práci se všemi artefakty, které vytvoříte při použití služby Azure Machine Learning. V této části se připojíte k pracovnímu prostoru, kde provádíte úkony související s nasazením.

V následujícím příkazu zadejte ID předplatného, název pracovního prostoru, název skupiny prostředků a umístění:

az account set --subscription <subscription>
az configure --defaults workspace=<workspace> group=<resource-group> location=<location>

Prozkoumání příkladu

Příklad v tomto článku ukazuje, jak nasadit model MLflow do dávkového koncového bodu pro provádění dávkových predikcí. Model MLflow je založen na datové sadě UCI Heart Disease Data Set. Databáze obsahuje 76 atributů, ale v příkladu se používá pouze podmnožina 14. Model se snaží předpovědět přítomnost onemocnění srdce u pacienta s celočíselnou hodnotou od 0 (bez přítomnosti) do 1 (přítomnost).

Model se trénuje pomocí klasifikátoru XGBBoost . Všechna požadovaná předzpracování jsou zabalená jako scikit-learn pipeline, což dělá z modelu koncové potrubí, které přechází od nezpracovaných dat k predikcím.

Příklad v tomto článku vychází z ukázek kódu obsažených v úložišti azureml-examples . Pokud chcete příkazy spustit místně, aniž byste museli kopírovat nebo vkládat YAML a další soubory, naklonujte úložiště pomocí následujících příkazů a přejděte do složky pro váš kódovací jazyk:

git clone https://github.com/Azure/azureml-examples --depth 1
cd azureml-examples/cli

Soubory pro tento příklad jsou umístěny v následující složce:

cd endpoints/batch/deploy-models/heart-classifier-mlflow

Sledování v poznámkových blocích Jupyter

Tuto ukázku můžete sledovat pomocí veřejného poznámkového bloku Jupyter. V repozitáři naklonovaného otevřete notebook mlflow-for-batch-tabular.ipynb.

Nasazení modelu MLflow

V této části nasadíte model MLflow do dávkového koncového bodu, abyste mohli spouštět dávkové odvozování nad novými daty. Než budete pokračovat s nasazením, ujistěte se, že je váš model zaregistrovaný a v pracovním prostoru je dostupný výpočetní cluster.

Registrace modelu

Koncové body služby Batch můžou nasazovat jenom registrované modely. V tomto článku použijete místní kopii modelu v úložišti. V důsledku toho musíte model publikovat jenom do registru v pracovním prostoru.

Poznámka:

Pokud už je model, který nasazujete, zaregistrovaný, můžete pokračovat v části Vytvoření výpočetního clusteru .

Zaregistrujte model spuštěním následujícího příkazu:

MODEL_NAME='heart-classifier-mlflow'
az ml model create --name $MODEL_NAME --type "mlflow_model" --path "model"

Vytvoření výpočetního clusteru

Potřebujete zajistit, aby dávkové nasazení běžela na určité dostupné infrastruktuře (výpočetních prostředcích). Nasazení služby Batch mohou být spuštěna na jakýchkoli výpočetních prostředcích Machine Learning, které již v pracovním prostoru existují. Stejnou výpočetní infrastrukturu může sdílet několik dávkových nasazení.

V tomto článku pracujete na výpočetním clusteru Machine Learning s názvem cpu-cluster. Následující příklad ověří, že výpočetní prostředky existují v pracovním prostoru nebo vytvoří nový výpočetní objekt.

Vytvoření výpočetního clusteru:

az ml compute create -n batch-cluster --type amlcompute --min-instances 0 --max-instances 5

Vytvoření dávkového koncového bodu

K vytvoření koncového bodu potřebujete název a popis. Název koncového bodu se zobrazí v identifikátoru URI přidruženém k vašemu koncovému bodu, takže musí být jedinečný v rámci oblasti Azure. V regionu WestUS2 může být například pouze jeden dávkový koncový bod se jménem mybatchendpoint.

  1. Název koncového bodu umístěte do proměnné pro pozdější použití:

    Spusťte následující příkaz:

    ENDPOINT_NAME="heart-classifier"
    
  2. Vytvořte koncový bod:

    1. Pokud chcete vytvořit nový koncový bod, vytvořte YAML konfiguraci, jako je následující kód:

      endpoint.yml

      $schema: https://azuremlschemas.azureedge.net/latest/batchEndpoint.schema.json
      name: heart-classifier-batch
      description: A heart condition classifier for batch inference
      auth_mode: aad_token
      
    2. Pomocí následujícího příkazu vytvořte koncový bod:

      az ml batch-endpoint create -n $ENDPOINT_NAME -f endpoint.yml
      

Vytvoření dávkového nasazení

Modely MLflow nevyžadují, abyste při vytváření nasazení zadali prostředí nebo bodovací skript. Prostředí nebo skript pro hodnocení se vytvoří automaticky. Pokud ale chcete přizpůsobit způsob odvozování nasazení, můžete zadat prostředí nebo bodovací skript.

  1. Pokud chcete vytvořit nové nasazení v rámci vytvořeného koncového bodu, vytvořte YAML konfiguraci, jak je znázorněno v následujícím kódu. Můžete zkontrolovat, jestli schéma YAML celého dávkového koncového bodu obsahuje další vlastnosti.

    deployment-simple/deployment.yml

    $schema: https://azuremlschemas.azureedge.net/latest/modelBatchDeployment.schema.json
    endpoint_name: heart-classifier-batch
    name: classifier-xgboost-mlflow
    description: A heart condition classifier based on XGBoost
    type: model
    model: azureml:heart-classifier-mlflow@latest
    compute: azureml:batch-cluster
    resources:
      instance_count: 2
    settings:
      max_concurrency_per_instance: 2
      mini_batch_size: 2
      output_action: append_row
      output_file_name: predictions.csv
      retry_settings:
        max_retries: 3
        timeout: 300
      error_threshold: -1
      logging_level: info
    
  2. Vytvořte nasazení pomocí následujícího příkazu:

    az ml batch-deployment create --file deployment-simple/deployment.yml --endpoint-name $ENDPOINT_NAME --set-default
    

Důležité

timeout Nakonfigurujte hodnotu v nasazení na základě toho, jak dlouho trvá spuštění odvozování modelu v jedné dávce. Čím větší je velikost dávky, tím delší je hodnota timeout. Mějte na paměti, že mini_batch_size hodnota označuje počet souborů v dávce, nikoli počet vzorků. Při práci s tabulkovými daty může každý soubor obsahovat více řádků, což zvyšuje dobu potřebnou ke zpracování jednotlivých souborů v dávkovém koncovém bodu. V takových případech použijte vyšší hodnoty timeout, abyste se vyvarovali chybám časového limitu.

Vyvolání koncového bodu

I když můžete vyvolat konkrétní nasazení uvnitř koncového bodu, je běžné vyvolat samotný koncový bod a nechat koncový bod rozhodnout, které nasazení se má použít. Tento typ nasazení má název výchozí nasazení. Tento přístup umožňuje změnit výchozí nasazení, které umožňuje změnit model obsluhující nasazení beze změny kontraktu s uživatelem, který vyvolá koncový bod.

K aktualizaci výchozího nasazení použijte následující pokyny:

DEPLOYMENT_NAME="classifier-xgboost-mlflow"
az ml batch-endpoint update --name $ENDPOINT_NAME --set defaults.deployment_name=$DEPLOYMENT_NAME

Koncový bod dávky je teď připravený k použití.

Testujte nasazení

K otestování koncového bodu použijte ukázku neoznaených dat umístěných v tomto úložišti, která fungují s modelem. Koncové body služby Batch můžou zpracovávat pouze data umístěná v cloudu a přístupná z pracovního prostoru Machine Learning. V tomto příkladu nahrajete ukázku do úložiště dat Machine Learning. Vytvoříte datový prostředek, který použijete k vyvolání koncového bodu pro vyhodnocení. Mějte na paměti, že dávkové koncové body přijímají data, která můžete umístit do různých umístění.

  1. Nejprve vytvořte datový objekt. Datový prostředek se skládá ze složky s několika soubory CSV, které chcete zpracovat paralelně pomocí dávkových koncových bodů. Tento krok můžete přeskočit, pokud jsou vaše data už zaregistrovaná jako datový prostředek nebo chcete použít jiný vstupní typ.

    1. Vytvoření definice datového assetu v YAML:

      heart-dataset-unlabeled.yml

      $schema: https://azuremlschemas.azureedge.net/latest/data.schema.json
      name: heart-dataset-unlabeled
      description: An unlabeled dataset for heart classification.
      type: uri_folder
      path: data
      
    2. Vytvoření datového assetu:

      az ml data create -f heart-dataset-unlabeled.yml
      
  2. Po nahrání dat vyvoláte koncový bod.

    Návod

    V následujících příkazech si všimněte, že název nasazení není uveden v operaci invoke. Koncový bod automaticky směruje úlohu do výchozího nasazení, protože koncový bod má pouze jedno nasazení. Konkrétní nasazení můžete cílit tak, že uvedete argument/parametr deployment_name.

    Spusťte následující příkaz:

    JOB_NAME = $(az ml batch-endpoint invoke --name $ENDPOINT_NAME --input azureml:heart-dataset-unlabeled@latest --query name -o tsv)
    

    Poznámka:

    jq Nástroj nemusí být nainstalován v každé instalaci. Pokyny k instalaci najdete v tématu Stažení jq.

  3. Dávková úloha se spustí, jakmile příkaz vrátí. Stav úlohy můžete monitorovat, dokud se nedokončí:

    Spusťte následující příkaz:

    az ml job show -n $JOB_NAME --web
    

Analýza výstupů

Konfigurace nasazení určuje, že úloha generuje výstupní předpovědi v souborupredictions.csv . Úloha vytvoří výstup s názvem skóre a tento soubor tam umístí. Každá dávková úloha generuje pouze jeden soubor.

Soubor má následující strukturu:

  • Jeden řádek pro každý datový bod odeslaný do modelu. U tabulkových dat obsahuje soubor predictions.csv jeden řádek pro každý řádek, který je v každém zpracovaném souboru. U jiných datových typů (obrázky, zvuk, text) je pro každý zpracovaný soubor jeden řádek.

  • Soubor obsahuje následující sloupce v zadaném pořadí:

    • row (volitelné): Odpovídající index řádku ve vstupním datovém souboru. Tento sloupec platí jenom v případě, že jsou vstupní data tabulková. Předpovědi se vrátí ve stejném pořadí, v jakém se zobrazí ve vstupním souboru. Můžete se spolehnout na číslo řádku tak, aby odpovídalo odpovídající predikci.

    • prediction: Předpověď přidružená ke vstupním datům. Model vrátí tuto hodnotu "as-is" prostřednictvím své predict() funkce.

    • file_name: Název souboru, ve kterém se data čtou. V tabulkových datech můžete pomocí tohoto pole určit, které předpovědi patří do jednotlivých vstupních dat.

Výsledky úlohy si můžete stáhnout pomocí názvu úlohy.

K stažení předpovědí použijte následující příkaz:

az ml job download --name $JOB_NAME --output-name score --download-path ./

Po stažení souboru můžete soubor otevřít pomocí preferovaného nástroje pro úpravy. Následující příklad načte předpovědi pomocí datového pandas rámce.

import pandas as pd

score = pd.read_csv(
    "named-outputs/score/predictions.csv", names=["row", "prediction", "file"]
)

Výstup zobrazí tabulku:

Řádek Predikce Soubor
0 0 heart-unlabeled-0.csv
1 1 heart-unlabeled-0.csv
2 0 heart-unlabeled-0.csv
... ... ...
307 0 heart-unlabeled-3.csv

Návod

Všimněte si, že v tomto příkladu vstupní data obsahují tabulková data ve formátu CSV. Existují čtyři různé vstupní soubory: heart-unlabeled-0.csv, heart-unlabeled-1.csv, heart-unlabeled-2.csv a heart-unlabeled-3.csv.

Kontrola důležitých informací o dávkovém odvozování

Azure Machine Learning podporuje nasazení modelů MLflow do dávkových koncových bodů bez označení hodnoticího skriptu. Tento přístup představuje pohodlný způsob nasazení modelů, které vyžadují zpracování velkých objemů dat podobných dávkovému zpracování. Azure Machine Learning používá informace ve specifikaci modelu MLflow k orchestraci procesu odvozování.

Prozkoumání distribuce práce na pracovníky

Koncové body batch distribuují práci na úrovni souboru pro strukturovaná i nestrukturovaná data. V důsledku toho se pro tuto funkci podporují jenom soubory URI a složky URI. Každý pracovník zpracovává dávky Mini batch size souborů najednou. U tabulkových dat dávkové koncové body nezohledňují počet řádků v každém souboru při rozdělování práce.

Varování

Vnořené struktury složek se během odvozování neprobídnou. Pokud data rozdělíte pomocí složek, nezapomeňte před pokračováním strukturu zploštět.

Dávková nasazení volají funkci predict modelu MLflow jednou na každý soubor. U souborů CSV s více řádky může tato akce v podkladových výpočetních prostředcích tlačit na paměť. Toto chování zvyšuje dobu potřebnou k určení skóre jednoho souboru, zejména u drahých modelů, jako jsou velké jazykové modely. Pokud v protokolech dojde k několika výjimkám z nedostatku paměti nebo záznamům časového limitu, zvažte rozdělení dat do menších souborů s menším počtem řádků nebo implementaci dávkování na úrovni řádků uvnitř hodnoticího skriptu modelu.

Kontrola podpory typů souborů

Následující datové typy jsou podporovány pro dávkové odvozování při nasazování modelů MLflow bez prostředí nebo bodovacího skriptu. Pokud chcete zpracovat jiný typ souboru nebo provést odvození odlišně, můžete nasazení vytvořit přizpůsobením nasazení modelu MLflow pomocí hodnoticího skriptu.

Přípona souboru Typ vrácený jako vstup modelu Požadavek na podpis
.csv .parquet, .pqt pd.DataFrame ColSpec. Pokud nejsou zadány, nevynucuje se typování sloupců.
.png, .jpg, .jpeg, .tiff, , .bmp.gif np.ndarray TensorSpec. Vstup je upraven, aby odpovídal tvaru tenzorů, pokud je k dispozici. Pokud není k dispozici žádný podpis, odvozují se tensory typu np.uint8 . Další informace najdete v tématu Důležité informace o modelech MLflow zpracovávajících obrázky.

Varování

Jakýkoli nepodporovaný soubor, který může být součástí vstupních dat, způsobí selhání úlohy. V takových případech se zobrazí chyba podobná chybě ERROR:azureml:Error processing input file: '/mnt/batch/tasks/.../a-given-file.avro'. Typ souboru avro se nepodporuje.

Vysvětlení vynucení podpisu pro modely MLflow

Úlohy dávkového nasazení zajistí kontrolu vstupních datových typů při čtení dat s využitím podpisu modelu MLflow. V důsledku toho musí vstup dat vyhovovat typům uvedeným v podpisu modelu. Pokud se data nedají analyzovat podle očekávání, úloha selže s chybou podobnou CHYBA:azureml:Error processing input file: '/mnt/batch/tasks/.../a-given-file.csv'. Výjimka: neplatný literál int() se základnou 10: 'value'.

Návod

Podpisy v modelech MLflow jsou volitelné, ale důrazně se doporučuje. Poskytují pohodlný způsob, jak včas odhalit problémy s kompatibilitou dat. Další informace o tom, jak protokolovat modely s podpisy, najdete v tématu Modely protokolů, které používají vlastní podpis, prostředí nebo ukázky.

Podpis modelu modelu můžete zkontrolovat otevřením souboru přidruženého k vašemu MLmodel modelu MLflow. Další informace o tom, jak podpisy fungují v MLflow, najdete v tématu Podpisy v MLflow.

Prozkoumání podpory příchutí

Nasazení služby Batch podporují nasazování modelů MLflow pouze s příchutí pyfunc . Pokud chcete nasadit jinou variantu, přečtěte si téma Přizpůsobení nasazení modelu pomocí hodnoticího skriptu.

Přizpůsobení nasazení modelu pomocí hodnoticího skriptu

Modely MLflow můžete nasadit do dávkových koncových bodů bez označení hodnoticího skriptu v definici nasazení. Můžete se ale rozhodnout označit tento soubor (běžně označovaný jako dávkový ovladač) a přizpůsobit provádění inferenčního procesu.

Pro následující scénáře obvykle vyberte tento pracovní postup:

  • Zpracovat typy souborů, které dávková nasazení MLflow nepodporují.
  • Přizpůsobte si způsob, jakým model běží, například použitím konkrétní varianty pro jeho načtení pomocí funkce mlflow.<flavor>.load().
  • Dokončete předběžné nebo následné zpracování ve vašem běžném způsobu hodnocení, pokud model sám nedokončí.
  • Upravte prezentaci modelu, který se dobře nezobrazuje s tabulkovými daty, jako je například tenzorový graf, který představuje obrázek.
  • Povolit modelu čtení dat v blocích dat, protože nemůže zpracovat každý soubor najednou kvůli omezením paměti.

Důležité

Pokud chcete označit bodovací skript pro nasazení modelu MLflow, musíte zadat prostředí, ve kterém se nasazení spouští.

Použití hodnoticího skriptu

Pomocí následujících kroků nasaďte model MLflow s vlastním skriptem bodování:

  1. Určete složku, ve které je umístěn model MLflow.

    1. V nástroji Azure Machine Learning Studio přejděte na Modely.

    2. Vyberte model, který chcete nasadit, a pak vyberte kartu Artefakty .

    3. Poznamenejte si zobrazenou složku. Tuto složku jste označili při registraci modelu.

      Snímek obrazovky znázorňující složku, ve které jsou umístěné artefakty modelu

  2. Vytvořte bodovací skript. Všimněte si, jak je součástí model funkce název předchozí složkyinit().

    deployment-custom/code/batch_driver.py

    # Copyright (c) Microsoft. All rights reserved.
    # Licensed under the MIT license.
    
    import os
    import glob
    import mlflow
    import pandas as pd
    import logging
    
    
    def init():
        global model
        global model_input_types
        global model_output_names
    
        # AZUREML_MODEL_DIR is an environment variable created during deployment
        # It is the path to the model folder
        # Please provide your model's folder name if there's one
        model_path = glob.glob(os.environ["AZUREML_MODEL_DIR"] + "/*/")[0]
    
        # Load the model, it's input types and output names
        model = mlflow.pyfunc.load(model_path)
        if model.metadata and model.metadata.signature:
            if model.metadata.signature.inputs:
                model_input_types = dict(
                    zip(
                        model.metadata.signature.inputs.input_names(),
                        model.metadata.signature.inputs.pandas_types(),
                    )
                )
            if model.metadata.signature.outputs:
                if model.metadata.signature.outputs.has_input_names():
                    model_output_names = model.metadata.signature.outputs.input_names()
                elif len(model.metadata.signature.outputs.input_names()) == 1:
                    model_output_names = ["prediction"]
        else:
            logging.warning(
                "Model doesn't contain a signature. Input data types won't be enforced."
            )
    
    
    def run(mini_batch):
        print(f"run method start: {__file__}, run({len(mini_batch)} files)")
    
        data = pd.concat(
            map(
                lambda fp: pd.read_csv(fp).assign(filename=os.path.basename(fp)), mini_batch
            )
        )
    
        if model_input_types:
            data = data.astype(model_input_types)
    
        # Predict over the input data, minus the column filename which is not part of the model.
        pred = model.predict(data.drop("filename", axis=1))
    
        if pred is not pd.DataFrame:
            if not model_output_names:
                model_output_names = ["pred_col" + str(i) for i in range(pred.shape[1])]
            pred = pd.DataFrame(pred, columns=model_output_names)
    
        return pd.concat([data, pred], axis=1)
    
  3. Vytvořte prostředí, ve kterém lze spustit bodovací skript. Protože model v tomto příkladu je MLflow, požadavky na conda jsou také specifikovány v balíčku modelu. Další informace o modelech MLflow a zahrnutých souborech naleznete ve formátu MLmodel.

    V tomto kroku vytvoříte prostředí pomocí závislostí conda ze souboru. Musíte také zahrnout azureml-core balíček, který je nutný pro dávkové nasazení.

    Poznámka:

    Balíček azureml-core je součástí sady Azure Machine Learning SDK verze 1, která je od 31. března 2025 zastaralá s ukončením podpory 30. června 2026. Pro skripty bodování dávkového nasazení zůstává nezbytné jako provozní závislost.

    Návod

    Pokud jste model už zaregistrovali v registru modelů, můžete stáhnout a zkopírovat soubor přidružený k vašemu conda.yml modelu. Tento soubor najdete v nástroji Azure Machine Learning Studio v části Modely>Vyberte model ze seznamu>Artefakty. V kořenové složce vyberte conda.yml soubor a pak vyberte Stáhnout nebo zkopírovat jeho obsah.

    Důležité

    Tento příklad používá prostředí conda zadané na adrese /heart-classifier-mlflow/environment/conda.yaml. Tento soubor byl vytvořen kombinací původního souboru závislostí MLflow conda a přidáním azureml-core balíčku. Soubor conda.yml nemůžete použít přímo ze modelu.

    Samotná definice nasazení obsahuje definici prostředí jako anonymní prostředí. V nasazení se zobrazí následující řádky:

    environment:
      name: batch-mlflow-xgboost
      image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest
      conda_file: environment/conda.yaml
    
  4. Konfigurace nasazení:

    Pokud chcete vytvořit nové nasazení v rámci vytvořeného koncového bodu, vytvořte YAML konfiguraci, jak je znázorněno v následujícím fragmentu kódu. Další vlastnosti najdete ve schématu YAML celého dávkového koncového bodu.

    deployment-custom/deployment.yml

    $schema: https://azuremlschemas.azureedge.net/latest/modelBatchDeployment.schema.json
    endpoint_name: heart-classifier-batch
    name: classifier-xgboost-custom
    description: A heart condition classifier based on XGBoost
    type: model
    model: azureml:heart-classifier-mlflow@latest
    environment:
      name: batch-mlflow-xgboost
      image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest
      conda_file: environment/conda.yaml
    code_configuration:
      code: code
      scoring_script: batch_driver.py
    compute: azureml:batch-cluster
    resources:
      instance_count: 2
    settings:
      max_concurrency_per_instance: 2
      mini_batch_size: 2
      output_action: append_row
      output_file_name: predictions.csv
      retry_settings:
        max_retries: 3
        timeout: 300
      error_threshold: -1
      logging_level: info
    
  5. Vytvořte nasazení:

    Spusťte následující kód:

    az ml batch-deployment create --file deployment-custom/deployment.yml --endpoint-name $ENDPOINT_NAME
    

Koncový bod dávky je teď připravený k použití.

Uvolnění prostředků

Po dokončení cvičení odstraňte prostředky, které už nepotřebujete.

Spuštěním následujícího kódu odstraňte koncový bod batch a všechna podkladová nasazení:

az ml batch-endpoint delete --name $ENDPOINT_NAME --yes

Tento příkaz neodstraní dávkové skórovací úlohy.