Compartir a través de


Recursos de entrenamiento de Azure Model Builder

A continuación se muestra una guía para ayudarle a obtener más información sobre los recursos que se usan para entrenar modelos en Azure con Model Builder.

¿Qué es un experimento de Azure Machine Learning?

Un experimento de Azure Machine Learning es un recurso que debe crearse antes de ejecutar el entrenamiento del Generador de modelos en Azure.

El experimento encapsula la configuración y los resultados de una o varias ejecuciones de entrenamiento de aprendizaje automático. Los experimentos pertenecen a un área de trabajo específica. La primera vez que se crea un experimento, su nombre se registra en el área de trabajo. Las ejecuciones posteriores , si se usa el mismo nombre del experimento, se registran como parte del mismo experimento. De lo contrario, se crea un nuevo experimento.

¿Qué es un área de trabajo de Azure Machine Learning?

Un área de trabajo es un recurso de Azure Machine Learning que proporciona un lugar central para todos los recursos y artefactos de Azure Machine Learning creados como parte de la ejecución de entrenamiento.

Para crear un área de trabajo de Azure Machine Learning, se requieren lo siguiente:

  • Nombre: nombre del área de trabajo entre 3 y 33 caracteres. Los nombres solo pueden contener caracteres alfanuméricos y guiones.
  • Región: ubicación geográfica del centro de datos en el que se implementan el área de trabajo y los recursos. Se recomienda elegir una ubicación cercana a la ubicación donde usted o sus clientes estén.
  • Grupo de recursos: contenedor que contiene todos los recursos relacionados para una solución de Azure.

¿Qué es un proceso de Azure Machine Learning?

Un proceso de Azure Machine Learning es una máquina virtual Linux basada en la nube que se usa para el entrenamiento.

Para crear un proceso de Azure Machine Learning, se requieren los siguientes valores:

  • Nombre: un nombre para el proceso entre 2 y 16 caracteres. Los nombres solo pueden contener caracteres alfanuméricos y guiones.

  • Tamaño de proceso.

    Model Builder puede usar uno de los siguientes tipos de proceso optimizados para GPU:

    Tamaño vCPU Memoria: GiB GiB de almacenamiento temporal (SSD) GPU Memoria de GPU: GiB Número máximo de discos de datos Número máximo de NIC
    Standard_NC12 12 112 680 2 24 48 2
    Standard_NC24 24 224 1440 4 48 64 4

    Visite la documentación de máquina virtual Linux de la serie NC para obtener más información sobre los tipos de proceso optimizados para GPU.

  • Prioridad de proceso.

    • Prioridad baja: adecuado para tareas con tiempos de ejecución más cortos. Las tareas pueden verse afectadas por interrupciones y falta de disponibilidad. Esta opción suele costar menos porque aprovecha la capacidad sobrante en Azure.
    • Dedicado: adecuado para tareas de cualquier duración, pero especialmente trabajos de larga duración. Las tareas no se ven afectadas por interrupciones ni por falta de disponibilidad. Esta opción suele costar más porque reserva un conjunto dedicado de recursos de proceso en Azure para las tareas.

Adiestramiento

El entrenamiento en Azure solo está disponible para el escenario de clasificación de imágenes de Model Builder. El algoritmo usado para entrenar estos modelos es una red neuronal profunda basada en la arquitectura ResNet50. El proceso de entrenamiento tarda algún tiempo y la cantidad de tiempo puede variar en función del tamaño del proceso seleccionado, así como de la cantidad de datos. Para realizar un seguimiento del progreso de las ejecuciones, seleccione el vínculo "Supervisión de la ejecución actual en Azure Portal" en Visual Studio.

Resultados

Una vez completado el entrenamiento, se agregan dos proyectos a la solución con los siguientes sufijos:

  • ConsoleApp: una aplicación de consola de C# que proporciona código de inicio para compilar la canalización de predicción y realizar predicciones.

  • Modelo: una aplicación .NET Standard de C# que contiene los modelos de datos que definen el esquema de datos de datos de los datos del modelo de entrada y salida, así como los siguientes recursos:

    • bestModel.onnx: una versión serializada del modelo en formato Open Neural Network Exchange (ONNX). ONNX es un formato de código abierto para los modelos de IA que admite la interoperabilidad entre marcos como ML.NET, PyTorch y TensorFlow.
    • bestModelMap.json: lista de categorías usadas al realizar predicciones para asignar la salida del modelo a una categoría de texto.
    • MLModel.zip: una versión serializada de la canalización de predicción de ML.NET que usa la versión serializada del modelo bestModel.onnx para realizar predicciones y asignar salidas mediante el archivo bestModelMap.json.

Uso del modelo de Machine Learning

Las clases ModelInput y ModelOutput del proyecto Model definen el esquema de la entrada y salida esperadas del modelo, respectivamente.

En un escenario de clasificación de imágenes, el ModelInput contiene dos columnas:

  • ImageSource: ruta de acceso de cadena de la ubicación de la imagen.
  • Label: la categoría real a la que pertenece la imagen. Label solo se usa como entrada cuando se entrena y no es necesario proporcionar al realizar predicciones.

El ModelOutput contiene dos columnas:

  • Prediction: categoría de predicción de la imagen.
  • Score: la lista de probabilidades de todas las categorías (la más alta pertenece a la Prediction).

Solución de problemas

No se puede crear el proceso

Si se produce un error durante la creación del proceso de Azure Machine Learning, es posible que el recurso de proceso siga existiendo, en un estado con errores. Si intenta volver a crear el recurso de proceso con el mismo nombre, se produce un error en la operación. Para corregir este error, haga lo siguiente:

  • Creación del nuevo proceso con un nombre diferente
  • Vaya a Azure Portal y quite el recurso de proceso original.