Editar

Compartir a través de


Creación de una solución de operaciones de vehículos autónomos (AVOps)

Azure Machine Learning
Azure Data Factory
Azure Data Share
Azure Batch
GitHub

Ideas de solución

Este artículo es una idea de solución. Si te gustaría que ampliemos este artículo con más información, como posibles casos de uso, servicios alternativos, consideraciones de implementación o una guía de precios, comunícalo a través de los Comentarios de GitHub.

Esta arquitectura proporciona instrucciones y recomendaciones para desarrollar una solución de conducción automatizada.

Architecture

Diagram that shows an AVOps architecture.

Descargue un archivo de Visio que contiene los diagramas de arquitectura de este artículo.

Flujo de datos

  1. Los datos de medición proceden de flujos de datos para sensores como cámaras, radares, ultrasonidos, lidar y telemetría de vehículos. Los registradores de datos del vehículo almacenan los datos de medición en los dispositivos de almacenamiento del registrador. A continuación, los datos de almacenamiento del registrador se cargan en el lago de datos de aterrizaje. Un servicio como Azure Data Box o Azure Stack Edge, o una conexión dedicada como Azure ExpressRoute, ingiere datos en Azure.

    Los datos de medición también pueden ser datos sintéticos de simulaciones o de otros orígenes. (MDF4, TDMS y rosbag son formatos de datos habituales para las mediciones). En la fase DataOps, se procesan las mediciones ingeridas. Las comprobaciones de calidad de datos y validación, como la suma de comprobación, se realizan para quitar datos de baja calidad. En esta fase, se extraen los metadatos de información sin procesar registrados por un conductor durante una conducción de prueba. Estos datos se almacenan en un catálogo de metadatos centralizado. Esta información ayuda a los procesos de bajada a identificar escenas y secuencias específicas.

  2. Azure Data Factory procesa los datos mediante una canalización de extracción, transformación y carga (ETL). La salida se almacena como datos binarios y sin procesar en Azure Data Lake. Los metadatos se almacenan en Azure Cosmos DB. En función del escenario, es posible que se envíe a Azure Data Explorer o Azure Cognitive Search.

  3. Se agrega información adicional, información y contexto a los datos para mejorar su precisión y fiabilidad.

  4. Los datos de medición extraídos se proporcionan a los partners de etiquetado (human-in-the-loop) a través de Azure Data Share. Los partners externos realizan el etiquetado automático, almacenan los datos y acceden a ellos a través de una cuenta independiente de Data Lake.

  5. Los conjuntos de datos etiquetados fluyen hacia los procesos de bajada de MLOps, principalmente para crear modelos de percepción y fusión de sensores. Estos modelos realizan funciones que los vehículos autónomos usan para detectar escenas (es decir, cambios de carril, carreteras bloqueadas, peatones, semáforos y señales de tráfico).

  6. En la fase de ValOps, los modelos entrenados se validan mediante pruebas de bucle abierto y bucle cerrado.

  7. Herramientas como Foxglove, que se ejecutan en Azure Kubernetes Service o Azure Container Instances, visualizan datos ingeridos y procesados.

datos, recopilación

La recopilación de datos es uno de los principales desafíos de las operaciones de vehículos autónomos (AVOps). En el siguiente diagrama se muestra un ejemplo de cómo se pueden recopilar y almacenar datos de vehículos sin conexión y en línea en un lago de datos.

Diagram that shows offline and online data collection.

DataOps

Las operaciones de datos (DataOps) son un conjunto de prácticas, procesos y herramientas para mejorar la calidad, la velocidad y la fiabilidad de las operaciones de datos. El objetivo del flujo de DataOps para la conducción autónoma (AD) es asegurarse de que los datos usados para controlar el vehículo son de alta calidad, precisos y fiables. Mediante el uso de un flujo coherente de DataOps, puede mejorar la velocidad y la precisión de las operaciones de datos y tomar mejores decisiones para controlar los vehículos autónomos.

