¿Qué es una instancia de proceso de Azure Machine Learning?

Una instancia de proceso de Azure Machine Learning es una estación de trabajo administrada basada en la nube para científicos de datos. Cada instancia de proceso solo tiene un propietario, aunque puede compartir archivos entre varias instancias de proceso.

Las instancias de proceso permiten que sea fácil comenzar a desarrollar con Azure Machine Learning y proporcionan funcionalidades de administración y preparación empresarial para los administradores de TI.

Use una instancia de proceso como el entorno de desarrollo completamente configurado y administrado en la nube para el aprendizaje automático. También se pueden usar como destino de proceso para el entrenamiento y la inferencia con fines de desarrollo y pruebas.

Para que la funcionalidad de Jupyter de instancia de proceso haga su trabajo, asegúrese de que la comunicación de socket web no esté deshabilitada. Asegúrese de que la red permita las conexiones WebSocket a *.instances.azureml.net e *.instances.azureml.ms.

Importante

Los elementos marcados (versión preliminar) en este artículo se encuentran actualmente en versión preliminar pública. Se ofrece la versión preliminar sin Acuerdo de Nivel de Servicio y no se recomienda para cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que tengan sus funcionalidades limitadas. Para más información, consulte Términos de uso complementarios de las Versiones Preliminares de Microsoft Azure.

¿Por qué usar una instancia de proceso?

Una instancia de proceso es una estación de trabajo totalmente administrada basada en la nube optimizada para el entorno de desarrollo de aprendizaje automático. Proporciona las siguientes ventajas:

Ventajas principales Descripción
Productividad Puede compilar e implementar modelos con cuadernos integrados y las siguientes herramientas en Azure Machine Learning Studio:
- Jupyter
- JupyterLab
- VS Code (versión preliminar)
La instancia de proceso está totalmente integrada con el área de trabajo y estudio de Azure Machine Learning. Puede compartir cuadernos y datos con otros científicos de datos en el área de trabajo.
Administrada & segura Reduzca la superficie de seguridad y agregue compatibilidad con los requisitos de seguridad empresariales. Las instancias de proceso proporcionan directivas de administración sólidas y configuraciones de red seguras, como:

- Aprovisionamiento automático a partir de plantillas de Resource Manager o del SDK de Azure Machine Learning
- Control de acceso basado en rol de Azure (RBAC de Azure)
- Compatibilidad con redes virtuales
- Directiva de Azure para deshabilitar el acceso SSH
- Directiva de Azure para aplicar la creación en una red virtual
- Apagado automático/inicio automático según la programación
- TLS 1.2 habilitado
Preconfigurado para ML Ahorre tiempo en las tareas de configuración con paquetes de ML preconfigurados y actualizados, marcos de aprendizaje profundo y controladores de GPU.
Totalmente personalizable La amplia compatibilidad con los tipos de máquina virtual de Azure, incluidas las GPU y la personalización de bajo nivel persistente, como la instalación de paquetes y controladores, hace que los escenarios avanzados sean muy sencillos. También puede usar scripts de instalación para automatizar la personalización.

Herramientas y entornos

La estancia de proceso Azure Machine Learning permite crear, formar e implementar modelos en una experiencia de cuaderno completamente integrada en el área de trabajo.

Puede ejecutar cuadernos de Jupyter en VS Code mediante la instancia de proceso como el servidor remoto sin necesidad de SSH. También puede habilitar la integración de VS Code a través de la extensión de SSH remota.

Puede instalar paquetes y agregar kernels a su instancia de proceso.

Las herramientas y los entornos siguientes ya están instalados en la instancia de proceso:

Herramientas & entornos generales Detalles
Controladores CUDA
cuDNN
NVIDIA
Blob FUSE
Intel MPI Library
Azure CLI
Ejemplos de Azure Machine Learning
Docker
Nginx
NCCL 2.0
Protobuf
Herramientas & entornos de R Detalles
R kernel

Puede agregar RStudio al crear la instancia.

Herramientas & entornos de PYTHON Detalles
Anaconda Python
Jupyter y extensiones
Jupyterlab y extensiones
SDK de Azure Machine Learning para Python
desde PyPI
Incluye la mayoría de los paquetes adicionales de azureml. Para ver la lista completa, abra una ventana de terminal en la instancia de proceso y ejecute
conda list -n azureml_py36 azureml*
Otros paquetes de PyPI jupytext
tensorboard
nbconvert
notebook
Pillow
Paquetes Conda cython
numpy
ipykernel
scikit-learn
matplotlib
tqdm
joblib
nodejs
nb_conda_kernels
Paquetes de aprendizaje profundo PyTorch
TensorFlow
Keras
Horovod
MLFlow
pandas-ml
scrapbook
Paquetes de ONNX keras2onnx
onnx
onnxconverter-common
skl2onnx
onnxmltools
Ejemplos de Python para Azure Machine Learning

Todos los paquetes de Python se instalan en el entorno Python 3.8 - AzureML. La instancia de proceso tiene Ubuntu 18.04 como sistema operativo base.

Acceso a archivos

