Puntos de conexión por lotes

Azure Machine Learning permite implementar implementaciones y puntos de conexión por lotes para realizar inferencias asincrónicas y de larga duración con canalizaciones y modelos de Machine Learning. Al entrenar una canalización o modelo de Machine Learning, se debe implementar para que otros usuarios puedan usarlos con nuevos datos de entrada para generar predicciones. Este proceso de generación de predicciones con el modelo o canalización se denomina inferencia.

Los puntos de conexión por lotes reciben punteros hacia los datos y ejecutan trabajos de forma asincrónica para procesar los datos en paralelo en los clústeres de proceso. Los puntos de conexión por lotes almacenan salidas en un almacén de datos para su posterior análisis. Use puntos de conexión por lotes en los casos siguientes:

  • Tiene modelos o canalizaciones costosos que requieren un tiempo más largo para ejecutarse.
  • Quiere operacionalizar canalizaciones de aprendizaje automático y reutilizar componentes.
  • Si debe realizar la inferencia en grandes cantidades de datos distribuidos en varios archivos.
  • Si no tiene requisitos de latencia baja.
  • Las entradas del modelo se almacenan en una cuenta de almacenamiento o en un recurso de datos de Azure Machine Learning.
  • Si puede aprovechar la paralelización.

Implementaciones de Batch

Una implementación es un conjunto de recursos y procesos necesarios para implementar la funcionalidad que proporciona el punto de conexión. Cada punto de conexión puede hospedar varias implementaciones con configuraciones diferentes, funcionalidad que ayuda a desacoplar la interfaz del punto de conexión de los detalles de implementación definidos por la implementación. Cuando se invoca un punto de conexión por lotes, enruta automáticamente al cliente a su implementación predeterminada. Esta implementación predeterminada se puede configurar y cambiar en cualquier momento.

Diagrama que muestra la relación entre un punto de conexión por lotes y sus implementaciones.

Dos tipos de implementaciones son posibles en los puntos de conexión por lotes de Azure Machine Learning:

Implementación de modelo

La implementación de modelos permite el funcionamiento de la inferencia de modelos a gran escala, lo que le permite procesar grandes cantidades de datos de forma asincrónica y con baja latencia. Azure Machine Learning instrumenta automáticamente la escalabilidad proporcionando la paralelización de los procesos de inferencia entre varios nodos de un clúster de proceso.

Use implementaciones de modelos cuando:

  • Tenga modelos costosos que requieran un tiempo más largo para ejecutar la inferencia.
  • Si debe realizar la inferencia en grandes cantidades de datos distribuidos en varios archivos.
  • Si no tiene requisitos de latencia baja.
  • Si puede aprovechar la paralelización.

La principal ventaja de las implementaciones de modelos es que es posible usar los mismos recursos que se implementan para la inferencia en tiempo real para los puntos de conexión en línea, pero ahora es posible ejecutarlos a gran escala por lotes. Si el modelo requiere procesamiento previo o posterior simple, cree un script de puntuación que realice las transformaciones de datos necesarias.

Para crear una implementación de modelo en un punto de conexión por lotes, deberá especificar los siguientes elementos:

  • Modelo
  • Clúster de proceso
  • Script de puntuación (opcional para los modelos de MLflow)
  • Entorno (opcional para los modelos de MLflow)

Implementación de componentes de canalización

La implementación de componentes de canalización permite el funcionamiento de gráficos de procesamiento completos (o canalizaciones) para realizar la inferencia por lotes de una forma asincrónica y con baja latencia.

Use la Implementación de componentes de canalización cuando:

  • Es necesario poner en funcionamiento gráficos de proceso completos que se puedan descomponer en varios pasos.
  • Deba reutilizar componentes de canalizaciones de entrenamiento en la canalización de inferencia.
  • Si no tiene requisitos de latencia baja.

La principal ventaja de las implementaciones de componentes de canalización es la reutilización de componentes que ya existan en la plataforma y la capacidad de poner en funcionamiento rutinas de inferencia complejas.

