Organización y configuración de entornos de Azure Machine Learning

Cuando planea una implementación de Azure Machine Learning para un entorno empresarial, hay algunos puntos de decisión comunes que afectan al modo en que se crea el área de trabajo:

  • Estructura del equipo: la forma en que se organizan los equipos de ciencia de datos y colaboran en los proyectos según el caso de uso y la segregación de datos, o los requisitos de administración de costos.
  • Entornos: son los entornos que se usa como parte del flujo de trabajo de desarrollo y lanzamiento para separar el desarrollo de la producción.
  • Región: indica la ubicación de los datos y la audiencia a la que necesita proporcionar la solución de Machine Learning.

Configuración del área de trabajo y estructura del equipo

El área de trabajo es el recurso de nivel superior de Azure Machine Learning. Almacena los artefactos que se producen al trabajar con Machine Learning y los punteros y el proceso administrados para los recursos asociados y asignados. Desde el punto de vista de la facilidad de uso, el área de trabajo como un recurso de Azure Resource Manager ayuda al control de acceso basado en roles de Azure (RBAC de Azure), la administración mediante la directiva, y que puede usar como una unidad para los informes de costos.

Normalmente, las organizaciones eligen una combinación de los siguientes patrones de solución para seguir los requisitos de capacidad de administración.

Área de trabajo por equipo: use un área de trabajo para cada equipo cuando todos los miembros de este requieran el mismo nivel de acceso a los datos y los recursos de experimentación. Por ejemplo, una organización con tres equipos de aprendizaje automático podría crear tres áreas de trabajo, una para cada equipo.

La ventaja de usar un área de trabajo por equipo es que todos los artefactos de Machine Learning para los proyectos del equipo se almacenan en un solo lugar. Igualmente, se puede aumentar la productividad, ya que los miembros del equipo pueden acceder, explorar y reutilizar los resultados de la experimentación con facilidad. La organización de las áreas de trabajo por equipo reduce la superficie de Azure y simplifica la administración de costos por equipo. Dado que el número de activos de experimentación puede crecer rápidamente, puede mantener los artefactos organizados siguiendo las convenciones de nomenclatura y el etiquetado. Para obtener recomendaciones sobre cómo asignar nombres a los recursos, consulte Desarrollo de la estrategia de nomenclatura y etiquetado de los recursos de Azure.

Con este enfoque, cada miembro del equipo debe tener permisos de nivel de acceso a datos similares. El control de acceso basado en rol (RBAC) granular y las listas de control de acceso (ACL) para los orígenes de datos y los recursos de experimentación se limitan dentro de un área de trabajo. Asimismo, no puede tener requisitos de segregación de datos de los casos de uso.

Área de trabajo por proyecto: Use un área de trabajo para cada proyecto si necesita segregar los datos y los recursos de experimentación por proyecto, o si tiene requisitos de generación de informes de costos y presupuestos en un nivel de proyecto. Por ejemplo, podría tener una organización con cuatro equipos de aprendizaje automático que ejecuten tres proyectos cada uno para un total de 12 instancias de área de trabajo.

La ventaja de usar un área de trabajo por proyecto es que usted administra los costos en el nivel de proyecto. Un equipo crea un grupo de recursos dedicado para Azure Machine Learning y los recursos asociados por motivos similares. Al trabajar con colaboradores externos, por ejemplo, un área de trabajo centrada en el proyecto simplifica la colaboración en un proyecto porque los usuarios externos solo necesitan obtener acceso a los recursos del proyecto, no a los recursos del equipo.

En este enfoque se debe considerar el aislamiento de los resultados y los recursos de experimentación. La detección y reutilización de los recursos puede ser más difícil debido a la distribución de recursos entre varias instancias del área de trabajo.

Área de trabajo única: Use un área de trabajo para realizar el trabajo que no esté relacionado con el equipo o con el proyecto, o si los costos no se pueden asociar directamente a una unidad de facturación específica como, por ejemplo, con I+D.

