¿Qué son los destinos de proceso en Azure Machine Learning?

Un destino de proceso es un entorno o recurso de proceso designado en el que se ejecuta el script de entrenamiento o se hospeda la implementación del servicio. Esta ubicación podría ser su equipo local o un recurso de proceso basado en la nube. El uso de los destinos de proceso facilita el cambio posterior del entorno de proceso sin tener que cambiar el código.

En un ciclo de vida de desarrollo de modelos típico, puede:

  1. Comenzar desarrollando y experimentando con una pequeña cantidad de datos. En esta etapa, use su entorno local, como un equipo local o una máquina virtual (VM) basada en la nube, como destino de proceso.
  2. Escalar verticalmente a datos más grandes o realizar un entrenamiento distribuido mediante el uso de uno de estos destinos de proceso de entrenamiento.
  3. Después de que el modelo esté listo, impleméntelo en un entorno de hospedaje web con uno de estos destinos de proceso de implementación.

Los recursos de proceso que use para los destinos de proceso están asociados a un área de trabajo. Los usuarios del área de trabajo comparten los recursos de proceso que no sean el equipo local.

Entrenamiento de destinos de proceso

Azure Machine Learning tiene distintas modalidades de soporte técnico en los diferentes destinos de proceso. Un ciclo de vida de desarrollo de modelos típico comienza con el desarrollo o la experimentación en una pequeña cantidad de datos. En esta etapa, use un entorno local, como el equipo local o una máquina virtual basada en la nube. A medida que escala verticalmente el entrenamiento a conjuntos de datos grandes o realiza el entrenamiento distribuido, use un proceso de Azure Machine Learning para crear un clúster con uno o varios nodos que se escala automáticamente cada vez que se envía una ejecución. También puede adjuntar su propio recurso de proceso, aunque el soporte técnico para escenarios distintos puede variar.

Los destinos de proceso se pueden reutilizar de un trabajo de entrenamiento al siguiente. Por ejemplo, después de adjuntar una VM remota al área de trabajo, puede reutilizarla para varios trabajos. En el caso de las canalizaciones de aprendizaje automático, use el paso de canalización adecuado para cada destino de proceso.

Puede usar cualquiera de los siguientes recursos para un destino de proceso de entrenamiento para la mayoría de los trabajos. No todos los recursos se pueden usar para el aprendizaje automático automatizado, canalizaciones de aprendizaje automático o el diseñador. Azure Databricks se puede usar como un recurso de entrenamiento para ejecuciones locales y canalizaciones de aprendizaje automático, pero no como destino remoto de otro entrenamiento.

 Objetivos del aprendizaje Aprendizaje automático automatizado Canalizaciones de aprendizaje automático Diseñador de Azure Machine Learning
Equipo local    
Clúster de proceso de Azure Machine Learning
Instancia de proceso de Azure Machine Learning Sí (mediante el SDK)
Máquina virtual remota  
Grupos de Apache Spark (versión preliminar) Sí (solo en el modo local del SDK)  
Azure Databricks Sí (solo en el modo local del SDK)  
Análisis con Azure Data Lake    
HDInsight de Azure    
Azure Batch    
Azure Kubernetes Service (versión preliminar)
Kubernetes habilitado para Azure Arc (versión preliminar)

Sugerencia

La instancia de proceso tiene un disco de SO de 120 GB. Si se queda sin espacio en disco, use el terminal para borrar al menos entre 1 y 2 GB antes de detener o reiniciar la instancia de proceso.

Obtenga más información sobre cómo enviar una ejecución de entrenamiento a un destino de proceso.

Destinos de proceso para inferencia

Al realizar la inferencia, Azure Machine Learning crea un contenedor de Docker que hospeda el modelo y los recursos asociados necesarios para utilizarlo. A continuación, este contenedor se usa en un destino de proceso.

El destino de proceso que use para hospedar el modelo afectará al costo y la disponibilidad del punto de conexión implementado. Use esta tabla para elegir un destino de proceso adecuado.

Destino de proceso Se usa para Compatibilidad con GPU Compatibilidad con FPGA Descripción
Servicio web local Pruebas y depuración     Se usa para pruebas limitadas y solución de problemas. La aceleración de hardware depende del uso de bibliotecas en el sistema local.
Azure Kubernetes Service (AKS) Inferencia en tiempo real

Recomendad para las cargas de trabajo de producción.
(implementación del servicio web) Se usa para las implementaciones de producción a gran escala. Proporciona un tiempo de respuesta rápido y el escalado automático del servicio implementado. No se admite el escalado automático de clúster a través del SDK de Azure Machine Learning. Para cambiar los nodos del clúster de AKS, use la interfaz de usuario para el clúster de AKS en Azure Portal.

