Editar

Compartilhar via


Criar uma solução de AVOps (Operações de Veículo Autônomo)

Azure Machine Learning
Fábrica de dados do Azure
Azure Data Share
Lote do Azure
GitHub

ideias da Solução

Este artigo descreve uma ideia de solução. Seu arquiteto de nuvem pode usar essas diretrizes para ajudar a visualizar os principais componentes para uma implementação típica dessa arquitetura. Use este artigo como ponto de partida para criar uma solução bem arquiteta que esteja alinhada com os requisitos específicos da carga de trabalho.

Essa arquitetura fornece diretrizes e recomendações para desenvolver uma solução de condução automatizada.

Arquitetura

Diagrama que mostra uma arquitetura do AVOps.

Baixe um arquivo visio que contém os diagramas de arquitetura neste artigo.

Fluxo

  1. Os dados de medida são provenientes de fluxos de dados para sensores como câmeras, radar, ultrassom, lidar e telemetria do veículo. Os agentes de dados no veículo armazenam dados de medida em dispositivos de armazenamento do agente. Os dados de armazenamento do agente são carregados no data lake de aterrissagem. Um serviço como do Azure Data Box ou do Azure Stack Edge ou uma conexão dedicada, como do Azure ExpressRoute, ingere dados no Azure.

    Os dados de medida também podem ser dados sintéticos de simulações ou de outras fontes. (MDF4, TDMS e rosbag são formatos de dados comuns para medidas.) No estágio DataOps, as medidas ingeridas são processadas. Verificações de qualidade de dados e validação, como soma de verificação, são executadas para remover dados de baixa qualidade. Nesta fase, os metadados de informações brutas registrados por um driver de teste durante um test drive são extraídos. Esses dados são armazenados em um catálogo de metadados centralizado. Essas informações ajudam os processos downstream a identificar cenas e sequências específicas.

  2. Os dados são processados por um pipeline de ETL (extração, transformação e carregamento) do Azure Data Factory. A saída é armazenada como dados brutos e binários no Azure Data Lake. Os metadados são armazenados em do Azure Cosmos DB. Dependendo do cenário, ele poderá ser enviado para do Azure Data Explorer ou do Azure Cognitive Search.

  3. Informações adicionais, insights e contexto são adicionados aos dados para melhorar sua precisão e confiabilidade.

  4. Os dados de medida extraídos são fornecidos para parceiros de rotulagem (humanos no loop) por meio de do Azure Data Share. Parceiros de terceiros executam rotulagem automática, armazenamento e acesso de dados por meio de uma conta separada do Data Lake.

  5. Os conjuntos de dados rotulados fluem para downstream processos de MLOps, principalmente para criar modelos de percepção e fusão de sensores. Esses modelos executam funções usadas por veículos autônomos para detectar cenas (ou seja, alterações de faixa, estradas bloqueadas, pedestres, semáforos e placas de trânsito).

  6. No estágio ValOps, os modelos treinados são validados por meio de testes de loop aberto e de loop fechado.

  7. Ferramentas como Foxglove, em execução no do Serviço de Kubernetes do Azure ou de Instâncias de Contêiner do Azure, visualizar dados ingeridos e processados.

Recolha de dados

A coleta de dados é um dos principais desafios de Operações de Veículos Autônomos (AVOps). O diagrama a seguir mostra um exemplo de como os dados de veículos offline e online podem ser coletados e armazenados em um data lake.

Diagrama que mostra a coleta de dados offline e online.

DataOps

As operações de dados (DataOps) são um conjunto de práticas, processos e ferramentas para melhorar a qualidade, a velocidade e a confiabilidade das operações de dados. O objetivo do fluxo do DataOps para condução autônoma (AD) é garantir que os dados usados para controlar o veículo sejam de alta qualidade, precisos e confiáveis. Usando um fluxo de DataOps consistente, você pode melhorar a velocidade e a precisão de suas operações de dados e tomar melhores decisões para controlar seus veículos autônomos.

Componentes do DataOps

  • data box é usado para transferir dados de veículo coletados para o Azure por meio de uma transportadora regional.
  • do ExpressRoute estende a rede local para a nuvem da Microsoft por meio de uma conexão privada.
  • Azure Data Lake Storage armazena dados com base em estágios, por exemplo, brutos ou extraídos.
  • a do Azure Data Factory executa ETL por meio de de computação em lote e cria fluxos de trabalho controlados por dados para orquestrar a movimentação de dados e transformar dados.
  • lote do Azure executa aplicativos em grande escala para tarefas como estruturação de dados, filtragem e preparação de dados e extração de metadados.
  • do Azure Cosmos DB armazena resultados de metadados, como medidas armazenadas.
  • Data Share é usado para compartilhar dados com organizações parceiras, como empresas de rotulagem, com segurança aprimorada.
  • a do Azure Databricks fornece um conjunto de ferramentas para manter soluções de dados de nível empresarial em escala. Ele é necessário para operações de longa execução em grandes quantidades de dados do veículo. Os engenheiros de dados usam o Azure Databricks como um workbench de análise.
  • do Azure Synapse Analytics reduz o tempo de insights entre data warehouses e sistemas de Big Data.
  • do Azure Cognitive Search fornece serviços de pesquisa do catálogo de dados.

MLOps

As MLOps (operações de machine learning) incluem:

  • Modelos de extração de recursos (como CLIP e YOLO) para classificar cenas (por exemplo, se um pedestre está na cena) durante o pipeline DataOps.
  • Modelos de rotulagem automática para rotular imagens ingeridas e lidar e dados de radar.
  • Modelos de percepção e pesquisa visual computacional para detectar objetos e cenas.
  • Um modelo de fusão de sensor que combina fluxos de sensores.

O modelo de percepção é um componente importante dessa arquitetura. Esse modelo do Azure Machine Learning gera um modelo de detecção de objetos usando cenas detectadas e extraídas.

A transferência do modelo de machine learning em contêineres para um formato que pode ser lido pelo sistema em um hardware soc (chip) e software de validação/simulação ocorre no pipeline do MLOps. Esta etapa requer o suporte do fabricante do SoC.

Componentes do MLOps

  • do Azure Machine Learning é usado para desenvolver algoritmos de aprendizado de máquina, como extração de recursos, rotulagem automática, detecção e classificação de objetos e fusão de sensores.
  • do Azure DevOps oferece suporte para tarefas de DevOps, como CI/CD, teste e automação.
  • GitHub para empresas é uma opção alternativa para tarefas de DevOps, como CI/CD, teste e automação.
  • Registro de Contêiner do Azure permite que você crie, armazene e gerencie imagens e artefatos de contêiner em um registro privado.

ValOps

Operações de validação (ValOps) é o processo de teste de modelos desenvolvidos em ambientes simulados por meio de cenários gerenciados antes de executar testes ambientais caros no mundo real. Os testes do ValOps ajudam a garantir que os modelos atendam aos padrões de desempenho desejados, aos padrões de precisão e aos requisitos de segurança. O objetivo do processo de validação na nuvem é identificar e resolver possíveis problemas antes de implantar o veículo autônomo em um ambiente dinâmico. O ValOps inclui:

  • Validação de simulação. Os ambientes de simulação baseada em nuvem ( de loop aberto e de teste de loop fechado) permitem testes virtuais de modelos de veículos autônomos. Esse teste é executado em escala e é mais barato do que o teste do mundo real.
  • Validação de desempenho. A infraestrutura baseada em nuvem pode executar testes em larga escala para avaliar o desempenho de modelos de veículos autônomos. A validação de desempenho pode incluir testes de estresse, testes de carga e parâmetros de comparação.

Usar o ValOps para validação pode ajudá-lo a aproveitar a escalabilidade, a flexibilidade e o custo-benefício de uma infraestrutura baseada em nuvem e reduzir o tempo de comercialização para modelos de veículos autônomos.

Teste de loop aberto

A simulação nova ou de processamento de sensor é um sistema de teste e validação de loop aberto para funções de condução automática. É um processo complexo e pode haver requisitos regulatórios para segurança, privacidade de dados, controle de versão de dados e auditoria. Os processos de simulação novamente registraram dados brutos de vários sensores de carro por meio de um grafo na nuvem. A nova simulação valida algoritmos de processamento de dados ou detecta regressões. Os OEMs combinam sensores em um grafo acyclic direcionado que representa um veículo do mundo real.

A nova simulação é um trabalho de computação paralela em larga escala. Ele processa dezenas ou centenas de PBs de dados usando dezenas de milhares de núcleos. Ele requer uma taxa de transferência de E/S de mais de 30 GB/s. Os dados de vários sensores são combinados em conjuntos de dados que representam uma visão do que os sistemas de pesquisa visual computacional no veículo registram quando o veículo navega pelo mundo real. Um teste de loop aberto valida o desempenho dos algoritmos em relação à verdade terrestre usando reprodução e pontuação. A saída é usada posteriormente no fluxo de trabalho para treinamento de algoritmo.

  • Os conjuntos de dados são provenientes de veículos de frota de teste que coletam dados brutos do sensor (por exemplo, câmera, lidar, radar e dados ultrassônicos).
  • O volume de dados depende da resolução da câmera e do número de sensores no veículo.
  • Os dados brutos são reprocessados em diferentes versões de software dos dispositivos.
  • Os dados brutos do sensor são enviados para a interface de entrada do sensor do software do sensor.
  • A saída é comparada com a saída de versões de software anteriores e é verificada em relação a correções de bugs ou novos recursos, como detectar novos tipos de objeto.
  • Uma segunda nova injeção do trabalho é executada depois que o modelo e o software são atualizados.
  • Dados de verdade básica são usados para validar os resultados.
  • Os resultados são gravados no armazenamento e descarregados no Azure Data Explorer para visualização.

Teste de loop fechado e simulação

O teste em loop fechado de veículos autônomos é o processo de testar as funcionalidades do veículo, incluindo comentários em tempo real do ambiente. As ações do veículo se baseiam em seu comportamento pré-programado e nas condições dinâmicas que encontra, e ajusta suas ações adequadamente. O teste de loop fechado é executado em um ambiente mais complexo e realista. Ele é usado para avaliar a capacidade do veículo de lidar com cenários do mundo real, incluindo como ele reage a situações inesperadas. O objetivo do teste de loop fechado é verificar se o veículo pode operar de forma segura e eficaz em várias condições e refinar seus algoritmos de controle e processos de tomada de decisão conforme necessário.

O pipeline do ValOps integra testes de loop fechado, simulações de terceiros e aplicativos ISV.

Gerenciamento de cenários

Durante o estágio valOps, um catálogo de cenários reais é usado para validar a capacidade da solução de condução autônoma de simular o comportamento de veículos autônomos. O objetivo é acelerar a criação de catálogos de cenários lendo automaticamente a rede de rotas, que faz parte de um cenário, de mapas digitais publicamente acessíveis e livremente disponíveis. Use ferramentas de terceiros para gerenciamento de cenários ou um simulador de software livre leve como CARLA, que dá suporte ao formato OpenDRIVE (xodr). Para obter mais informações, consulte ScenarioRunner para CARLA.

Componentes do ValOps

  • Serviço de Kubernetes do Azure executa inferência em lotes em grande escala para validação de loop aberto em uma estrutura resin. Recomendamos que você use blobFuse2 para acessar os arquivos de medida. Você também pode usar o NFS, mas precisa avaliar o desempenho do caso de uso.
  • lote do Azure executa inferência em lotes em grande escala para validação de loop aberto em uma estrutura resin.
  • do Azure Data Explorer fornece um serviço de análise para medições e KPIs (ou seja, simulação e execuções de trabalho).

Funções centralizadas do AVOps

Uma arquitetura AVOps é complexa e envolve vários terceiros, funções e estágios de desenvolvimento, portanto, é importante implementar um bom modelo de governança.

Recomendamos que você crie uma equipe centralizada para lidar com funções como provisionamento de infraestrutura, gerenciamento de custos, catálogo de metadados e dados, linhagem e orquestração geral e manipulação de eventos. Centralizar esses serviços é eficiente e simplifica as operações.

Recomendamos que você use uma equipe centralizada para lidar com essas responsabilidades:

  • Fornecendo modelos ARM/Bicep, incluindo modelos para serviços padrão, como armazenamento e computação usados por cada área e subárea da arquitetura AVOps
  • Implementação das instâncias centrais do Barramento de Serviço do Azure/Hubs de Eventos do Azure para uma orquestração controlada por eventos do loop de dados do AVOps
  • Propriedade do catálogo de metadados
  • Funcionalidades para linhagem de ponta a ponta e rastreabilidade em todos os componentes do AVOps

Diagrama que mostra funções centralizadas do AVOps.

Detalhes do cenário

Você pode usar essa arquitetura para criar uma solução de condução automatizada no Azure.

Possíveis casos de uso

OEMs automotivos, fornecedores de camada 1 e ISVs que desenvolvem soluções para condução automatizada.

Considerações

Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios orientadores que você pode usar para melhorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Microsoft Azure Well-Architected Framework.

Segurança

A segurança fornece garantias contra ataques deliberados e o abuso de seus valiosos dados e sistemas. Para obter mais informações, consulte Visão geral do pilar de segurança.

É importante entender a divisão de responsabilidade entre o OEM automotivo e o provedor de nuvem. No veículo, o OEM possui toda a pilha, mas à medida que os dados são movidos para a nuvem, algumas responsabilidades são transferidas para o provedor de nuvem. A PaaS (plataforma como serviço) do Azure fornece segurança integrada aprimorada na pilha física, incluindo o sistema operacional. Você pode aplicar as seguintes melhorias além dos componentes de segurança de infraestrutura. Essas melhorias permitem uma abordagem Zero-Trust.

Otimização de custo

A otimização de custos é para reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte Visão geral do pilar de otimização de custos.

Você pode usar essas estratégias para reduzir os custos associados ao desenvolvimento de soluções de condução autônoma:

  • Otimizar a infraestrutura de nuvem. O planejamento e o gerenciamento cuidadosos da infraestrutura de nuvem podem ajudá-lo a reduzir os custos. Por exemplo, use tipos de instância econômica e infraestrutura de escala para atender às cargas de trabalho em mudança. Siga as diretrizes no do Azure Cloud Adoption Framework.
  • Use de Máquinas Virtuais spot. Você pode determinar quais cargas de trabalho em sua implantação do AVOps não exigem processamento em um período específico e usar máquinas virtuais spot para essas cargas de trabalho. As Máquinas Virtuais Spot permitem que você aproveite a capacidade não utilizada do Azure para uma economia significativa de custos. Se o Azure precisar da capacidade de volta, a infraestrutura do Azure removerá máquinas virtuais spot.
  • Use o dimensionamento automático. O dimensionamento automático permite ajustar automaticamente sua infraestrutura de nuvem com base na demanda, reduzindo a necessidade de intervenção manual e ajudando você a reduzir os custos. Para obter mais informações, consulte Design para dimensionar.
  • Considere usar camadas quentes, esporádicas e de arquivos para armazenamento. O armazenamento pode ser um custo significativo em uma solução de condução autônoma, portanto, você precisa escolher opções de armazenamento econômicas, como armazenamento a frio ou armazenamento de acesso pouco frequente. Para obter mais informações, consulte de gerenciamento do ciclo de vida de dados.
  • Use ferramentas de gerenciamento de custos e otimização. o Microsoft Cost Management fornece ferramentas que podem ajudá-lo a identificar e abordar áreas para redução de custos, como recursos não utilizados ou subutilizados.
  • Considere usar os serviços do Azure. Por exemplo, você pode usar do Azure Machine Learning para criar e treinar modelos de condução autônoma. Usar esses serviços pode ser mais econômico do que criar e manter a infraestrutura interna.
  • Use recursos compartilhados. Quando possível, você pode usar recursos compartilhados, como bancos de dados compartilhados ou recursos de computação compartilhados, para reduzir os custos associados ao desenvolvimento de condução autônoma. O funções centralizadas nessa arquitetura, por exemplo, implementar um barramento central, um hub de eventos e um catálogo de metadados. Serviços como do Azure Data Share também podem ajudá-lo a atingir essa meta.

Contribuintes

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos colaboradores a seguir.

Autores principais:

Outros colaboradores:

Para ver perfis não públicos do LinkedIn, entre no LinkedIn.

Próximas etapas

Para obter mais informações sobre como desenvolver DataOps para um sistema de condução automatizado, consulte:

Você também pode estar interessado nestes artigos relacionados: