En este artículo, aprenderá a implementar el modelo en un punto de conexión en línea para usarlo en inferencia en tiempo real. Para empezar, implemente un modelo en la máquina local para depurar los errores. A continuación, implementará y probará el modelo en Azure, verá los registros de implementación y supervisará el acuerdo de nivel de servicio (SLA). Al final de este artículo, tendrá un punto de conexión HTTPS/REST escalable que puede usar para la inferencia en tiempo real.
Los puntos de conexión en línea son puntos de conexión que se usan para las inferencias en tiempo real. Hay dos tipos de puntos de conexión en línea: puntos de conexión en línea administrados y puntos de conexión en línea de Kubernetes. Para más información sobre los puntos de conexión y las diferencias entre los puntos de conexión en línea administrados y los puntos de conexión en línea de Kubernetes, consulte ¿Qué son los puntos de conexión de Azure Machine Learning?.
Los puntos de conexión en línea administrados ayudan a implementar los modelos de aprendizaje automático de forma inmediata. Los puntos de conexión en línea administrados funcionan con máquinas eficaces de CPU y GPU en Azure de una manera escalable y totalmente administrada. Los puntos de conexión en línea administrados se encargan de atender, escalar, proteger y supervisar los modelos, lo que le libera de la sobrecarga de configurar y administrar la infraestructura subyacente.
En el ejemplo principal de este documento se usan puntos de conexión en línea administrados para la implementación. Para usar Kubernetes en su lugar, consulte las notas de este documento insertadas en la explicación de los puntos de conexión en línea administrados.
En los ejemplos de la CLI de este artículo se supone que usa el shell de Bash (o compatible). Por ejemplo, de un sistema Linux o Subsistema de Windows para Linux.
Los controles de acceso basado en rol de Azure (RBAC de Azure) se usan para conceder acceso a las operaciones en Azure Machine Learning. Para realizar los pasos descritos en este artículo, la cuenta de usuario debe tener asignado el rol de propietario o colaborador para el área de trabajo de Azure Machine Learning, o un rol personalizado que permita Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*. Si usa Studio para crear o administrar puntos de conexión o implementaciones en línea, necesitará un permiso adicional "Microsoft.Resources/deployments/write" del propietario del grupo de recursos. Para obtener más información, consulte Administración del acceso a un área de trabajo de Azure Machine Learning.
(Opcional) Para implementar localmente, debe instalar el motor de Docker en el equipo local. Se recomienda esta opción, para que sea más sencillo depurar los problemas.
Los controles de acceso basado en rol de Azure (RBAC de Azure) se usan para conceder acceso a las operaciones en Azure Machine Learning. Para realizar los pasos descritos en este artículo, la cuenta de usuario debe tener asignado el rol de propietario o colaborador para el área de trabajo de Azure Machine Learning, o un rol personalizado que permita Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*. Para obtener más información, consulte Administración del acceso a un área de trabajo de Azure Machine Learning.
(Opcional) Para implementar localmente, debe instalar el motor de Docker en el equipo local. Se recomienda esta opción, para que sea más sencillo depurar los problemas.
Antes de seguir los pasos de este artículo, asegúrese de que tiene los siguientes requisitos previos:
Un área de trabajo de Azure Machine Learning con una instancia de proceso. Si no tiene estos recursos y quiere crearlos, siga los pasos descritos en el artículo Inicio rápido: Creación de recursos de área de trabajo.
Los controles de acceso basado en rol de Azure (RBAC de Azure) se usan para conceder acceso a las operaciones en Azure Machine Learning. Para realizar los pasos descritos en este artículo, la cuenta de usuario debe tener asignado el rol de propietario o colaborador para el área de trabajo de Azure Machine Learning, o un rol personalizado que permita Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*. Para obtener más información, consulte Administración del acceso a un área de trabajo de Azure Machine Learning.
Nota
Aunque la CLI de Azure y la extensión de la CLI para el aprendizaje automático se usan en estos pasos, no son el foco principal. Se usan más como utilidades, pasando plantillas a Azure y comprobando el estado de las implementaciones de plantillas.
Antes de seguir los pasos de este artículo, asegúrese de que tiene los siguientes requisitos previos:
En los ejemplos de la CLI de este artículo se supone que usa el shell de Bash (o compatible). Por ejemplo, de un sistema Linux o Subsistema de Windows para Linux.
Los controles de acceso basado en rol de Azure (RBAC de Azure) se usan para conceder acceso a las operaciones en Azure Machine Learning. Para realizar los pasos descritos en este artículo, la cuenta de usuario debe tener asignado el rol de propietario o colaborador para el área de trabajo de Azure Machine Learning, o un rol personalizado que permita Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*. Para obtener más información, consulte Administración del acceso a un área de trabajo de Azure Machine Learning.
Asegúrese de que tiene asignada suficiente cuota de máquina virtual (VM) para la implementación. Azure Machine Learning reserva el 20 % de los recursos de proceso para realizar actualizaciones en algunas SKU de máquina virtual. Por ejemplo, si solicita 10 instancias en una implementación, debe tener una cuota de 12 para cada número de núcleos para la SKU de máquina virtual. Si no se tienen en cuenta los recursos de proceso adicionales, se produce un error. Hay algunas SKU de máquina virtual que están exentas de la reserva de cuota adicional. Para más información sobre la asignación de cuotas, consulte asignación de la cuota de máquina virtual para la implementación.
Como alternativa, podría usar la cuota del grupo de cuotas compartidas de Azure Machine Learning durante un tiempo limitado. Azure Machine Learning proporciona un grupo de cuotas compartido desde el que los usuarios de varias regiones pueden acceder a la cuota para realizar pruebas durante un tiempo limitado, en función de la disponibilidad.
Cuando se usa Studio para implementar modelos Llama-2, Phi, Nemotron, Mistral, Dolly y Deci-Deci-DeciLM desde el catálogo de modelos en un punto de conexión en línea administrado, Azure Machine Learning le permite acceder a su grupo de cuotas compartidas durante un breve tiempo para poder realizar pruebas. Para más información sobre el grupo de cuotas compartidas, consulte Cuota compartida de Azure Machine Learning.
Si aún no ha establecido los valores predeterminados de la CLI de Azure, guarde la configuración predeterminada. Para evitar pasar los valores de la suscripción, el área de trabajo y el grupo de recursos varias veces, ejecute este código:
az account set --subscription <subscription ID>
az configure --defaults workspace=<Azure Machine Learning workspace name> group=<resource group>
Clone el repositorio de ejemplos
Para seguir este artículo, primero clone el repositorio de ejemplos (azureml-examples). A continuación, ejecute el código siguiente para ir al directorio cli/ del repositorio:
git clone --depth 1 https://github.com/Azure/azureml-examples
cd azureml-examples
cd cli
Sugerencia
Use --depth 1 para clonar solamente la confirmación más reciente en el repositorio, lo cual reduce el tiempo para completar la operación.
Los comandos de este tutorial están en los archivos deploy-local-endpoint.sh y deploy-managed-online-endpoint.sh en el directorio cli, y los archivos de configuración YAML se encuentran en el subdirectorio endpoints/online/managed/sample/.
Nota
Los archivos de configuración de YAML para los puntos de conexión en línea de Kubernetes están en el endpoints/online/kubernetes/ subdirectorio.
Clone el repositorio de ejemplos
Para ejecutar los ejemplos de entrenamiento, primero clone el repositorio de ejemplos (azureml-examples) y cambie al directorio azureml-examples/sdk/python/endpoints/online/managed:
git clone --depth 1 https://github.com/Azure/azureml-examples
cd azureml-examples/sdk/python/endpoints/online/managed
Sugerencia
Use --depth 1 para clonar solamente la confirmación más reciente en el repositorio, lo cual reduce el tiempo para completar la operación.
La información de este artículo se basa en el cuaderno online-endpoints-simple-deployment.ipynb. Contiene el mismo contenido que este artículo, aunque el orden de los códigos es ligeramente diferente.
Conexión al área de trabajo de Azure Machine Learning
El área de trabajo es el recurso de nivel superior para Azure Machine Learning, que proporciona un lugar centralizado para trabajar con todos los artefactos que crea al usar Azure Machine Learning. En esta sección, se conectará al área de trabajo en la que realizará tareas de implementación. Para continuar, abra el cuaderno online-endpoints-simple-deployment.ipynb.
Importe las bibliotecas necesarias:
# import required libraries
from azure.ai.ml import MLClient
from azure.ai.ml.entities import (
ManagedOnlineEndpoint,
ManagedOnlineDeployment,
Model,
Environment,
CodeConfiguration,
)
from azure.identity import DefaultAzureCredential
Nota
Si usa el punto de conexión en línea de Kubernetes, importe la KubernetesOnlineEndpoint clase y KubernetesOnlineDeployment de la azure.ai.ml.entities biblioteca.
Configure los detalles del área de trabajo y obtenga un manipulador para el área de trabajo:
Para conectarse a un área de trabajo, necesita parámetros de identificador: una suscripción, un grupo de recursos y un nombre de área de trabajo. Estos detalles se usan en la MLClient de azure.ai.ml para obtener un identificador del área de trabajo de Azure Machine Learning necesaria. En este ejemplo, se usa la autenticación predeterminada de Azure.
# enter details of your Azure Machine Learning workspace
subscription_id = "<SUBSCRIPTION_ID>"
resource_group = "<RESOURCE_GROUP>"
workspace = "<AZUREML_WORKSPACE_NAME>"
# get a handle to the workspace
ml_client = MLClient(
DefaultAzureCredential(), subscription_id, resource_group, workspace
)
Si tiene Git instalado en el equipo local, puede seguir las instrucciones para clonar el repositorio de ejemplos. De lo contrario, siga las instrucciones para descargar archivos del repositorio de ejemplos.
Clone el repositorio de ejemplos
Para continuar con este artículo, primero clone el repositorio de ejemplos (azureml-examples) y, a continuación, cambie al directorio azureml-examples/cli/endpoints/online/model-1.
git clone --depth 1 https://github.com/Azure/azureml-examples
cd azureml-examples/cli/endpoints/online/model-1
Sugerencia
Use --depth 1 para clonar solamente la confirmación más reciente en el repositorio, lo cual reduce el tiempo para completar la operación.
Descarga de archivos del repositorio de ejemplos
Si ha clonado el repositorio de ejemplos, la máquina local ya tiene copias de los archivos de este ejemplo y puede pasar directamente a la sección siguiente. Si no ha clonado el repositorio, puede descargarlo en el equipo local.
Vaya al botón <> Code de la página y, a continuación, seleccione Download ZIP en la pestaña Local.
Busque la carpeta /cli/endpoints/online/model-1/model y el archivo /cli/endpoints/online/model-1/onlinescoring/score.py.
Establecimiento de variables de entorno
Establezca las siguientes variables de entorno, ya que se usan en los ejemplos de este artículo. Reemplace los valores por el identificador de suscripción de Azure, la región de Azure donde se encuentra el área de trabajo, el grupo de recursos que contiene el área de trabajo y el nombre del área de trabajo:
export SUBSCRIPTION_ID="your Azure subscription ID"
export LOCATION="Azure region where your workspace is located"
export RESOURCE_GROUP="Azure resource group that contains your workspace"
export WORKSPACE="Azure Machine Learning workspace name"
Un par de ejemplos de plantillas requieren que cargue archivos en el almacén de blobs de Azure para el área de trabajo. Los pasos siguientes consultan el área de trabajo y almacenan esta información en variables de entorno usadas en los ejemplos:
Para seguir este artículo, primero clone el repositorio de ejemplos (azureml-examples). A continuación, ejecute el código siguiente para ir al directorio de ejemplos:
git clone --depth 1 https://github.com/Azure/azureml-examples
cd azureml-examples
Sugerencia
Use --depth 1 para clonar solamente la confirmación más reciente en el repositorio, lo cual reduce el tiempo para completar la operación.
Definición del punto de conexión
Para definir un punto de conexión en línea, especifique el nombre del punto de conexión y el modo de autenticación. Para obtener más información sobre los puntos de conexión en línea administrados, consulte Puntos de conexión en línea.
Para establecer el nombre del punto de conexión, ejecute el siguiente comando. Reemplace YOUR_ENDPOINT_NAME por un nombre único en la región de Azure. Para más información acerca de las reglas de nomenclatura, consulte límites del punto de conexión.
Para Linux, ejecute este comando:
export ENDPOINT_NAME="<YOUR_ENDPOINT_NAME>"
Configuración del punto de conexión
El siguiente fragmento de código muestra el archivo endpoints/online/managed/sample/endpoint.yml:
(Opcional) El esquema de YAML. Para ver todas las opciones disponibles en el archivo YAML, puede ver el esquema del fragmento de código anterior en un explorador.
name
Nombre del punto de conexión.
auth_mode
Use key para la autenticación basada en claves. Use aml_token para la autenticación basada en tokens de Azure Machine Learning. Use aad_token para la autenticación basada en tokens de Microsoft Entra (versión preliminar). Para obtener más información sobre la autenticación, vea Autenticar clientes para puntos de conexión en línea.
Configuración de un punto de conexión
En primer lugar, defina el nombre del punto de conexión en línea y, a continuación, configure el punto de conexión.
El nombre del punto de conexión debe ser único en la región de Azure. Para más información acerca de las reglas de nomenclatura, consulte límites del punto de conexión.
# Define an endpoint name
endpoint_name = "my-endpoint"
# Example way to define a random name
import datetime
endpoint_name = "endpt-" + datetime.datetime.now().strftime("%m%d%H%M%f")
# create an online endpoint
endpoint = ManagedOnlineEndpoint(
name = endpoint_name,
description="this is a sample endpoint",
auth_mode="key"
)
El código anterior usa key para la autenticación basada en claves. Para usar la autenticación basada en tokens de Azure Machine Learning, use aml_token. Para usar la autenticación basada en tokens de Microsoft Entra (versión preliminar), use aad_token. Para obtener más información sobre la autenticación, vea Autenticar clientes para puntos de conexión en línea.
Configuración de un punto de conexión
Al implementar en Azure desde Studio, creará un punto de conexión y una implementación para agregarlo. En ese momento, se le pedirá que proporcione nombres para el punto de conexión y la implementación.
Establecimiento de un nombre de punto de conexión
Para establecer el nombre del punto de conexión, ejecute el siguiente comando. Reemplace YOUR_ENDPOINT_NAME por un nombre único en la región de Azure. Para más información acerca de las reglas de nomenclatura, consulte límites del punto de conexión.
Para Linux, ejecute este comando:
export ENDPOINT_NAME=endpoint-`echo $RANDOM`
Configuración del punto de conexión
Para definir el punto de conexión y la implementación, en este artículo se usan las plantillas de Azure Resource Manager online-endpoint.json y online-endpoint-deployment.json. Para usar las plantillas para definir un punto de conexión en línea y una implementación, consulte la sección Implementación en Azure.
Definir la implementación
Una implementación es un conjunto de recursos necesarios para hospedar el modelo que realiza la inferencia real. En este ejemplo, implementará un modelo scikit-learn que realiza la regresión y usará un script de puntuación score.py para ejecutar el modelo en una solicitud de entrada determinada.
Para obtener información sobre los atributos clave de una implementación, consulte Implementaciones en línea.
Configuración de una implementación
La configuración de implementación usa la ubicación del modelo que desea implementar.
El fragmento de código siguiente muestra el archivo endpoints/online/managed/sample/blue-deployment.yml con todas las entradas necesarias para configurar una implementación:
El archivo blue-deployment.yml especifica los siguientes atributos de implementación:
model: especifica las propiedades del modelo insertadas mediante el path (desde dónde cargar los archivos). La CLI carga automáticamente los archivos de modelo y registra el modelo con un nombre generado automáticamente.
environment: mediante definiciones insertadas que incluyen dónde cargar los archivos, la CLI carga automáticamente el archivo conda.yaml y registra el entorno. Más adelante, para compilar el entorno, la implementación usa image (en este ejemplo, es mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest) para la imagen base y las dependencias de conda_file se instalan encima de la imagen base.
code_configuration: durante la implementación, los archivos locales, como el origen de Python para el modelo de puntuación, se cargan desde el entorno de desarrollo.
Para usar puntos de conexión de Kubernetes en lugar de puntos de conexión en línea administrados como destino de proceso:
Cree el clúster de Kubernetes y asócielo como destino de proceso al área de Azure Machine Learning mediante Estudio de Azure Machine Learning.
Utilice el archivo YAML de punto de conexión para usar Kubernetes como destino en lugar del archivo YAML del punto de conexión administrado. Debe editar el archivo YAML para cambiar el valor de compute por el nombre del destino de proceso registrado. Puede usar este archivo deployment.yaml que tiene propiedades adicionales aplicables a una implementación de Kubernetes.
Todos los comandos que se usan en este artículo para los puntos de conexión en línea administrados también se aplican a los puntos de conexión de Kubernetes, excepto las siguientes funcionalidades que no se aplican a los puntos de conexión de Kubernetes:
Model : especifica las propiedades del modelo insertadas mediante el path (desde dónde cargar los archivos). El SDK carga automáticamente los archivos de modelo y registra el modelo con un nombre generado automáticamente.
Environment: mediante definiciones insertadas que incluyen dónde cargar los archivos, el SDK carga automáticamente el archivo conda.yaml y registra el entorno. Más adelante, para compilar el entorno, la implementación usa image (en este ejemplo, es mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest) para la imagen base y las dependencias de conda_file se instalan encima de la imagen base.
CodeConfiguration: durante la implementación, los archivos locales, como el origen de Python para el modelo de puntuación, se cargan desde el entorno de desarrollo.
Para obtener más información sobre la definición de implementación en línea, vea Clase OnlineDeployment.
Configuración de una implementación
Al implementar en Azure, creará un punto de conexión y una implementación para agregarlo. En ese momento, se le pedirá que proporcione nombres para el punto de conexión y la implementación.
Configurar la implementación
Para definir el punto de conexión y la implementación, en este artículo se usan las plantillas de Azure Resource Manager online-endpoint.json y online-endpoint-deployment.json. Para usar las plantillas para definir un punto de conexión en línea y una implementación, consulte la sección Implementación en Azure.
Descripción del script de puntuación
Sugerencia
El formato del script de puntuación para los puntos de conexión en línea es el mismo que se usaba en la versión anterior de la CLI y en el SDK de Python.
El script de puntuación especificado en code_configuration.scoring_script debe tener una función init() y una función run().
El script de puntuación deberá tener una función init() y una función run().
El script de puntuación deberá tener una función init() y una función run().
El script de puntuación deberá tener una función init() y una función run(). En este artículo se usa el archivo score.py.
Al usar una plantilla para la implementación, primero debe cargar los archivos de puntuación en un almacén de blobs de Azure y, a continuación, registrarlos:
El código siguiente usa el comando az storage blob upload-batch de la CLI de Azure para cargar los archivos de puntuación:
az storage blob upload-batch -d $AZUREML_DEFAULT_CONTAINER/score -s cli/endpoints/online/model-1/onlinescoring --account-name $AZURE_STORAGE_ACCOUNT
El código siguiente registra el código mediante una plantilla:
az deployment group create -g $RESOURCE_GROUP \
--template-file arm-templates/code-version.json \
--parameters \
workspaceName=$WORKSPACE \
codeAssetName="score-sklearn" \
codeUri="https://$AZURE_STORAGE_ACCOUNT.blob.core.windows.net/$AZUREML_DEFAULT_CONTAINER/score"
import os
import logging
import json
import numpy
import joblib
def init():
"""
This function is called when the container is initialized/started, typically after create/update of the deployment.
You can write the logic here to perform init operations like caching the model in memory
"""
global model
# AZUREML_MODEL_DIR is an environment variable created during deployment.
# It is the path to the model folder (./azureml-models/$MODEL_NAME/$VERSION)
# Please provide your model's folder name if there is one
model_path = os.path.join(
os.getenv("AZUREML_MODEL_DIR"), "model/sklearn_regression_model.pkl"
)
# deserialize the model file back into a sklearn model
model = joblib.load(model_path)
logging.info("Init complete")
def run(raw_data):
"""
This function is called for every invocation of the endpoint to perform the actual scoring/prediction.
In the example we extract the data from the json input and call the scikit-learn model's predict()
method and return the result back
"""
logging.info("model 1: request received")
data = json.loads(raw_data)["data"]
data = numpy.array(data)
result = model.predict(data)
logging.info("Request processed")
return result.tolist()
Se llama a la función init() cuando se inicializa o se inicia el contenedor. La inicialización suele producirse poco después de crear o actualizar la implementación. La función init es el lugar para escribir lógica para operaciones de inicialización global, como almacenar en caché el modelo en memoria (como se muestra en este archivo score.py).
Se llama a la función run() cada vez que se invoca el punto de conexión y realiza la puntuación y predicción reales. En este archivo score.py, la función run() extrae datos de una entrada JSON, llama al método predict() del modelo scikit-learn y, a continuación, devuelve el resultado de la predicción.
Implementación y depuración local mediante un punto de conexión local
Se recomienda encarecidamente que pruebe el punto de conexión localmente para validar y depurar el código y la configuración antes de implementarlo en Azure. La CLI de Azure y el SDK de Python admiten puntos de conexión e implementaciones locales, mientras que las plantillas de ARM y Estudio de Azure Machine Learning, no.
Para realizar la implementación localmente, deberá tener instalado y ejecutándose el motor de Docker. Este motor normalmente se inicia cuando se inicia el equipo. Si no lo hace, puede solucionar el problema aquí.
Sugerencia
Puede usar el paquete de Python del servidor HTTP de inferencia de Azure Machine Learning para depurar el script de puntuación localmente sin Docker Engine. La depuración con el servidor de inferencia le ayuda a depurar el script de puntuación antes de implementar en los puntos de conexión locales para que pueda depurar sin verse afectado por las configuraciones del contenedor de implementación.
En primer lugar, cree un punto de conexión. Opcionalmente, en el caso de un punto de conexión local, puede omitir este paso y crear directamente la implementación (paso siguiente), lo que, a su vez, crea los metadatos necesarios. La implementación de modelos localmente es útil para fines de desarrollo y pruebas.
Studio no admite puntos de conexión locales. Consulte las pestañas de la CLI de Azure o Python para ver los pasos para probar el punto de conexión localmente.
La plantilla no admite puntos de conexión locales. Consulte las pestañas de la CLI de Azure o Python para ver los pasos para probar el punto de conexión localmente.
Ahora cree una implementación de nombre blue en el punto de conexión.
La marca local=True indica al SDK que implemente el punto de conexión en el entorno de Docker.
Studio no admite puntos de conexión locales. Consulte las pestañas de la CLI de Azure o Python para ver los pasos para probar el punto de conexión localmente.
La plantilla no admite puntos de conexión locales. Consulte las pestañas de la CLI de Azure o Python para ver los pasos para probar el punto de conexión localmente.
Studio no admite puntos de conexión locales. Consulte las pestañas de la CLI de Azure o Python para ver los pasos para probar el punto de conexión localmente.
La plantilla no admite puntos de conexión locales. Consulte las pestañas de la CLI de Azure o Python para ver los pasos para probar el punto de conexión localmente.
La tabla siguiente contiene los posibles valores para provisioning_state:
Valor
Descripción
Creating
Se está creando el recurso.
Actualizando
Se está actualizando el recurso.
Eliminando
Se está eliminando el recurso.
Correcto
La operación de creación o actualización se realizó correctamente.
Con error
Error en la operación de creación, actualización y eliminación.
Invocación del punto de conexión local para puntuar los datos con el modelo
Invoque el punto de conexión para puntuar el modelo mediante el comando invoke y pasar parámetros de consulta almacenados en un archivo JSON:
az ml online-endpoint invoke --local --name $ENDPOINT_NAME --request-file endpoints/online/model-1/sample-request.json
Si desea usar un cliente REST (como curl), debe tener el URI de puntuación. Para obtener el identificador URI de puntuación, ejecute az ml online-endpoint show --local -n $ENDPOINT_NAME. En los datos devueltos, busque el atributo scoring_uri.
Invoque el punto de conexión para puntuar el modelo mediante el comando invoke y pasar parámetros de consulta almacenados en un archivo JSON.
Si desea usar un cliente REST (como curl), debe tener el URI de puntuación. Para obtener el URI de puntuación, ejecute el código siguiente. En los datos devueltos, busque el atributo scoring_uri.
Studio no admite puntos de conexión locales. Consulte las pestañas de la CLI de Azure o Python para ver los pasos para probar el punto de conexión localmente.
La plantilla no admite puntos de conexión locales. Consulte las pestañas de la CLI de Azure o Python para ver los pasos para probar el punto de conexión localmente.
Revisión de los registros para obtener la salida de la operación de invocación
En el archivo score.py de ejemplo, el método run() registra alguna salida en la consola.
Studio no admite puntos de conexión locales. Consulte las pestañas de la CLI de Azure o Python para ver los pasos para probar el punto de conexión localmente.
La plantilla no admite puntos de conexión locales. Consulte las pestañas de la CLI de Azure o Python para ver los pasos para probar el punto de conexión localmente.
Implementación del punto de conexión en línea en Azure
A continuación, implemente el punto de conexión en línea en Azure. Como procedimiento recomendado para producción, se recomienda registrar el modelo y el entorno que usará en la implementación.
Registro del modelo y el entorno
Se recomienda registrar el modelo y el entorno antes de la implementación en Azure para que pueda especificar sus nombres y versiones registrados durante la implementación. El registro de los recursos le permite reutilizarlos sin necesidad de cargarlos cada vez que cree implementaciones, lo que aumenta la reproducibilidad y la rastreabilidad.
Nota:
A diferencia de la implementación en Azure, la implementación local no admite el uso de modelos y entornos registrados. En su lugar, la implementación local usa archivos de modelo local y usa entornos solo con archivos locales.
Para la implementación en Azure, puede usar recursos locales o registrados (modelos y entornos). En esta sección del artículo, la implementación en Azure usa recursos registrados, pero tiene la opción de usar recursos locales en su lugar. Para obtener un ejemplo de una configuración de implementación que carga los archivos locales que se van a usar para la implementación local, consulte Configuración de una implementación.
Para registrar el modelo y el entorno, use el formulario model: azureml:my-model:1 o environment: azureml:my-env:1.
Para el registro, puede extraer las definiciones de YAML de model y environment en archivos YAML diferentes y usar los comandos az ml model create y az ml environment create. Para más información sobre estos comandos, ejecute az ml model create -h y az ml environment create -h.
from azure.ai.ml.entities import Model
from azure.ai.ml.constants import AssetTypes
file_model = Model(
path="../../model-1/model/",
type=AssetTypes.CUSTOM_MODEL,
name="my-model",
description="Model created from local file.",
)
ml_client.models.create_or_update(file_model)
Registre el entorno:
from azure.ai.ml.entities import Environment
env_docker_conda = Environment(
image="mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04",
conda_file="../../model-1/environment/conda.yaml",
name="my-env",
description="Environment created from a Docker image plus Conda environment.",
)
ml_client.environments.create_or_update(env_docker_conda)
Un registro de modelo es una entidad lógica en el área de trabajo que puede contener un único archivo de modelo o un directorio de varios archivos. Como procedimiento recomendado para producción, debe registrar el modelo y el entorno. Antes de crear el punto de conexión y la implementación en este artículo, debe registrar la carpeta del modelo que contiene el modelo.
Para registrar el modelo de ejemplo, siga estos pasos:
En la barra de navegación izquierda, seleccione la página Models (Modelos).
Seleccione Registrar y, luego, De archivos locales.
Seleccione Tipo no especificado en Tipo de modelo.
Seleccione Examinar y elija Examinar carpeta.
Seleccione la carpeta \azureml-examples\cli\endpoints\online\model-1\model de la copia local del repositorio que ha clonado o descargado anteriormente. Cuando se le solicite, seleccione Cargar y espere a que se complete la carga.
Seleccione Siguiente una vez completada la carga de la carpeta.
Escriba un nombre descriptivo para el modelo. En los pasos de este artículo se supone que el modelo se llama model-1.
Seleccione Next y, luego, Register para completar el registro.
En la barra de navegación izquierda, seleccione la página Entornos.
Seleccione Crear.
En la página "Configuración", proporcione un nombre, como my-env para el entorno.
En "Seleccionar origen de entorno", elija Utilizar la imagen Docker existente con el archivo conda opcional.
Seleccione Siguiente para ir a la página "Personalizar".
Copie el contenido del archivo \azureml-examples\cli\endpoints\online\model-1\environment\conda.yaml de la copia local del repositorio que ha clonado o descargado anteriormente.
Pegue el contenido en el cuadro de texto.
Seleccione Siguiente hasta llegar a la página "Revisar".
Seleccione Crear.
Para obtener más información sobre cómo crear un entorno en Studio, consulte Creación de un entorno.
Para registrar el modelo mediante una plantilla, primero debe cargar el archivo de modelo en un almacén de blobs de Azure. En el ejemplo siguiente se usa el comando az storage blob upload-batch para cargar un archivo en el almacenamiento predeterminado del área de trabajo:
az storage blob upload-batch -d $AZUREML_DEFAULT_CONTAINER/model -s cli/endpoints/online/model-1/model --account-name $AZURE_STORAGE_ACCOUNT
Después de cargar el archivo, use la plantilla para crear un registro de modelo. En el ejemplo siguiente, el parámetro modelUri contiene la ruta de acceso al modelo:
az deployment group create -g $RESOURCE_GROUP \
--template-file arm-templates/model-version.json \
--parameters \
workspaceName=$WORKSPACE \
modelAssetName="sklearn" \
modelUri="azureml://subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP/workspaces/$WORKSPACE/datastores/$AZUREML_DEFAULT_DATASTORE/paths/model/sklearn_regression_model.pkl"
Parte del entorno es un archivo conda que especifica las dependencias del modelo necesarias para hospedar el modelo. En el ejemplo siguiente se muestra cómo leer el contenido del archivo conda en variables de entorno:
En el ejemplo siguiente se muestra cómo usar la plantilla para registrar el entorno. El contenido del archivo conda del paso anterior se pasa a la plantilla mediante el parámetro condaFile:
Use los recursos registrados (modelo y entorno) en la definición de implementación. En el fragmento de código siguiente se muestra el archivo endpoints/online/managed/sample/blue-deployment-with-registered-assets.yml, con todas las entradas necesarias para configurar una implementación:
Al implementar desde Studio, creará un punto de conexión y una implementación para agregarlo. En ese momento, se le pedirá que proporcione nombres para el punto de conexión y la implementación.
Para definir el punto de conexión y la implementación, en este artículo se usan las plantillas de Azure Resource Manager online-endpoint.json y online-endpoint-deployment.json. Para usar las plantillas para definir un punto de conexión en línea y una implementación, consulte la sección Implementación en Azure.
Uso de diferentes tipos de instancia de CPU y GPU e imágenes
Puede especificar los tipos de instancia de CPU o GPU e imágenes en la definición de implementación para la implementación local y la implementación en Azure.
La definición de implementación en el archivo blue-deployment-with-registered-assets.yml usó una instancia de tipo de uso general Standard_DS3_v2 y una imagen de Docker que no es de GPU mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest. Para el proceso de GPU, elija una SKU de tipo de proceso de GPU y una imagen de Docker de GPU.
Puede especificar los tipos de instancia de CPU o GPU e imágenes en la configuración de implementación para la implementación local y la implementación en Azure.
Anteriormente, configuró una implementación que usaba una instancia Standard_DS3_v2 de tipo de uso general y una imagen de Docker mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest que no es de GPU. Para el proceso de GPU, elija una SKU de tipo de proceso de GPU y una imagen de Docker de GPU.
Al usar Studio para implementar en Azure, se le pedirá que especifique las propiedades de proceso (tipo de instancia y recuento de instancias) y el entorno que se usará para la implementación.
El registro anterior del entorno especifica una imagen mcr.microsoft.com/azureml/openmpi3.1.2-ubuntu18.04 de Docker que no es de GPU pasando el valor a la plantilla environment-version.json mediante el parámetro dockerImage. Para un proceso de GPU, proporcione un valor para una imagen de Docker de GPU a la plantilla (mediante el parámetro dockerImage) y proporcione una SKU de tipo de proceso de GPU a la plantilla online-endpoint-deployment.json (mediante el parámetro skuName).
az ml online-endpoint create --name $ENDPOINT_NAME -f endpoints/online/managed/sample/endpoint.yml
Cree la implementación denominada blue en el punto de conexión.
az ml online-deployment create --name blue --endpoint $ENDPOINT_NAME -f endpoints/online/managed/sample/blue-deployment-with-registered-assets.yml --all-traffic
La creación de la implementación puede tardar hasta 15 minutos, en función de si el entorno o la imagen subyacentes se compilan por primera vez. Las implementaciones posteriores que usan el mismo entorno se procesan más rápido.
Sugerencia
Si prefiere no bloquear la consola de la CLI, puede agregar la marca --no-wait al comando. Sin embargo, esta opción detendrá la presentación interactiva del estado de implementación.
Importante
La marca --all-traffic en el código az ml online-deployment create que se usa para crear la implementación asigna el 100 % del tráfico del punto de conexión a la implementación azul recién creada. Aunque esto resulta útil para fines de desarrollo y pruebas, para producción, es posible que quiera enrutar el tráfico a la nueva implementación a través de un comando explícito. Por ejemplo, az ml online-endpoint update -n $ENDPOINT_NAME --traffic "blue=100".
Creación del punto de conexión:
Con el endpoint que definió anteriormente y el MLClient que creó anteriormente, ahora puede crear el punto de conexión en el área de trabajo. Este comando inicia la creación del punto de conexión y devuelve una respuesta de confirmación mientras continúa la creación del punto de conexión.
Con el blue_deployment_with_registered_assets que definió anteriormente y la MLClient que creó anteriormente, ahora puede crear la implementación en el área de trabajo. Este comando inicia la creación de la implementación y devuelve una respuesta de confirmación mientras continúa la creación de la implementación.
Si prefiere no bloquear la consola de Python, puede agregar la marca no_wait=True a los parámetros. Sin embargo, esta opción detendrá la presentación interactiva del estado de implementación.
Creación de un punto de conexión en línea administrado y la implementación
Use Estudio para crear un punto de conexión en línea administrado directamente en el explorador. Al crear un punto de conexión en línea administrado en Estudio, debe definir una implementación inicial. No puede crear un punto de conexión en línea administrado vacío.
Una forma de crear un punto de conexión en línea administrado en el estudio es desde la página Modelos. Este método también ofrece una manera sencilla de agregar un modelo a una implementación en línea administrada existente. Para implementar el modelo denominado model-1 que registró anteriormente en la sección Registrar el modelo y el entorno:
En la barra de navegación izquierda, seleccione la página Models (Modelos).
Seleccione el modelo denominado model-1; para ello, marque el círculo situado junto a su nombre.
Seleccione Implementar>Punto de conexión en tiempo real.
Con esta acción se abre una ventana en la que puede especificar detalles sobre el punto de conexión.
Escriba un nombre de punto de conexión único en la región de Azure. Para más información acerca de las reglas de nomenclatura, consulte límites del punto de conexión.
Mantenga la selección predeterminada: Administrada para el tipo de proceso.
Mantenga la selección predeterminada: autenticación basada en claves para el tipo de autenticación. Para obtener más información sobre la autenticación, vea Autenticar clientes para puntos de conexión en línea.
Seleccione Siguiente hasta que llegue a la página "Implementación". Aquí, cambie Diagnósticos de Application Insights a Habilitado para permitirle ver gráficos de las actividades del punto de conexión en Estudio más adelante y analizar métricas y registros mediante Application Insights.
Seleccione Siguiente para ir a la pestaña "Código y entorno". En esta pestaña, seleccione las opciones siguientes:
Seleccione un script de puntuación para la inferencia: examine y seleccione el archivo \azureml-examples\cli\endpoints\online\model-1\onlinescoring\score.py del repositorio que ha clonado o descargado anteriormente.
Sección Seleccionar entorno: seleccione Entornos personalizados y, a continuación, seleccione el entorno my-env:1 que creó anteriormente.
Seleccione Next y acepte los valores predeterminados hasta que se le pida que cree la implementación.
Revise la configuración de la implementación y seleccione el botón Crear.
Como alternativa, puede crear un punto de conexión en línea administrado desde la página Puntos de conexión del estudio.
En la barra de navegación izquierda, seleccione la página Endpoints (Puntos de conexión).
Seleccione + Create (+ Crear).
Esta acción abre una ventana para seleccionar el modelo y especificar detalles sobre el punto de conexión y la implementación. Escriba la configuración del punto de conexión y la implementación como se ha descrito anteriormente y, a continuación Cree la implementación.
Use la plantilla para crear un punto de conexión en línea:
Enumere todos los puntos de conexión del área de trabajo en un formato de tabla mediante el método list:
for endpoint in ml_client.online_endpoints.list():
print(endpoint.name)
El método devuelve la lista (iterador) de las entidades ManagedOnlineEndpoint.
Puede obtener más información especificando más parámetros. Por ejemplo, genere la lista de puntos de conexión como una tabla:
print("Kind\tLocation\tName")
print("-------\t----------\t------------------------")
for endpoint in ml_client.online_endpoints.list():
print(f"{endpoint.kind}\t{endpoint.location}\t{endpoint.name}")
Visualizar puntos de conexión en línea administrados
Puede ver todos los puntos de conexión en línea administrados en la página Puntos de conexión. Vaya a la página Detalles del punto de conexión para encontrar información crítica, incluidos el URI del punto de conexión, el estado, las herramientas de prueba, los monitores de actividad, los registros de implementación y el código de consumo de ejemplo:
En la barra de navegación de la izquierda, seleccione Puntos de conexión. Aquí puede ver una lista de todos los puntos de conexión del área de trabajo.
(Opcional) En Filter (Filtro) cree un filtro por Compute type (Tipo de proceso) para mostrar solo los tipos de proceso Managed (Administrado).
Seleccione el nombre de un punto de conexión para ver la página Detalles correspondiente.
Sugerencia
Aunque las plantillas son útiles para implementar recursos, no se pueden usar para enumerar, mostrar ni invocar recursos. Use la CLI de Azure, el SDK de Python o Studio para realizar estas operaciones. El código siguiente usa la CLI de Azure.
Use el comando show para mostrar información en el provisioning_state para el punto de conexión y la implementación:
az ml online-endpoint show -n $ENDPOINT_NAME
Enumere todos los puntos de conexión del área de trabajo en un formato de tabla mediante el comando list:
az ml online-endpoint list --output table
Comprobación del estado de la implementación en línea
Compruebe los registros para ver si el modelo se implementó sin errores.
Para ver la salida del registro de un contenedor, use el siguiente comando de la CLI:
az ml online-deployment get-logs --name blue --endpoint $ENDPOINT_NAME
De forma predeterminada, los registros se extraen del contenedor del servidor de inferencia. Para ver los registros del contenedor del inicializador de almacenamiento, agregue la marca --container storage-initializer. Para más información sobre los registros de implementación, consulte Obtención de registros de contenedor.
Puede ver la salida del registro mediante el método get_logs:
De forma predeterminada, los registros se extraen del contenedor del servidor de inferencia. Para ver los registros del contenedor del inicializador de almacenamiento, agregue la opción container_type="storage-initializer". Para más información sobre los registros de implementación, consulte Obtención de registros de contenedor.
Para ver la salida del registro, seleccione la pestaña Registros en la página del punto de conexión. Si tuviera varias implementaciones en el punto de conexión, use la lista desplegable para seleccionar la implementación cuyo registro desee ver.
De forma predeterminada, los registros se extraerán del servidor de inferencia. Para ver los registros del contenedor del inicializador de almacenamiento, use la CLI de Azure o el SDK de Python (consulte cada pestaña para más información). Los registros del contenedor del inicializador de almacenamiento proporcionan información sobre si el código y los datos del modelo se descargaron correctamente en el contenedor. Para más información sobre los registros de implementación, consulte Obtención de registros de contenedor.
Sugerencia
Aunque las plantillas son útiles para implementar recursos, no se pueden usar para enumerar, mostrar ni invocar recursos. Use la CLI de Azure, el SDK de Python o Studio para realizar estas operaciones. El código siguiente usa la CLI de Azure.
Para ver la salida del registro de un contenedor, use el siguiente comando de la CLI:
az ml online-deployment get-logs --name blue --endpoint $ENDPOINT_NAME
De forma predeterminada, los registros se extraen del contenedor del servidor de inferencia. Para ver los registros del contenedor del inicializador de almacenamiento, agregue la marca --container storage-initializer. Para más información sobre los registros de implementación, consulte Obtención de registros de contenedor.
Invocación del punto de conexión para puntuar los datos con el modelo
Use el comando invoke o un cliente REST de su elección para invocar el punto de conexión y puntuar algunos datos:
az ml online-endpoint invoke --name $ENDPOINT_NAME --request-file endpoints/online/model-1/sample-request.json
Obtenga la clave que se usa para autenticarse en el punto de conexión:
Sugerencia
Puede controlar qué entidades de seguridad de Microsoft Entra pueden obtener la clave de autenticación mediante su asignación a un rol personalizado que permita Microsoft.MachineLearningServices/workspaces/onlineEndpoints/token/action y Microsoft.MachineLearningServices/workspaces/onlineEndpoints/listkeys/action. Para más información sobre cómo administrar la autorización en las áreas de trabajo, consulte Administración del acceso a un área de trabajo de Azure Machine Learning.
ENDPOINT_KEY=$(az ml online-endpoint get-credentials -n $ENDPOINT_NAME -o tsv --query primaryKey)
Use curl para puntuar los datos.
SCORING_URI=$(az ml online-endpoint show -n $ENDPOINT_NAME -o tsv --query scoring_uri)
curl --request POST "$SCORING_URI" --header "Authorization: Bearer $ENDPOINT_KEY" --header 'Content-Type: application/json' --data @endpoints/online/model-1/sample-request.json
Observe que usa los comandos show y get-credentials para obtener las credenciales de autenticación. Observe también que usa la marca --query para filtrar solo los atributos necesarios. Para más información sobre la marca de --query, consulte Consulta de la salida del comando de la CLI de Azure.
Para ver los registros de invocación, vuelva a ejecutar get-logs.
Con el MLClient creado anteriormente, obtenga un identificador para el punto de conexión. A continuación, se puede invocar el punto de conexión mediante el comando invoke con los parámetros siguientes:
endpoint_name: nombre del punto de conexión.
request_file: archivo con los datos de la solicitud.
deployment_name: nombre de la implementación específica que se va a probar en un punto de conexión
Envíe una solicitud de ejemplo mediante un archivo json.
# test the blue deployment with some sample data
ml_client.online_endpoints.invoke(
endpoint_name=endpoint_name,
deployment_name="blue",
request_file="../model-1/sample-request.json",
)
Use la pestaña Prueba de la página "Detalles" del punto de conexión para probar la implementación en línea administrada. Escriba la entrada de ejemplo y vea los resultados.
Seleccione la pestaña Test (Prueba) en la página de detalles del punto de conexión.
Use la lista desplegable para seleccionar la implementación que desea probar.
Aunque las plantillas son útiles para implementar recursos, no se pueden usar para enumerar, mostrar ni invocar recursos. Use la CLI de Azure, el SDK de Python o Studio para realizar estas operaciones. El código siguiente usa la CLI de Azure.
Use el comando invoke o un cliente REST de su elección para invocar el punto de conexión y puntuar algunos datos:
az ml online-endpoint invoke --name $ENDPOINT_NAME --request-file cli/endpoints/online/model-1/sample-request.json
Si quiere actualizar el código, el modelo o el entorno, actualice el archivo YAML y ejecute el comando az ml online-endpoint update.
Nota
Si actualiza el recuento de instancias (para escalar la implementación) junto con otras configuraciones del modelo (como código, modelo o entorno) en un solo comando update: se realizará la operación de escalado en primer lugar y, luego, se aplicarán las demás actualizaciones. Se recomienda realizar estas operaciones por separado en un entorno de producción.
Para comprender cómo funciona update:
Abra el archivo online/model-1/onlinescoring/score.py.
Cambie la última línea de la función init(): después de logging.info("Init complete"), agregue logging.info("Updated successfully").
Guarde el archivo.
Ejecute este comando:
az ml online-deployment update -n blue --endpoint $ENDPOINT_NAME -f endpoints/online/managed/sample/blue-deployment-with-registered-assets.yml
Nota:
La actualización mediante YAML es declarativa. Es decir, los cambios en el archivo YAML se reflejan en los recursos de Azure Resource Manager subyacentes (puntos de conexión e implementaciones). El enfoque declarativo facilita GitOps: Todos los cambios en los puntos de conexión o implementaciones (incluso instance_count) pasan por YAML.
Sugerencia
Puede usar parámetros de actualización genéricos, como el parámetro --set, con el comando de la CLI update para invalidar atributos en YAML o para establecer atributos específicos sin pasarlos en el archivo YAML. El uso de --set para atributos únicos es especialmente valioso en escenarios de implementación y pruebas. Por ejemplo, para escalar verticalmente el valor de instance_count de la primera implementación, podría usar la marca --set instance_count=2. Sin embargo, como YAML no está actualizado, esta técnica no facilita GitOps.
La especificación del archivo YAML NO es obligatoria. Por ejemplo, si deseara probar una configuración de simultaneidad diferente para una implementación determinada, podría probar algo parecido a az ml online-deployment update -n blue -e my-endpoint --set request_settings.max_concurrent_requests_per_instance=4 environment_variables.WORKER_COUNT=4. Esto mantendrá toda la configuración existente, pero actualizará solo los parámetros especificados.
Dado que ha modificado la función init(), que se ejecuta cuando se crea o actualiza el punto de conexión, el mensaje Updated successfully estará en los registros. Recupere los registros ejecutando:
az ml online-deployment get-logs --name blue --endpoint $ENDPOINT_NAME
El comando update también funciona con implementaciones locales. Use el mismo comando az ml online-deployment update con la marca --local.
Si desea actualizar el código, el modelo o el entorno, actualice la configuración y ejecute el método online_deployments.begin_create_or_update de MLClient para crear o actualizar una implementación.
Nota
Si actualiza el recuento de instancias (para escalar la implementación) junto con otras configuraciones del modelo (como código, modelo o entorno) en un solo método begin_create_or_update: se realizará la operación de escalado en primer lugar y, luego, se aplicarán las demás actualizaciones. Se recomienda realizar estas operaciones por separado en un entorno de producción.
Para comprender cómo funciona begin_create_or_update:
Abra el archivo online/model-1/onlinescoring/score.py.
Cambie la última línea de la función init(): después de logging.info("Init complete"), agregue logging.info("Updated successfully").
Dado que ha modificado la función init(), que se ejecuta cuando se crea o actualiza el punto de conexión, el mensaje Updated successfully estará en los registros. Recupere los registros ejecutando:
El método begin_create_or_update también funciona con implementaciones locales. Use el mismo método con la marca local=True.
Actualmente, Studio permite realizar actualizaciones solo en el recuento de instancias de una implementación. Use las instrucciones siguientes para ajustar el número de instancias para ampliar o reducir una implementación individual:
Abra la página Detalles del punto de conexión y busque la tarjeta de la implementación que desee actualizar.
Seleccione el icono de edición (icono de lápiz) situado junto al nombre de la implementación.
Actualice el recuento de instancias asociado a la implementación. Puede elegir entre Predeterminado o Uso de destino para "Tipo de escala de implementación".
Si selecciona Predeterminado, también especificará un valor numérico para el recuento de instancias.
Si selecciona Uso de destino, podrá especificar valores que se usarán para los parámetros al escalar automáticamente la implementación.
Seleccione Actualizar para finalizar la actualización de los recuentos de instancias de la implementación.
Actualmente no hay ninguna opción para actualizar la implementación mediante una plantilla de ARM.
Nota:
La actualización de la implementación en esta sección es un ejemplo de una actualización gradual local.
En el caso de un punto de conexión en línea administrado, la implementación se actualizará a la nueva configuración con un 20 % de nodos a la vez. Es decir, si la implementación tiene 10 nodos, se actualizan 2 nodos a la vez.
Para un punto de conexión en línea de Kubernetes, el sistema crea de forma iterativa una nueva instancia de implementación con la nueva configuración y elimina la antigua.
Para uso de producción, debería considerar la implementación azul-verde, que ofrece una alternativa más segura para actualizar un servicio web.
(Opcional) Configuración de la escalabilidad automática
La escalabilidad automática ejecuta automáticamente la cantidad adecuada de recursos para controlar la carga en la aplicación. Los puntos de conexión administrados en línea admiten la escalabilidad automática mediante la integración con la característica de escalabilidad automática de Azure Monitor. Para configurar la escalabilidad automática, vea Escalabilidad automática de puntos de conexión en línea.
(Opcional) Supervisión del Acuerdo de Nivel de Servicio mediante Azure Monitor
Para ver las métricas y establecer alertas en función del Acuerdo de Nivel de Servicio, complete los pasos que se describen en Supervisión de puntos de conexión en línea.
(Opcional) Integración con Log Analytics
El comando get-logs para la CLI o el método get_logs para el SDK solo proporciona los últimos cientos de líneas de registros de una instancia seleccionada automáticamente. Sin embargo, Log Analytics proporciona una manera de almacenar y analizar los registros de forma duradera. Para más información sobre el uso del registro, consulte Supervisión de puntos de conexión en línea.
Eliminación del punto de conexión y la implementación
Si no va a usar el punto de conexión ni la implementación, debería eliminarlos. Al eliminar el punto de conexión, también se eliminan todas sus implementaciones subyacentes.
En la barra de navegación izquierda, seleccione la página Endpoints (Puntos de conexión).
Seleccione el círculo situado junto al punto de conexión para elegirlo.
Seleccione Eliminar.
Como alternativa, para eliminar un punto de conexión en línea administrado directamente, puede seleccionar el icono Eliminar en la página de detalles del punto de conexión.
Elimine el punto de conexión y todas sus implementaciones subyacentes:
az ml online-endpoint delete --name $ENDPOINT_NAME --yes --no-wait