Se admite en el diseñador.
Azure Container Instances Inferencia en tiempo real

Recomendado solo con fines de desarrollo y pruebas.
    Se usa para cargas de trabajo basadas en CPU a pequeña escala que requieren menos de 48 GB de RAM. No requiere que administre un clúster.

Se admite en el diseñador.
Clústeres de proceso de Azure Machine Learning Inferencia de lote  (canalización de aprendizaje automático)   Ejecute la puntuación por lotes en un proceso sin servidor. Admite máquinas virtuales de prioridad normal y baja. No se admite la inferencia en tiempo real.
Kubernetes habilitado para Azure Arc Inferencia en tiempo real

Inferencia por lotes
N/D Ejecute cargas de trabajo de inferencia en clústeres de Kubernetes locales, en la nube y perimetrales administrados en Azure Arc

Nota

Aunque los destinos de proceso locales y los clústeres de proceso de Azure Machine Learning, admiten GPU para el entrenamiento y la experimentación, el uso de la GPU para la inferencia cuando se implementa como un servicio web solo se admite en AKS.

El uso de una GPU para la inferencia cuando se realiza la puntuación con una canalización de aprendizaje automático solo se admite en el proceso de Azure Machine Learning.

Al elegir una SKU de clúster, primero realice el escalado vertical y, luego, el horizontal. Comience con una máquina que tenga el 150 % de la RAM que necesita el modelo, genere un perfil del resultado y busque una máquina que tenga el rendimiento que necesita. Cuando haya aprendido a hacer esto, aumente el número de máquinas para que se adapten a su necesidad de inferencia simultánea.

Nota

  • Las instancias de contenedor solo son adecuadas para modelos pequeños con un tamaño inferior a 1 GB.
  • Use clústeres de AKS de nodo único para el desarrollo y las pruebas de modelos más grandes.

Aprenda dónde y cómo implementar el modelo en un destino de proceso.

Proceso de Azure Machine Learning (administrado)

Azure Machine Learning crea y administra un recurso de proceso administrado. Dicho proceso está optimizado para cargas de trabajo de Machine Learning. Los clústeres de procesos y las instancias de procesos de Azure Machine Learning son los únicos procesos administrados.

Puede crear instancias de procesos o clústeres de procesos de Azure Machine Learning con cualquiera de las siguientes opciones:

Cuando se crean, estos recursos de proceso forman parte automáticamente del área de trabajo, a diferencia de otros tipos de destinos de proceso.

Capacidad Clúster de proceso Instancia de proceso
Clúster de uno o varios nodos Clúster de un solo nodo
Se escala automáticamente cada vez que se envía una ejecución
Administración del clúster automático y programación de trabajos
Es compatible con recursos de CPU y GPU

Nota

Cuando un clúster de proceso está inactivo, se escala automáticamente a 0 nodos, por lo que no paga cuando no se usa. Una instancia de proceso está siempre activa y no se escala automáticamente. Debe detener la instancia de proceso cuando no la esté usando para evitar costos adicionales.

Series y tamaños de maquina virtual compatibles

Al seleccionar un tamaño de nodo para un recurso de proceso administrado en Azure Machine Learning, puede elegir entre varios tamaños de máquina virtual disponibles en Azure. Azure ofrece una variedad de tamaños para Windows y Linux para diferentes cargas de trabajo. Para más información, consulte Tamaños de las máquinas virtuales Linux en Azure.

Hay algunas excepciones y limitaciones a la hora de elegir un tamaño de máquina virtual:

  • Algunas series de máquinas virtuales no se admiten en Azure Machine Learning.
  • Algunas series de máquinas virtuales están restringidas. Para usar una serie restringida, póngase en contacto con el soporte técnico y solicite un aumento de la cuota para la serie. Para información sobre cómo ponerse en contacto con el soporte técnico, consulte Opciones de soporte técnico de Azure.

Consulte la tabla siguiente para más información sobre las series admitidas y las restricciones.