La ventaja de esta configuración es que el costo de un trabajo individual que no esté relacionado con el proyecto se puede desacoplar de los costos que sí estén relacionados con el proyecto. Cuando se configura una sola área de trabajo para que todos los usuarios realicen su trabajo individual, se reduce la superficie de Azure.

Con este enfoque, el área de trabajo puede estar abarrotada rápidamente cuando muchos profesionales de Machine Learning comparten la misma instancia. Los usuarios pueden necesitar usar el filtrado basado en la interfaz de usuario de los recursos, para encontrar eficazmente esos recursos. Asimismo, puede crear áreas de trabajo de Machine Learning compartidas para cada división de negocios a fin de mitigar los problemas de escalado o los presupuestos de segmentos.

Configuración de los entornos y las áreas de trabajo

Un entorno es una colección de recursos que se implementa en el destino en función de su fase en el ciclo de vida de la aplicación. Algunos ejemplos comunes de los nombres de entorno son Dev, Test, QA, Staging y Production.

El proceso de desarrollo de su organización afecta a los requisitos de uso del entorno. El entorno afecta a la configuración de Azure Machine Learning y a los recursos asociados, como el proceso adjunto. Por ejemplo, la disponibilidad de los datos puede crear restricciones si tiene que administrar una instancia de Machine Learning que esté disponible en cada entorno. Los siguientes patrones de solución son comunes:

Implementación del área de trabajo de un solo entorno: al elegir una implementación del área de trabajo de un solo entorno, Azure Machine Learning implementa en un solo entorno. Esta configuración es habitual en escenarios centrados en la investigación, en los que no es necesario liberar los artefactos de Machine Learning en función de su fase en el ciclo de vida de los entornos. Otro escenario en el que tiene sentido usar este programa de instalación, es el momento de implementarlo en entornos los servicios de inferencia, y no en las canalizaciones de Machine Learning.

La ventaja de usar una configuración centrada en la investigación es que otorga una superficie de Azure más pequeña y tiene una sobrecarga mínima de administración. Esta forma de trabajar implica que no es necesario tener un área de trabajo de Azure Machine Learning implementada en cada entorno.

Con este enfoque, la implementación de un solo entorno está sujeta a la disponibilidad de los datos. Por lo tanto, tenga cuidado al configurar el almacén de datos. Si configura un acceso amplio como, por ejemplo, el acceso de escritor en los orígenes de datos de producción, podría dañar involuntariamente la calidad de los datos. Si lleva trabajo al proceso de producción en el mismo entorno en el que ocurre el desarrollo, se aplican las mismas restricciones de RBAC tanto para el trabajo de desarrollo como para el trabajo de producción. Esta configuración podría hacer que ambos entornos sean demasiado rígidos o demasiado flexibles.

Diagram of a single environment workspace deployment in Azure Machine Learning.

Implementación del área de trabajo de varios entornos: al elegir una implementación de área de trabajo de varios entornos, se implementa una instancia de área de trabajo para cada entorno. Un escenario común para esta configuración es un área de trabajo regulada con una separación clara de deberes entre entornos, y para los usuarios que tienen acceso a los recursos en esos entornos.

Las ventajas de esta migración son las siguientes:

  • Lanzamiento por fases de los flujos de trabajo y los artefactos de Machine Learning. Por ejemplo los modelos entre entornos, que cuentan con el potencial de mejorar la agilidad y reducir el tiempo de implementación.
  • Mayor seguridad y control de los recursos, ya que puede de asignar más restricciones de acceso en entornos de nivel inferior.
  • Escenarios de entrenamiento en los datos de producción que se encuentran en entornos que no son de desarrollo, ya que puede conceder acceso a un grupo de usuarios seleccionado.

Con este enfoque, corre el riesgo de una mayor sobrecarga de administración y procesos. Esta configuración requiere un proceso de desarrollo e implementación específico para artefactos de aprendizaje automático en las instancias del área de trabajo. Asimismo, es posible que necesite administrar los datos y realizar un esfuerzo de ingeniería para que los datos de producción estén disponibles para el entrenamiento en el entorno de desarrollo. La administración de acceso necesita que conceda acceso a un equipo para resolver e investigar incidentes en la producción. Por último, su equipo necesita conocimientos de ingeniería de Azure DevOps y Machine Learning para poder implementar flujos de trabajo de automatización.