Componentes de DataOps

  • Data Box se usa para transferir los datos recopilados del vehículo a Azure a través de un operador regional.
  • ExpressRoute amplía la red local a la nube de Microsoft a través de una conexión privada.
  • Azure Data Lake Storage almacena datos basados en fases, por ejemplo, sin procesar o extraídos.
  • Azure Data Factory realiza ETL a través del proceso por lotes y crea flujos de trabajo controlados por datos para orquestar el movimiento y la transformación de datos.
  • Azure Batch ejecuta aplicaciones a gran escala para tareas como la limpieza y transformación de datos, el filtrado y la preparación de datos, y extracción de metadatos.
  • Azure Cosmos DB almacena los resultados de metadatos, como las mediciones almacenadas.
  • Data Share se usa para compartir datos con organizaciones asociadas, como las empresas de etiquetado, con mayor seguridad.
  • Azure Databricks proporciona un conjunto de herramientas para mantener soluciones de datos de nivel empresarial a escala. Es necesario para las operaciones de larga duración con grandes cantidades de datos de vehículos. Los ingenieros de datos usan Azure Databricks como área de trabajo de análisis.
  • Azure Synapse Analytics acelera el tiempo necesario para obtener información de los sistemas de almacenamiento de datos y de macrodatos.
  • Azure Cognitive Search proporciona servicios de búsqueda del catálogo de datos.

MLOps

Las operaciones de aprendizaje automático (MLOps) incluyen:

  • Modelos de extracción de características (como CLIP y YOLO) para clasificar escenas (por ejemplo, si hay un peatón en la escena) durante la canalización de DataOps.
  • Modelos de etiquetado automático para etiquetar imágenes ingeridas y datos lidar y radar.
  • Modelos de percepción y visión informática para detectar objetos y escenas.
  • Un modelo de fusión de sensores que combina flujos de sensor.

El modelo de percepción es un componente importante de esta arquitectura. Este modelo de Azure Machine Learning genera un modelo de detección de objetos mediante escenas detectadas y extraídas.

La transferencia del modelo de aprendizaje automático en contenedores a un formato que el sistema puede leer en un hardware de chip (SoC) y el software de validación o simulación se produce en la canalización de MLOps. Este paso requiere la compatibilidad del fabricante del SoC.

Componentes de MLOps

  • Azure Machine Learning se usa para desarrollar algoritmos de aprendizaje automático, como extracción de características, etiquetado automático, detección y clasificación de objetos y fusión de sensores.
  • Azure DevOps proporciona soporte para tareas de DevOps, como CI/CD, pruebas y automatización.
  • GitHub para empresas es una opción alternativa para tareas de DevOps, como CI/CD, pruebas y automatización.
  • Azure Container Registry permite compilar, almacenar y administrar imágenes y artefactos de contenedor en un registro privado.

ValOps

Las operaciones de validación (ValOps) son el proceso de prueba de modelos desarrollados en entornos simulados mediante escenarios administrados antes de realizar pruebas costosas en el mundo real. Las pruebas de ValOps ayudan a garantizar que los modelos cumplen los estándares de rendimiento, precisión y seguridad deseados. El objetivo del proceso de validación en la nube es identificar y solucionar los posibles problemas antes de implementar el vehículo autónomo en un entorno real. Las ValOps incluyen:

  • Validación de simulación. Los entornos de simulación basados en la nube (pruebas de bucle abierto y bucle cerrado) permiten realizar pruebas virtuales de modelos de vehículos autónomos. Esta prueba se ejecuta a escala y es menos costosa que las del mundo real.
  • Validación del rendimiento. La infraestructura basada en la nube puede ejecutar pruebas a gran escala para evaluar el rendimiento de los modelos de vehículos autónomos. La validación del rendimiento puede incluir pruebas de esfuerzo, de carga y comparativas.

El uso de ValOps para la validación puede ayudarle a aprovechar la escalabilidad, flexibilidad y rentabilidad de una infraestructura basada en la nube y reducir el tiempo de comercialización de los modelos de vehículos autónomos.

Pruebas de bucle abierto

La resimulación, o el procesamiento de sensores, es un sistema de prueba y validación de bucle abierto para funciones de conducción automática. Es un proceso complejo y puede haber requisitos normativos de seguridad, privacidad de datos, control de versiones de datos y auditoría. La resimulación procesa los datos registrados sin procesar de varios sensores del coche a través de un grafo en la nube. La resimulación valida los algoritmos de procesamiento de datos o detecta regresiones. Los OEM combinan sensores en un gráfico acíclico dirigido que representa un vehículo real.