Los cuadernos y los scripts de R se almacenan en la cuenta de almacenamiento predeterminada del área de trabajo en el recurso compartido de archivos de Azure. Estos archivos se encuentran en el directorio "Archivos de usuario". Este almacenamiento facilita el uso compartido de cuadernos entre instancias de proceso. La cuenta de almacenamiento también evita que los cuadernos se conserven de forma segura al detener o eliminar una instancia de proceso.

La cuenta de recurso compartido de archivos de Azure del área de trabajo se monta como una unidad en la instancia de proceso. Esta unidad es el directorio de trabajo predeterminado para Jupyter, Jupyter Labs y RStudio. Esto significa que los cuadernos y otros archivos creados en Jupyter, JupyterLab o RStudio se almacenan automáticamente en el recurso compartido de archivos y están disponibles para usarse también en otras instancias de proceso.

Se puede tener acceso a los archivos del recurso compartido de archivos desde todas las instancias de proceso de la misma área de trabajo. Los cambios que se realicen en estos archivos en la instancia de proceso se conservarán de forma confiable en el recurso compartido de archivos.

También puede clonar los ejemplos de Azure Machine Learning más recientes en la carpeta situada en el directorio de archivos de usuario del recurso compartido de archivos del área de trabajo.

La escritura de archivos pequeños puede ser más lenta en las unidades de red que la escritura en el propio disco local de la instancia de proceso. Si escribe muchos archivos pequeños, pruebe usar un directorio directamente en la instancia de proceso, como un directorio/tmp. Tenga en cuenta que estos archivos no serán accesibles desde otras instancias de proceso.

No almacene los datos de entrenamiento en el recurso compartido de archivos de los cuadernos. Puede usar el directorio /tmp en la instancia de proceso para los datos temporales. Pero no escriba archivos de datos muy grandes en el disco del sistema operativo de la instancia de proceso. El disco del sistema operativo de la instancia de proceso tiene una capacidad de 128 GB. También puede almacenar los datos de entrenamiento temporales en un disco temporal montado en /mnt. El tamaño del disco temporal se puede configurar en función del tamaño de máquina virtual elegido y puede almacenar grandes cantidades de datos si se elige una máquina virtual de mayor tamaño. También puede montar almacenes de datos y conjuntos de datos. Todos los paquetes de software instalados se guardan en el disco del sistema operativo de la instancia de proceso. Tenga en cuenta que el cifrado de claves administradas por el cliente no se admite actualmente para el disco del sistema operativo. El disco del sistema operativo de la instancia de proceso se cifra mediante claves administradas por Microsoft.

Crear

Como administrador, puede crear una instancia de proceso para otros usuarios en el área de trabajo (versión preliminar) .

También puede usar un script de configuración (versión preliminar) para disponer de una manera automatizada de personalizar y configurar la instancia de proceso.

Para crear por sí mismo una instancia de proceso, utilice el área de trabajo de Estudio de Azure Machine Learning y cree una nueva instancia de proceso desde la sección Proceso o en la sección Cuadernos cuando esté listo para ejecutar uno de sus cuadernos.

Usted también puede crear una instancia

Los núcleos dedicados por región por cuota de familia de máquinas virtuales y cuota regional total, que se aplica a la creación de instancias de proceso, se unifica y comparte con la cuota de clúster de proceso de Azure Machine Learning. La detención de la instancia de proceso no libera la cuota para garantizar que pueda reiniciar la instancia de proceso. No detenga la instancia de proceso mediante el terminal del sistema operativo con un apagado sudo.

La instancia de proceso viene con el disco del sistema operativo P10. El tipo de disco temporal depende del tamaño de VM elegido. Actualmente, no es posible cambiar el tipo de disco del sistema operativo.

Destino de proceso

Las instancias de proceso se pueden usar como destino de proceso de entrenamiento de forma similar a los clústeres de entrenamiento de Azure Machine Learning. Pero una instancia de proceso solo tiene un solo nodo, mientras que un clúster de proceso puede tener más nodos.

Una instancia de proceso:

  • Tiene una cola de trabajo.
  • Ejecuta trabajos de forma segura en un entorno de red virtual, sin necesidad de que las empresas abran el puerto SSH. El trabajo se ejecuta en un entorno en contenedor y empaqueta las dependencias del modelo en un contenedor de Docker.
  • Puede ejecutar varios trabajos pequeños en paralelo (versión preliminar). Se puede ejecutar un trabajo por núcleo en paralelo mientras el resto de los trabajos se ponen en cola.
  • Admite trabajos de entrenamiento distribuido con varias GPU de un solo nodo.

Puede usar la instancia de proceso como destino de implementación de inferencia local para escenarios de prueba o depuración.

Sugerencia

La instancia de proceso tiene un disco de SO de 120 GB. Si se queda sin espacio en el disco y entra en un estado inutilizable, borre al menos 5 GB de espacio en el disco del sistema operativo (que está montado en /) mediante el terminal de la instancia de proceso, elimine archivos o carpetas y, a continuación, ejecute sudo reboot. Para acceder al terminal, vaya a la página de la lista de instancias de proceso o a la página de detalles de la instancia de proceso y haga clic en el vínculo Terminal. Para comprobar el espacio disponible en disco, ejecute df -h en el terminal. Borre al menos 5 GB de espacio antes de ejecutar sudo reboot. No detenga ni reinicie la instancia de proceso mediante Studio hasta que se haya borrado un espacio en disco de 5 GB.

Pasos siguientes