Diagram of a multiple environment workspace deployment in Azure Machine Learning.

Un entorno con acceso limitado a los datos y uno con acceso a los datos de producción: al elegir esta configuración, Azure Machine Learning se implementa en dos entornos: un entorno que tiene acceso limitado a los datos y otro que tiene acceso a los datos de producción. Esta configuración es habitual si necesita separar los entornos de desarrollo y de producción. Por ejemplo, si está trabajando con restricciones organizativas para que los datos de producción estén disponibles en cualquier entorno, o si quiere separar el trabajo de desarrollo del trabajo de producción sin duplicar los datos más de lo necesario debido al alto costo del mantenimiento.

La ventaja de esta configuración es la separación clara de las tareas y el acceso entre los entornos de desarrollo y producción. Otra ventaja es la menor sobrecarga en la administración de recursos en comparación con un escenario de implementación de varios entornos.

Con este enfoque, necesita tener en cuenta que debe tener un proceso de desarrollo e implementación definido para los artefactos de Machine Learning entre áreas de trabajo. Asimismo, es posible que necesite administrar los datos y realizar un esfuerzo de ingeniería para que los datos de producción estén disponibles para el entrenamiento en el entorno de desarrollo. Pero este enfoque podría suponer un esfuerzo relativamente menor que la implementación de un área de trabajo de varios entornos.

Diagram of an environment with limited data access, and an environment with production data access.

Configuración de regiones y recursos

La ubicación de los recursos, datos o usuarios puede requerir la creación de instancias de área de trabajo de Azure Machine Learning y sus recursos asociados en varias regiones de Azure. Por ejemplo, un proyecto podría tener sus recursos distribuidos en las regiones de Azure del Oeste de Europa y el Este de EE. UU. por razones de rendimiento, costo y cumplimiento normativo. Los escenarios siguientes son comunes:

Entrenamiento regional: los trabajos de aprendizaje de automático se ejecutan en la misma región de Azure donde se encuentran los datos. En esta configuración, un área de trabajo de Machine Learning se implementa en cada región de Azure donde se encuentran los datos. Este escenario es común cuando necesita cumplir el cumplimiento o cuando tiene restricciones de movimiento de datos entre regiones.

La ventaja de esta configuración es que puede realizar la experimentación en el centro de datos donde se encuentran los datos con la menor latencia de red. Con este enfoque, la ejecución de una canalización de Machine Learning en varias instancias del área de trabajo, ya que agrega más complejidad de administración. Es difícil comparar los resultados de experimentación entre instancias y, además, agrega una sobrecarga a la administración de cuotas y procesos.

Si quiere adjuntar el almacenamiento entre regiones pero usa Compute desde una región, Azure Machine Learning admite el escenario de conexión de cuentas de almacenamiento en una región en lugar de la conexión en el área de trabajo. Los metadatos (por ejemplo, las métricas), por su parte, se almacenan en la región del área de trabajo.

Diagram of training jobs operating in the same Azure region as the data.

Servicios regionales: implementa las instancias de Machine Learning Service cerca del lugar en el que reside el público de destino. Por ejemplo, si los usuarios de destino están en Australia y el almacenamiento principal y la región de experimentación están en el Oeste de Europa, implemente el área de trabajo de Machine Learning para realizar la experimentación en el Oeste de Europa. A continuación, implemente un clúster de AKS para la implementación de puntos de conexión de inferencia en Australia.

Esta configuración otorga la oportunidad de realizar inferencias en el centro de datos donde se ingieren los datos nuevos, minimizando así la latencia y el movimiento de datos y garantizando el cumplimiento de la normativa local.

Con este enfoque, una configuración de varias regiones proporciona varias ventajas, pero también agrega más sobrecarga en la administración de cuotas y procesos. Cuando tiene un requisito para la inferencia de lotes, el servicio regional puede requerir una implementación de varias áreas de trabajo. Los datos recopilados a través de puntos de conexión de inferencia pueden necesitar que se transfieran entre regiones para escenarios en los que se deba volver a realizar el entrenamiento.

Diagram of Azure Machine Learning services deployed near where the target audience lives.

Ajuste regional: un modelo base entrena en un conjunto de datos inicial (por ejemplo, datos públicos o datos de todas las regiones), y se ajusta posteriormente a un conjunto de datos regional. El conjunto de datos regional puede existir solo en una región determinada debido a las restricciones de movimiento de datos o de cumplimiento normativo. Por ejemplo, puede ser que el entrenamiento del modelo base deba hacerse en un área de trabajo de la región A, mientras que la optimización ocurre en un área de trabajo de la región B.

La ventaja de esta configuración es que puede experimentar de forma compatible en el centro de datos donde residen los datos. También puede aprovechar el entrenamiento del modelo base en un conjunto de datos mayor en una fase de canalización anterior.

Este enfoque admite canalizaciones de experimentación complejas, pero podría crear más desafíos. Por ejemplo, al comparar los resultados del experimento entre regiones, podría agregar más sobrecarga a la administración de cuotas y procesos.

Diagram of an initial dataset deployed using public data or data from all regions, and fine-tuned later with a regional dataset.

Implementación de referencia

Para ilustrar la implementación de Azure Machine Learning en una configuración más grande, en esta sección se muestra el modo en que la organización "Contoso"configura Azure Machine Learning teniendo en cuenta las restricciones organizativas, los informes y los requisitos de presupuesto:

  • Contoso crea grupos de recursos de acuerdo con las soluciones de administración de costos e informes.
  • Los administradores de TI solo crean grupos de recursos y recursos para soluciones financiadas y así poder satisfacer los requisitos del presupuesto.
  • Debido a la naturaleza incierta y exploratoria de la ciencia de datos, los usuarios necesitan un lugar para experimentar y trabajar con el caso de uso y la exploración de datos. A menudo, el trabajo exploratorio no se puede asociar directamente a un caso de uso determinado y solo se puede asociar al presupuesto de I+D. Contoso quiere financiar algunos recursos de Machine Learning de forma centralizada, para que cualquiera pueda usarlos con fines de exploración.
  • Una vez que un caso de uso de Machine Learning se crea de forma correcta en el entorno de exploración, los equipos pueden solicitar grupos de recursos. Por ejemplo,la empresa Dev, QA y Production puede usar para el proyecto de experimentación iterativa y para configurar el acceso a los orígenes de datos de producción.
  • La segregación de datos y los requisitos de cumplimiento no permiten la existencia de datos de producción activos en entornos de desarrollo.
  • Existen distintos requisitos de RBAC para varios grupos de usuarios en función de la directiva de TI por entorno; por ejemplo, el acceso es más restrictivo en la producción.
  • Asimismo, todos los datos, la experimentación y la inferencia ocurre en una sola región de Azure.

Para cumplir los requisitos anteriores, Contoso configura sus recursos de la siguiente manera:

  • Las áreas de trabajo y los grupos de recursos de Azure Machine Learning tienen como ámbito cada proyecto para cumplir los requisitos de segregación de los casos de uso y de presupuesto.
  • Una configuración de varios entornos para Azure Machine Learning y sus recursos asociados para tratar los requisitos de administración de costos, RBAC y acceso a datos.
  • Un solo grupo de recursos y un área de trabajo de Machine Learning dedicada a la exploración.
  • Grupos de Microsoft Entra diferentes por rol y entorno de usuario. Por ejemplo, las operaciones que puede realizar un científico de datos en un entorno de producción son diferentes de las del entorno de desarrollo, y los niveles de acceso pueden variar en función de la solución.
  • Todos los recursos se crean en una única región de Azure.

Diagram of a sample Azure Machine Learning multiple-environment setup for the Contoso organization.

Pasos siguientes

Procedimientos recomendados de DevOps de aprendizaje automático (MLOps) con Azure Machine Learning.

Obtenga información sobre las consideraciones al administrar presupuestos, cuotas y costos con Azure Machine Learning.