La resimulación es un trabajo de proceso paralelo a gran escala. Procesa decenas o cientos de PB de datos mediante decenas de miles de núcleos. Requiere un rendimiento de E/S de más de 30 GB/s. Los datos de varios sensores se combinan en conjuntos de datos que representan una vista de lo que registran los sistemas de visión informática en vehículos cuando el vehículo navega por el mundo real. Una prueba de bucle abierto valida el rendimiento de los algoritmos con la verdad básica mediante la reproducción y la puntuación. La salida se usa más adelante en el flujo de trabajo para el entrenamiento del algoritmo.

  • Los conjuntos de datos proceden de vehículos de flota de prueba que recopilan datos de sensores sin procesar (por ejemplo, datos de cámara, lidar, radar y datos ultrasónicos).
  • El volumen de datos depende de la resolución de la cámara y del número de sensores del vehículo.
  • Los datos sin procesar se vuelven a procesar en diferentes versiones de software de los dispositivos.
  • Los datos sin procesar del sensor se envían a la interfaz de entrada del sensor del software del sensor.
  • La salida se compara con la salida de versiones de software anteriores y se comprueba con correcciones de errores o características nuevas, como detectar nuevos tipos de objetos.
  • Una segunda nueva inserción del trabajo se realiza después de actualizar el modelo y el software.
  • Los datos reales se usan para validar los resultados.
  • Los resultados se escriben en el almacenamiento y se descargan en Azure Data Explorer para su visualización.

Pruebas y simulación de bucle cerrado

Las pruebas de bucle cerrado de vehículos autónomos son el proceso de pruebas de funcionalidades del vehículo, al tiempo que se incluyen comentarios en tiempo real del entorno. Las acciones del vehículo se basan en su comportamiento preprogramado y en las condiciones dinámicas que encuentra, y ajusta sus acciones en consecuencia. Las pruebas de bucle cerrado se ejecutan en un entorno más complejo y realista. Se usan para evaluar la capacidad del vehículo para manejar escenarios reales, incluida la forma en que reacciona a situaciones inesperadas. El objetivo de las pruebas de bucle cerrado es comprobar que el vehículo puede funcionar de forma segura y eficaz en diversas condiciones, y refinar sus algoritmos de control y procesos de toma de decisiones según sea necesario.

La canalización de ValOps integra pruebas de bucle cerrado, simulaciones de terceros e aplicaciones de ISV.

Administración de escenarios

Durante la fase de ValOps, se usa un catálogo de escenarios reales para validar la capacidad de la solución de conducción autónoma para simular el comportamiento de los vehículos autónomos. El objetivo es acelerar la creación de catálogos de escenarios leyendo automáticamente la red de rutas, que forma parte de un escenario, a partir de mapas digitales de acceso público y gratuito. Use herramientas de terceros para la administración de escenarios o un simulador de código abierto ligero, como CARLA, que admite el formato OpenDRIVE (xodr). Para obtener más información, consulte ScenarioRunner para CARLA.

Componentes de ValOps

  • Azure Kubernetes Service ejecuta la inferencia por lotes a gran escala para la validación de bucle abierto dentro de un marco de Resin. Se recomienda usar BlobFuse2 para acceder a los archivos de medición. También puede usar NFS, pero debe evaluar el rendimiento del caso de uso.
  • Azure Batch ejecuta la inferencia por lotes a gran escala para la validación de bucle abierto dentro de un marco de Resin.
  • Azure Data Explorer proporciona un servicio de análisis para mediciones y KPI (es decir, resimulación y ejecuciones de trabajos).

Funciones centralizadas de AVOps

Una arquitectura de AVOps es compleja e implica varios terceros, roles y fases de desarrollo, por lo que es importante implementar un buen modelo de gobernanza.

Se recomienda crear un equipo centralizado para controlar funciones como el aprovisionamiento de infraestructuras, la administración de costos, el catálogo de metadatos y datos, el linaje y la orquestación y control de eventos en general. Centralizar estos servicios es eficaz y simplifica las operaciones.

Se recomienda usar un equipo centralizado para controlar estas responsabilidades:

  • Proporcionar plantillas de ARM/Bicep, incluidas plantillas para servicios estándar, como almacenamiento y proceso usados por cada área y subárea de la arquitectura de AVOps
  • Implementación de instancias centrales de Azure Service Bus y Azure Event Hubs para una orquestación controlada por eventos del bucle de datos de AVOps
  • Propiedad del catálogo de metadatos
  • Funcionalidades para el linaje y la rastreabilidad de un extremo a otro en todos los componentes de AVOps

Diagram that shows centralized AVOps functions.

Detalles del escenario

Puede usar esta arquitectura para compilar una solución de conducción automatizada en Azure.

Posibles casos de uso

OEM de automoción, proveedores de nivel 1 e ISV que desarrollan soluciones para la conducción automatizada.

Consideraciones

Estas consideraciones implementan los pilares del Azure Well-Architected Framework, que es un conjunto de principios rectores que puede utilizar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.

Seguridad

La seguridad proporciona garantías contra ataques deliberados y el abuso de datos y sistemas valiosos. Para más información, consulte Introducción al pilar de seguridad.

Es importante comprender la división de responsabilidades entre el OEM automotriz y el proveedor de servicios en la nube. En el vehículo, el OEM posee toda la pila, pero a medida que los datos se mueven a la nube, algunas responsabilidades se transfieren al proveedor de servicios en la nube. La plataforma como servicio (PaaS) de Azure proporciona una seguridad mejorada integrada en la pila física, incluido el sistema operativo. Además de los componentes de seguridad de la infraestructura, puede aplicar las siguientes mejoras. Estas mejoras permiten un enfoque de Confianza cero.

Optimización de costos

La optimización de costos trata de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para más información, vea Información general del pilar de optimización de costos.

Puede usar estas estrategias para reducir los costos asociados al desarrollo de soluciones de conducción autónoma:

  • Optimice la infraestructura en la nube. El planeamiento y la administración cuidadosos de la infraestructura en la nube pueden ayudarle a reducir los costos. Por ejemplo, use tipos de instancia rentables y escale la infraestructura para satisfacer las cargas de trabajo cambiantes. Siga las instrucciones de Cloud Adoption Framework de Azure.
  • Use Spot Virtual Machines. Puede determinar qué cargas de trabajo de la implementación de AVOps no requieren procesamiento dentro de un período de tiempo específico y usar Spot Virtual Machines para estas cargas de trabajo. Spot Virtual Machines le permite aprovechar la capacidad no utilizada de Azure con un importante ahorro en los costos. Si Azure necesita recuperar la capacidad, su infraestructura expulsará las máquinas virtuales de acceso puntual.
  • Use el escalado automático. El escalado automático le permite ajustar automáticamente la infraestructura en la nube en función de la demanda, lo que reduce la necesidad de intervención manual y le ayuda a reducir los costos. Para obtener más información, consulte Diseño para escalado.
  • Considere la posibilidad de usar niveles de acceso frecuente, esporádico y de archivo para el almacenamiento. El almacenamiento puede ser un costo significativo en una solución de conducción autónoma, por lo que debe elegir opciones de almacenamiento rentables, como almacenamiento en frío o almacenamiento de acceso poco frecuente. Para más información, consulte administración del ciclo de vida de los datos.
  • Use herramientas de optimización y administración de costos. Microsoft Cost Management proporciona herramientas que pueden ayudarle a identificar y abordar las áreas de reducción de costos, como los recursos no utilizados o infrautilizados.
  • Considere la posibilidad de usar los servicios de Azure. Por ejemplo, puede usar Azure Machine Learning para implementar y entrenar modelos de conducción autónoma. El uso de estos servicios puede ser más rentable que la compilación y el mantenimiento de la infraestructura interna.
  • Use recursos compartidos. Cuando sea posible, puede usar recursos compartidos, como bases de datos o recursos de proceso compartidos, para reducir los costos asociados con el desarrollo conducción autónoma. Las funciones centralizadas de esta arquitectura, por ejemplo, implementan un bus central, un centro de eventos y un catálogo de metadatos. Los servicios como Azure Data Share también pueden ayudarle a lograr este objetivo.

Colaboradores

Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.

Creadores de entidad de seguridad:

Otros colaboradores:

Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.

Pasos siguientes

Para obtener más información sobre el desarrollo de DataOps para un sistema de conducción automatizado, consulte:

Es posible que también le interesen los siguientes artículos relacionados: