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

En este artículo se describe una idea de solución. El arquitecto de la nube puede usar esta guía para ayudar a visualizar los componentes principales para una implementación típica de esta arquitectura. Use este artículo como punto de partida para diseñar una solución bien diseñada que se adapte a los requisitos específicos de la carga de trabajo.

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

Arquitectura

Diagrama que muestra una arquitectura de AVOps.

Descargar 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, radar, ultrasonido, lidar y telemetría del vehículo. Registradores de datos en los datos de medición del almacén de vehículos en 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 comunes para las medidas). En la fase DataOps, se procesan las medidas 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 metadatos de información sin procesar registrados por un controlador de prueba durante una versió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. Un canalización de extracción, transformación y carga (ETL) de Azure Data Factory procesa los datos. 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, se puede enviar a azure Data Explorer o Azure Cognitive Search.

  3. Se agregan información adicional, información detallada y contexto a los datos para mejorar su precisión y confiabilidad.

  4. Los datos de medida extraídos se proporcionan a los asociados de etiquetado (human-in-the-loop) a través de Azure Data Share. Los asociados de terceros realizan el etiquetado automático, el almacenamiento y el acceso a los datos a través de una cuenta independiente de Data Lake.

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

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

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

Recogida de datos

La recopilación de datos es uno de los principales desafíos de operaciones de vehículos autónomos (AVOps). En el diagrama siguiente 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.

Diagrama que muestra la recopilación de datos sin conexión y en línea.

DataOps

Las operaciones de datos (DataOps) son un conjunto de procedimientos, procesos y herramientas para mejorar la calidad, la velocidad y la confiabilidad de las operaciones de datos. El objetivo del flujo de DataOps para la conducción autónoma (AD) es asegurarse de que los datos utilizados para controlar el vehículo son de alta calidad, precisa y confiable. 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ídas.
  • azure Data Factory realiza ETL a través de proceso por lotes y crea flujos de trabajo controlados por datos para orquestar el movimiento de datos y transformar los datos.
  • Azure Batch ejecuta aplicaciones a gran escala para tareas como limpieza y transformación de datos, filtrado y preparación de datos y extracción de metadatos.
  • azure Cosmos DB almacena los resultados de los metadatos, como las medidas almacenadas.
  • data Share se usa para compartir datos con organizaciones asociadas, como las empresas de etiquetado, con seguridad mejorada.
  • 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 en grandes cantidades de datos de vehículos. Los ingenieros de datos usan Azure Databricks como un área de trabajo de análisis.
  • Azure Synapse Analytics reduce el tiempo de información sobre los almacenes de datos y los sistemas de macrodatos.
  • Azure Cognitive Search proporciona servicios de búsqueda de catálogos 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 un peatonal está en la escena) durante la canalización de de DataOps de .
  • Modelos de etiquetado automático para etiquetar imágenes ingeridas y datos lidar y radar.
  • Modelos de percepción y computer vision para detectar objetos y escenas.
  • 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 de 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 compatibilidad con 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 probar modelos desarrollados en entornos simulados a través de escenarios administrados antes de realizar pruebas ambientales costosas en el mundo real. Las pruebas de ValOps ayudan a garantizar que los modelos cumplan los estándares de rendimiento deseados, los estándares de precisión y los requisitos de seguridad. 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 activo. ValOps incluye:

  • Validación de simulación. Simulación basada en la nube (entornos de de bucle abierto y pruebas de 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 pruebas reales.
  • 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, pruebas de carga y pruebas comparativas.

El uso de ValOps para la validación puede ayudarle a aprovechar la escalabilidad, la flexibilidad y la 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

Re-simulation, o procesamiento de sensores, es un sistema de prueba y validación de bucle abierto para funciones de conducción automáticas. Es un proceso complejo y puede haber requisitos normativos para la seguridad, la privacidad de los datos, el control de versiones de datos y la auditoría. Los procesos de re-simulación registraron datos sin procesar de varios sensores de automóviles a través de un gráfico en la nube. La re-simulació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 re-simulación es un trabajo de proceso paralelo a gran escala. Procesa decenas o cientos de bases de datos mediante decenas de miles de núcleos. Requiere 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 contra la verdad del suelo mediante la reproducción y la puntuación. La salida se usa más adelante en el flujo de trabajo para el entrenamiento de algoritmos.

  • Los conjuntos de datos se obtienen de vehículos de flota de prueba que recopilan datos de sensor sin procesar (por ejemplo, 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 del sensor sin procesar 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 reinsyecciones del trabajo se realiza después de actualizar el modelo y el software.
  • Los datos de la verdad de tierra 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 de bucle cerrado y simulación

Las pruebas en bucle cerrado de vehículos autónomos son el proceso de pruebas de las capacidades del vehículo, al tiempo que se incluyen comentarios en tiempo real del entorno. Las acciones del vehículo se basan tanto en su comportamiento preprogramado como 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 usa para evaluar la capacidad del vehículo para controlar 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 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, desde mapas digitales accesibles públicamente y disponibles libremente. Use herramientas de terceros para la administración de escenarios o un simulador ligero de código abierto como CARLA, que admite formato OpenDRIVE (xodr). Para obtener más información, consulte ScenarioRunner for CARLA.

Componentes de ValOps

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

Funciones de AVOps centralizadas

Una arquitectura de AVOps es compleja e implica varias fases de terceros, roles y 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 infraestructura, la administración de costos, los metadatos y el catálogo de datos, el linaje y la orquestación general y el control de eventos. La centralización de 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 o 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

Diagrama que muestra las funciones centralizadas de AVOps.

Detalles del escenario

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

Casos de uso potenciales

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

Consideraciones

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

Seguridad

La seguridad proporciona garantías contra ataques deliberados y el abuso de sus valiosos datos y sistemas. Para obtener más información, consulte Información general sobre el pilar de seguridad.

Es importante comprender la división de responsabilidades entre el OEM de automoción y el proveedor 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 nube. La plataforma como servicio (PaaS) de Azure proporciona seguridad mejorada integrada en la pila física, incluido el sistema operativo. Puede aplicar las siguientes mejoras además de los componentes de seguridad de infraestructura. Estas mejoras permiten un enfoque de Zero-Trust.

Optimización de costos

La optimización de costos consiste en reducir los gastos innecesarios y mejorar las eficiencias operativas. Para obtener más información, consulte Información general sobre el pilar de optimización de costos.

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

  • Optimización de la infraestructura en la nube. La planeación y administración cuidadosas de la infraestructura en la nube puede 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 Azure Cloud Adoption Framework.
  • 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 máquinas virtuales de acceso puntual para estas cargas de trabajo. Spot Virtual Machines le permite aprovechar la capacidad de Azure sin usar para ahorrar costos considerables. Si Azure necesita la capacidad de vuelta, la infraestructura de Azure expulsa 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, vea Diseño para el 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 obtener 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 áreas para reducir los 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 crear y entrenar modelos de conducción autónoma. El uso de estos servicios puede ser más rentable que la construcción y el mantenimiento de la infraestructura interna.
  • Use recursos compartidos. Cuando sea posible, puede usar recursos compartidos, como bases de datos compartidas o recursos de proceso compartidos, para reducir los costos asociados al desarrollo de conducción autónoma. La funciones centralizadas en esta arquitectura, por ejemplo, implementar 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 fue escrito por los siguientes colaboradores.

Autores principales:

Otros colaboradores:

Para ver perfiles de LinkedIn no públicos, 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:

También puede estar interesado en estos artículos relacionados: