¿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 hacen 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 permite conexiones de websocket a *.instances.azureml.net y *.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 y 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. |
- Proteja la instancia de proceso con la opción Ninguna dirección IP pública.
- La instancia de proceso también es un destino de proceso de entrenamiento seguro similar a los clústeres de proceso, pero es de un solo nodo.
- Puede crear una instancia de proceso o bien un administrador puede crear una instancia de proceso en su nombre .
- También puede usar un script de configuración para disponer de una manera automatizada de personalizar y configurar la instancia de proceso según sus necesidades.
- Para ahorrar costos, cree una programación para iniciar y detener automáticamente la instancia de proceso o habilite el apagado tras un periodo de inactividad.
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 desde el área de trabajo de Azure Machine Learning, Jupyter, JupyterLabo Visual Studio Code. VS Code escritorio se puede configurar para acceder a la instancia de proceso. O bien, use VS Code para web, directamente desde el explorador y sin instalaciones o dependencias necesarias.
Se recomienda probar VS Code para web para aprovechar las ventajas de la integración sencilla y el entorno de desarrollo enriquecido que proporciona. VS Code para web proporciona muchas de las características de VS Code escritorio que le encantan, incluido el resaltado de búsqueda y sintaxis mientras explora y edita. Para obtener más información sobre el uso de VS Code escritorio y VS Code para web, consulte Iniciar Visual Studio Code integrado con Azure Machine Learning (versión preliminar) y Trabajar en VS Code de forma remota conectada a una instancia de proceso (versión preliminar).
Puede instalar paquetes y agregar kernels a su instancia de proceso.
Las siguientes herramientas y entornos ya están instalados en la instancia de proceso:
Herramientas y 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 y entornos de R | Detalles |
---|---|
R kernel |
Puede agregar RStudio o Posit Workbench (anteriormente, RStudio Workbench) al crear la instancia.
Herramientas y entornos de PYTHON | Detalles |
---|---|
Anaconda Python | |
Jupyter y extensiones | |
Jupyterlab y extensiones | |
SDK de Azure Machine Learning para Python desde PyPI |
Incluye azure-ai-ml y muchos paquetes adicionales comunes de Azure. Para ver la lista completa, abra una ventana de terminal en la instancia de proceso y ejecute conda list -n azureml_py310_sdkv2 ^azure |
Otros paquetes de PyPI | jupytext tensorboard nbconvert notebook Pillow |
Paquetes Conda | cython numpy ipykernel scikit-learn matplotlib tqdm joblib nodejs |
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 |
La instancia de proceso tiene Ubuntu como sistema operativo base.
Acceso a archivos
Los cuadernos y los scripts de Python 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, RStudio y Posit Workbench. Esto significa que los cuadernos y otros archivos que cree en Jupyter, JupyterLab, VS Code para web, RStudio o Posit se almacenan automáticamente en el recurso compartido de archivos y están disponibles para su uso 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 a 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. Para obtener información acerca de las distintas opciones para almacenar datos, vea Acceso a datos en un trabajo .
Puede usar el directorio /tmp
en la instancia de proceso para los datos temporales. Pero no escriba grandes archivos de datos 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 120 GB. También puede almacenar los datos de entrenamiento temporales en un disco temporal montado en /mnt. El tamaño temporal del disco se basa en el tamaño elegido de máquina virtual y puede almacenar grandes cantidades de datos si se elige una máquina virtual de mayor tamaño. 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.
También puede montar almacenes de datos y conjuntos de datos.
Crear
Sigue los pasos de Crear los recursos que necesitas para empezar para crear una instancia informática básica.
Para obtener más opciones, consulte Creación de una nueva instancia de proceso.
Como administrador, puede crear una instancia de proceso para otros usuarios en el área de trabajo. El inicio de sesión único debe deshabilitarse para dicha instancia de proceso.
También puede usar un script de configuración para disponer de una manera automatizada de personalizar y configurar la instancia de proceso.
Otras formas de crear una instancia de proceso:
- Directamente de la experiencia de cuadernos integrados.
- A partir de una plantilla de Azure Resource Manager. Para ver una plantilla de ejemplo, consulte Creación una plantilla de instancia de proceso de Azure Machine Learning.
- Con SDK de Azure Machine Learning
- Desde la extensión de la CLI para Azure Machine Learning
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. Un trabajo por vCPU se puede ejecutar en paralelo mientras se ponen en cola el resto de los trabajos.
- 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
. El disco temporal se liberará después del reinicio; no es necesario borrar el espacio en el disco temporal manualmente. 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. Los apagados automáticos, lo que incluye el inicio o la detención programados, así como los apagados inactivos tras un periodo de inactividad, no funcionarán si el disco de CI estuviera lleno.
Pasos siguientes
- Crea los recursos que necesitas para empezar.
- Tutorial: Formar su primer modelo de ML muestra cómo usar una instancia de proceso con un cuaderno integrado.