Para crear una implementación de componentes de canalización en un punto de conexión por lotes, deberá especificar los siguientes elementos:

  • Componente de canalización
  • Configuración del clúster de proceso

Los puntos de conexión por lotes también permiten Crear implementaciones de componentes de canalización a partir de trabajos de canalización existentes. Al hacerlo, Azure Machine Learning creará automáticamente un componente de canalización fuera del trabajo. Esto simplificará el uso de estos tipos de implementaciones. Sin embargo, se considera un procedimiento recomendado crear siempre componentes de canalización explícitamente para optimizar la práctica de MLOps.

Administración de costes

La invocación de un punto de conexión por lotes desencadena un trabajo asincrónico de inferencia por lotes. Azure Machine Learning aprovisiona automáticamente los recursos de proceso cuando se inicia el trabajo y los desasigna automáticamente cuando se completa. De este modo, solo se paga por el proceso cuando se usa.

Sugerencia

Al implementar modelos, es posible invalidar la configuración de recursos de proceso (por ejemplo: el recuento de instancias) y la configuración avanzada (como el tamaño de mini lotes, el umbral de error, etc) para cada trabajo de inferencia por lotes individual. Al aprovechar estas configuraciones específicas, es posible que pueda acelerar la ejecución y reducir el coste.

Los puntos de conexión por lotes también se pueden ejecutar en máquinas virtuales de prioridad baja. Los puntos de conexión de Batch se pueden recuperar automáticamente de máquinas virtuales desasignadas y reanudar el trabajo desde donde se dejó al implementar modelos para la inferencia. Para obtener más información sobre cómo usar máquinas virtuales de prioridad baja para reducir el coste de las cargas de trabajo de inferencia por lotes, consulte Uso de máquinas virtuales de prioridad baja en puntos de conexión por lotes.

Por último, Azure Machine Learning no cobra por los puntos de conexión por lotes ni por las implementaciones por lotes, por lo que es posible organizar los puntos de conexión y las implementaciones de la forma que mejor se adapte a su escenario. Los puntos de conexión y las implementaciones pueden usar clústeres independientes o compartidos, por lo que es posible lograr un control específico sobre el proceso que consumen los trabajos. Use la escala a cero en clústeres para asegurarse de que no se consuman recursos cuando estén inactivos.

Optimización de la práctica de MLOps

Los puntos de conexión por lotes pueden controlar varias implementaciones en el mismo punto de conexión, lo que le permitirá cambiar la implementación del punto de conexión sin cambiar la dirección URL que usan los consumidores para invocarlo.

Puede agregar, quitar y actualizar implementaciones sin afectar al propio punto de conexión.

Diagrama que describe cómo se pueden usar múltiples implementaciones bajo el mismo punto de conexión.

Almacenamiento y orígenes de datos flexibles

Los puntos de conexión por lotes leen y escriben datos directamente desde el almacenamiento. Especifique almacenes de datos de Azure Machine Learning, recursos de datos de Azure Machine Learning o cuentas de almacenamiento como entradas. Para obtener más información sobre las opciones de entrada admitidas y cómo especificarlas, consulte Creación de trabajos y datos de entrada en puntos de conexión por lotes.

Seguridad

Los puntos de conexión de Batch proporcionan todas las funcionalidades necesarias para operar cargas de trabajo de nivel de producción en configuraciones empresariales. Soporta redes privadas en áreas de trabajo seguras y Autenticación Microsoft Entra, ya sea mediante una entidad de seguridad de usuario (como una cuenta de usuario) o una entidad de seguridad de servicio (como una identidad administrada o no administrada). Los trabajos generados por un punto de conexión por lotes se ejecutan en la identidad del invocador, lo que proporciona flexibilidad para implementar cualquier escenario. Para obtener más información sobre la autorización al usar puntos de conexión por lotes, consulte Autenticación en puntos de conexión por lotes.