¿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:
- 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.
- Escalar verticalmente a datos más grandes o realizar un entrenamiento distribuido mediante el uso de uno de estos destinos de proceso de entrenamiento.
- 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 | Sí | ||
Clúster de proceso de Azure Machine Learning | Sí | Sí | Sí |
Proceso sin servidor de Azure Machine Learning | Sí | Sí | Sí |
Instancia de proceso de Azure Machine Learning | Sí (mediante el SDK) | Sí | Sí |
Kubernetes de Azure Machine Learning | Sí | Sí | |
Máquina virtual remota | Sí | Sí | |
Grupos de Apache Spark (versión preliminar) | Sí (solo en el modo local del SDK) | Sí | |
Azure Databricks | Sí (solo en el modo local del SDK) | Sí | |
Análisis con Azure Data Lake | Sí | ||
HDInsight de Azure | Sí | ||
Azure Batch | Sí |
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 |
Sí | 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 |
Sí | 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 | Sí | 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.
Implementación y puntuación de un modelo de Machine Learning mediante un punto de conexión en lí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:
- Estudio de Azure Machine Learning
- El SDK de Python y la CLI de Azure:
- Una plantilla de Azure Resource Manager Para ver una plantilla de ejemplo, consulte Creación de un clúster de proceso de Azure Machine Learning.
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:
- Para un clúster de proceso, asegúrese de que el número mínimo de nodos esté establecido en 0 o use el proceso sin servidor.
- Para una instancia de proceso, habilite el apagado inactivo. Si bien detener la instancia de proceso detiene la facturación de las horas de proceso, se le seguirá facturando por el disco, la dirección IP pública y el equilibrador de carga estándar.
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.
Estas series se retiraron el 31 de agosto de 2023:
Estas series se retiraron 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 enumerar los tamaños de máquina virtual disponibles admitidos por tipos de máquina virtual de proceso específicos, 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:
- En el caso de PyTorch, puede comprobar la compatibilidad visitando la página de versiones anteriores de PyTorch.
- En el caso de TensorFlow, puede comprobar la compatibilidad visitando la compilación de TensorFlow desde la página de origen.
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.