Series de maquinas virtuales compatibles Restricciones Categoría Compatible con
DDSv4 Ninguno. Uso general Clústeres de proceso e instancia
Dv2 Ninguno. Uso general Clústeres de proceso e instancia
Dv3 Ninguno. Uso general Clústeres de proceso e instancia
DSv2 Ninguno. Uso general Clústeres de proceso e instancia
DSv3 Ninguno. Uso general Clústeres de proceso e instancia
EAv4 Ninguno. Memoria optimizada Clústeres de proceso e instancia
Ev3 Ninguno. Memoria optimizada Clústeres de proceso e instancia
FSv2 Ninguno. Proceso optimizado Clústeres de proceso e instancia
FX Requiere aprobación. Proceso optimizado Clústeres de proceso
H Ninguno. Informática de alto rendimiento Clústeres de proceso e instancia
HB Requiere aprobación. Informática de alto rendimiento Clústeres de proceso e instancia
HBv2 Requiere aprobación. Informática de alto rendimiento Clústeres de proceso e instancia
HBv3 Requiere aprobación. Informática de alto rendimiento Clústeres de proceso e instancia
HC Requiere aprobación. Informática de alto rendimiento Clústeres de proceso e instancia
LSv2 Ninguno. Almacenamiento optimizado Clústeres de proceso e instancia
M Requiere aprobación. Memoria optimizada Clústeres de proceso e instancia
NC Ninguno. GPU Clústeres de proceso e instancia
NC Promo Ninguno. GPU Clústeres de proceso e instancia
NCv2 Requiere aprobación. GPU Clústeres de proceso e instancia
NCv3 Requiere aprobación. GPU Clústeres de proceso e instancia
ND Requiere aprobación. GPU Clústeres de proceso e instancia
NDv2 Requiere aprobación. GPU Clústeres de proceso e instancia
NV Ninguno. GPU Clústeres de proceso e instancia
NVv3 Requiere aprobación. GPU Clústeres de proceso e instancia
NCasT4_v3 Requiere aprobación. GPU Clústeres de proceso e instancia
NDasrA100_v4 Requiere aprobación. GPU Clústeres de proceso e instancia

Aunque Azure Machine Learning admite estas series de máquinas virtuales, puede que no estén disponibles en todas las regiones de Azure. Para comprobar si las series de máquinas virtuales están disponibles o no, consulte Productos disponibles por región.

Nota

Azure Machine Learning no es compatible con todos los tamaños de máquina virtual que admite Azure Compute. Para una lista de los tamaños de máquina virtual disponibles, use uno de los métodos siguientes:

Si usa los destinos de proceso habilitados para GPU, es importante asegurarse de que se han instalado los controladores CUDA correctos en el entorno de entrenamiento. Use la tabla siguiente para determinar la versión correcta de CUDA que se usará:

Arquitectura de GPU Serie de máquinas virtuales de Azure Versiones de CUDA admitidas
Ampere NDA100_v4 Versión 11.0 y posteriores
Turing NCT4_v3 10.0+
Volta NCv3, NDv2 9.0+
Pascal NCv2, ND 9.0+
Maxwell NV, NVv3 9.0+
Kepler NC, NC Promo 9.0+

Además de garantizar que la versión de CUDA y el hardware sean compatibles, también asegúrese de que la versión de CUDA sea compatible con la versión del marco de aprendizaje automático que utiliza:

  • Para PyTorch, puede comprobar la compatibilidad aquí.
  • Para Tensorflow, puede comprobar la compatibilidad aquí.

Aislamiento de proceso

El proceso de Azure Machine Learning ofrece tamaños de máquina virtual que están aislados para un tipo concreto de hardware y dedicados a un solo cliente. Los tamaños de máquina virtual aislados son más adecuados para cargas de trabajo que requieren un alto grado de aislamiento de otros clientes por motivos como, por ejemplo, el cumplimiento normativo y de requisitos legales. Usar un tamaño aislado garantiza que la máquina virtual será la única que se ejecute en esa instancia de servidor específica.

Las ofertas de máquinas virtuales aisladas actuales incluyen:

  • Standard_M128ms
  • Standard_F72s_v2
  • Standard_NC24s_v3
  • Standard_NC24rs_v3*

*Compatible con RDMA

Para más información sobre el aislamiento, consulte Aislamiento en la nube pública de Azure.

Proceso no administrado

Azure Machine Learning no administra un destino de proceso no administrado. Cree este tipo de destino de proceso fuera de Azure Machine Learning y luego adjúntelo al área de trabajo. Estos recursos de proceso no administrados pueden requerir pasos adicionales para mantener o mejorar el rendimiento de las cargas de trabajo de Machine Learning.

Azure Machine Learning admite los siguientes tipos de proceso no administrado:

  • Equipo local
  • Máquinas virtuales remotas
  • HDInsight de Azure
  • Azure Batch
  • Azure Databricks
  • Análisis con Azure Data Lake
  • Azure Container Instances
  • Azure Kubernetes Service y Kubernetes habilitado para Azure Arc (versión preliminar)

Para más información, consulte Configuración de destinos de proceso para el entrenamiento y la implementación de modelos.

Pasos siguientes

Obtenga información sobre cómo: