¿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.

Azure Machine Learning tiene distintas modalidades de soporte técnico en los diferentes destinos de proceso. 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

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 un trabajo. 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
Proceso sin servidor de Azure Machine Learning
Instancia de proceso de Azure Machine Learning Sí (mediante el SDK)
Kubernetes de Azure Machine Learning
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    

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.

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 afecta 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 Descripción
Puntos de conexión de Azure Machine Learning Inferencia en tiempo real

Inferencia por lotes
Procesos totalmente administrados para puntuación en tiempo real (puntos de conexión en línea administrados) y por lotes (puntos de conexión por lotes) en proceso sin servidor.
Kubernetes de Azure Machine Learning Inferencia en tiempo real

Inferencia por lotes
Ejecute cargas de trabajo de inferencia en clústeres de Kubernetes en el entorno local, en la nube y perimetrales.
Destino de proceso Se usa para Compatibilidad con GPU 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.
Kubernetes de Azure Machine Learning Inferencia en tiempo real Ejecute cargas de trabajo de inferencia en la nube.
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.

Solo es adecuado para los modelos de menos de 1 GB de tamaño.

Se admite en el diseñador.

Nota

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.

Proceso de Azure Machine Learning (administrado)

Azure Machine Learning crea y administra los recursos de proceso administrados. Dicho proceso está optimizado para cargas de trabajo de aprendizaje automático. Los clústeres de procesos, los procesos sin servidor y las instancias de procesos de Azure Machine Learning son los únicos procesos administrados.

No es necesario crear un proceso sin servidor. Puede crear instancias de procesos o clústeres de procesos de Azure Machine Learning con cualquiera de las siguientes opciones:

Nota:

En lugar de crear un clúster de proceso, use el proceso sin servidor para descargar la administración del ciclo de vida de proceso en Azure Machine Learning.

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 un trabajo
Administración del clúster automático y programación de trabajos
Es compatible con recursos de CPU y GPU

Nota

Para evitar cargos cuando el proceso está inactivo:

Series y tamaños de maquina virtual compatibles

Importante

Si la instancia de proceso o los clústeres de proceso se basan en cualquiera de estas series, vuelva a crear con otro tamaño de máquina virtual antes de su fecha de retirada para evitar la interrupción del servicio.

Estas series se retirarán el 31 de agosto de 2023:

Estas series se retirarán el 31 de agosto de 2024:

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 VM, como GPU y otras SKU especiales, pueden no aparecer inicialmente en la lista de VM disponibles. Pero todavía puede usarlas, una vez que solicite un cambio de cuota. Para obtener más información sobre cómo solicitar cuotas, consulte Solicitud de cuota y límite aumenta. Consulte la tabla siguiente para más información sobre las series admitidas.
Series de maquinas virtuales compatibles Categoría Compatible con
DDSv4 Uso general Clústeres de proceso e instancia
Dv2 Uso general Clústeres de proceso e instancia
Dv3 Uso general Clústeres de proceso e instancia
DSv2 Uso general Clústeres de proceso e instancia
DSv3 Uso general Clústeres de proceso e instancia
EAv4 Memoria optimizada Clústeres de proceso e instancia
Ev3 Memoria optimizada Clústeres de proceso e instancia
ESv3 Memoria optimizada Clústeres de proceso e instancia
FSv2 Proceso optimizado Clústeres de proceso e instancia
FX Proceso optimizado Clústeres de proceso
H Informática de alto rendimiento Clústeres de proceso e instancia
HB Informática de alto rendimiento Clústeres de proceso e instancia
HBv2 Informática de alto rendimiento Clústeres de proceso e instancia
HBv3 Informática de alto rendimiento Clústeres de proceso e instancia
HC Informática de alto rendimiento Clústeres de proceso e instancia
LSv2 Almacenamiento optimizado Clústeres de proceso e instancia
M Memoria optimizada Clústeres de proceso e instancia
NC GPU Clústeres de proceso e instancia
NC Promo GPU Clústeres de proceso e instancia
NCv2 GPU Clústeres de proceso e instancia
NCv3 GPU Clústeres de proceso e instancia
ND GPU Clústeres de proceso e instancia
NDv2 GPU Clústeres de proceso e instancia
NV GPU Clústeres de proceso e instancia
NVv3 GPU Clústeres de proceso e instancia
NCasT4_v3 GPU Clústeres de proceso e instancia
NDasrA100_v4 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 enumerar los tamaños de máquina virtual disponibles, use el siguiente método:

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:

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 es 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:

  • Máquinas virtuales remotas
  • HDInsight de Azure
  • Azure Databricks
  • Análisis con Azure Data Lake

Para más información, consulte Administración de recursos de proceso.

Paso siguiente