Создание решения для автономных операций транспортных средств (AVOps)

Машинное обучение Azure
Фабрика данных Azure
Azure Data Share
Пакетная служба Azure
GitHub

Идеи решения

В этой статье описывается идея решения. Ваш архитектор облака может использовать это руководство, чтобы визуализировать основные компоненты для типичной реализации этой архитектуры. Используйте эту статью в качестве отправной точки для разработки хорошо спроектированного решения, которое соответствует конкретным требованиям рабочей нагрузки.

Эта архитектура содержит рекомендации и рекомендации по разработке автоматизированного решения для вождения.

Архитектура

Схема, показывющая архитектуру AVOps.

Скачайте файл Visio, содержащий схемы архитектуры в этой статье.

Поток данных

  1. Данные измерения приходят из потоков данных для датчиков, таких как камеры, радар, узи, лидар и телеметрия транспортного средства. Средства ведения журнала данных в данных измерения хранилища транспортных средств на устройствах хранения средства ведения журнала. Затем данные хранилища средства ведения журнала передаются в целевое озеро данных. Служба, например Azure Data Box или Azure Stack Edge, или выделенное подключение, например Azure ExpressRoute, прием данных в Azure.

    Данные измерений также могут быть искусственными данными из моделирования или из других источников. (MDF4, TDMS и rosbag являются общими форматами данных для измерений.) На этапе DataOps обрабатываются приемные измерения. Проверки и проверки качества данных, такие как контрольная сумма, выполняются для удаления данных низкого качества. На этом этапе извлекаются необработанные метаданные информации, записанные тест-драйвером во время тестового выпуска. Эти данные хранятся в централизованном каталоге метаданных. Эта информация помогает подчиненным процессам определять определенные сцены и последовательности.

  2. Данные обрабатываются конвейером извлечения, преобразования и загрузки (ETL) Фабрика данных Azure. Выходные данные хранятся как необработанные и двоичные данные в Azure Data Lake. Метаданные хранятся в Azure Cosmos DB. В зависимости от сценария его можно отправить в Azure Data Explorer или Когнитивный поиск Azure.

  3. Дополнительные сведения, аналитические сведения и контекст добавляются в данные для повышения точности и надежности.

  4. Извлеченные данные измерения предоставляются партнерам по маркировке (человеку в цикле) через Azure Data Share. Сторонние партнеры выполняют автоматическую маркировку, хранение и доступ к данным с помощью отдельной учетной записи Data Lake.

  5. Помеченные наборы данных потоки в подчиненные процессы MLOps , главным образом для создания моделей восприятия и слияния датчиков. Эти модели выполняют функции, используемые автономными транспортными средствами для обнаружения сцен (то есть, изменения полосы движения, заблокированные дороги, пешеходы, светофоры и дорожные знаки).

  6. На этапе ValOps обученные модели проверяются с помощью открытого цикла и тестирования закрытого цикла.

  7. Такие инструменты, как Foxglove, работающие на Служба Azure Kubernetes или Экземпляры контейнеров Azure, визуализировать прием и обработку данных.

сбор данных

Сбор данных является одной из основных проблем операций автономных транспортных средств (AVOps). На следующей схеме показан пример того, как данные автономного и онлайн-автомобиля можно собирать и хранить в озере данных.

Схема, показывающая сбор данных в автономном режиме и в сети.

DataOps

Операции с данными (DataOps) — это набор методик, процессов и инструментов для улучшения качества, скорости и надежности операций с данными. Цель потока DataOps для автономного вождения (AD) заключается в том, чтобы данные, используемые для управления автомобилем, были высококачественными, точными и надежными. Используя согласованный поток DataOps, вы можете повысить скорость и точность операций с данными и принять лучшие решения для управления автономными автомобилями.

Компоненты DataOps

  • Data Box используется для передачи собранных данных транспортных средств в Azure через региональный перевозчик.
  • ExpressRoute расширяет локальную сеть в облако Майкрософт через частное подключение.
  • Azure Data Lake Storage хранит данные на основе этапов, например необработанных или извлеченных.
  • Фабрика данных Azure выполняет ETL с помощью пакетных вычислений и создает рабочие процессы на основе данных для оркестрации перемещения данных и преобразования данных.
  • пакетная служба Azure выполняет крупномасштабные приложения для таких задач, как обработка данных, фильтрация и подготовка данных, а также извлечение метаданных.
  • Azure Cosmos DB хранит результаты метаданных, такие как сохраненные измерения.
  • Общий ресурс данных используется для совместного использования данных с партнерскими организациями, такими как метки компаний, с повышенной безопасностью.
  • Azure Databricks предоставляет набор средств для поддержки решений данных корпоративного уровня в масштабе. Это необходимо для длительных операций с большими объемами данных транспортного средства. Инженеры данных используют Azure Databricks в качестве аналитики workbench.
  • Azure Synapse Analytics сокращает время для анализа между хранилищами данных и системами больших данных.
  • Когнитивный поиск Azure предоставляет службы поиска по каталогу данных.

MLOps

К операциям машинного обучения (MLOps) относятся:

  • Модели извлечения признаков (например, CLIP и YOLO) для классификации сцен (например, если пешеход находится на сцене) во время конвейера DataOps .
  • Автоматические модели маркировки для приема изображений и лидаров и радарных данных.
  • Модели восприятия и компьютерного зрения для обнаружения объектов и сцен.
  • Модель слияния датчиков, которая объединяет потоки датчиков.

Модель восприятия является важным компонентом этой архитектуры. Эта Машинное обучение Azure модель создает модель обнаружения объектов с помощью обнаруженных и извлеченных сцен.

Перенос контейнерной модели машинного обучения в формат, который можно считывать системой на оборудовании и программном обеспечении для проверки и имитации оборудования (SoC) происходит в конвейере MLOps. Для этого шага требуется поддержка производителя SoC.

Компоненты MLOps

  • Машинное обучение Azure используется для разработки алгоритмов машинного обучения, таких как извлечение признаков, автоматическая маркировка, обнаружение объектов и классификация и слияние датчиков.
  • Azure DevOps поддерживает такие задачи DevOps , как CI/CD, тестирование и автоматизация.
  • GitHub для предприятий — это альтернативный вариант для задач DevOps, таких как CI/CD, тестирование и автоматизация.
  • Реестр контейнеров Azure позволяет создавать, хранить и управлять образами контейнеров и артефактами в частном реестре.

ValOps

Операции проверки (ValOps) — это процесс тестирования разработанных моделей в имитированных средах с помощью управляемых сценариев перед выполнением дорогостоящих реальных экологических тестов. Тесты ValOps помогают обеспечить соответствие моделей требуемым стандартам производительности, стандартам точности и требованиям безопасности. Цель процесса проверки в облаке заключается в выявлении и устранении возможных проблем перед развертыванием автономного транспортного средства в динамической среде. ValOps включает:

  • Проверка имитации. Облачные среды моделирования (открытый цикл и тестирование закрытых циклов) обеспечивают виртуальное тестирование моделей автономных транспортных средств. Это тестирование выполняется в большом масштабе и является менее дорогостоящим, чем реальное тестирование.
  • Проверка производительности. Облачная инфраструктура может выполнять крупномасштабные тесты для оценки производительности моделей автономных транспортных средств. Проверка производительности может включать стресс-тесты, нагрузочные тесты и тесты тестирования.

С помощью ValOps для проверки можно воспользоваться преимуществами масштабируемости, гибкости и экономичности облачной инфраструктуры и сокращения времени на рынок для моделей автономных транспортных средств.

Тестирование с открытым циклом

Повторное моделирование или обработка датчиков — это система тестирования и проверки открытого цикла для автоматических функций вождения. Это сложный процесс, и могут быть нормативные требования для безопасности, конфиденциальности данных, управления версиями данных и аудита. Процессы повторного моделирования записывают необработанные данные из различных датчиков автомобилей через граф в облаке. Повторное моделирование проверяет алгоритмы обработки данных или обнаруживает регрессии. Изготовители оборудования объединяют датчики в направленном ациклическом графе, который представляет реальный автомобиль.

Повторное моделирование — это крупномасштабное параллельное вычислительное задание. Он обрабатывает десятки или сотни ТС данных с помощью десятков тысяч ядер. Для этого требуется пропускная способность ввода-вывода более 30 ГБ/с. Данные из нескольких датчиков объединяются в наборы данных, которые представляют представление о том, что системы компьютерного зрения на автомобиле записывают, когда автомобиль перемещается в реальном мире. Тест с открытым циклом проверяет производительность алгоритмов на основе правды с помощью воспроизведения и оценки. Выходные данные используются позже в рабочем процессе для обучения алгоритма.

  • Наборы данных создаются из тестовых транспортных средств автопарка, которые собирают необработанные данные датчика (например, камеры, лидара, радара и звуковых данных).
  • Объем данных зависит от разрешения камеры и количества датчиков на автомобиле.
  • Необработанные данные повторно обрабатываются в различных выпусках программного обеспечения устройств.
  • Необработанные данные датчика отправляются в интерфейс входных данных датчика программного обеспечения датчика.
  • Выходные данные сравниваются с выходными данными предыдущих версий программного обеспечения и проверяются на наличие исправлений ошибок или новых функций, таких как обнаружение новых типов объектов.
  • После обновления модели и программного обеспечения выполняется повторное внедрение задания.
  • Данные истины по земле используются для проверки результатов.
  • Результаты записываются в хранилище и выгружаются в Azure Data Explorer для визуализации.

Тестирование и моделирование закрытых циклов

Тестирование автономных транспортных средств — это процесс тестирования возможностей транспортных средств в режиме реального времени, включая обратную связь в режиме реального времени с окружающей среды. Действия транспортного средства основаны как на его предварительно запрограммированном поведении, так и на динамических условиях, с которыми он сталкивается, и он корректирует свои действия соответствующим образом. Тестирование закрытого цикла выполняется в более сложной и реалистичной среде. Она используется для оценки способности транспортного средства обрабатывать реальные сценарии, включая реагирование на непредвиденные ситуации. Цель тестирования замкнутого цикла заключается в том, чтобы убедиться, что автомобиль может безопасно работать и эффективно в различных условиях, а также уточнить алгоритмы управления и процессы принятия решений по мере необходимости.

Конвейер ValOps интегрирует тестирование с закрытым циклом, сторонние имитации и приложения независимых поставщиков программного обеспечения.

Управление сценариями

На этапе ValOps каталог реальных сценариев используется для проверки способности автономного решения вождения имитировать поведение автономных транспортных средств. Цель заключается в том, чтобы ускорить создание каталогов сценариев, автоматически считывая сеть маршрутов, которая является частью сценария, из общедоступно доступных и свободно доступных цифровых карт. Используйте сторонние средства для управления сценариями или упрощенного симулятора открытый код, например CARLA, который поддерживает формат OpenDRIVE (xodr). Дополнительные сведения см. в разделе ScenarioRunner для CARLA.

Компоненты ValOps

  • Служба Azure Kubernetes выполняет крупномасштабную пакетную проверку для проверки открытого цикла в рамках платформы "Смола". Мы рекомендуем использовать BLOBFuse2 для доступа к файлам измерений. Вы также можете использовать NFS, но необходимо оценить производительность для варианта использования.
  • пакетная служба Azure выполняет крупномасштабную пакетную проверку для проверки открытого цикла в рамках платформы "Смола".
  • Azure Data Explorer предоставляет службу аналитики для измерений и ключевых показателей эффективности (то есть повторного моделирования и выполнения заданий).

Централизованные функции AVOps

Архитектура AVOps сложна и включает в себя различные сторонние стороны, роли и этапы разработки, поэтому важно реализовать хорошую модель управления.

Рекомендуется создать централизованную команду для обработки таких функций, как подготовка инфраструктуры, управление затратами, каталог метаданных и данных, происхождение, а также общая оркестрация и обработка событий. Централизованное использование этих служб является эффективным и упрощает операции.

Мы рекомендуем использовать централизованную команду для выполнения этих обязанностей:

  • Предоставление шаблонов ARM/Bicep, включая шаблоны для стандартных служб, таких как хранилище и вычислительные ресурсы, используемые каждой областью и подареей архитектуры AVOps
  • Реализация центральных экземпляров Служебная шина Azure / Центры событий Azure для оркестрации на основе событий цикла данных AVOps
  • Владение каталогом метаданных
  • Возможности сквозного происхождения и трассировки во всех компонентах AVOps

Схема, показывающая централизованные функции AVOps.

Подробности сценария

Эту архитектуру можно использовать для создания автоматизированного решения для вождения в Azure.

Потенциальные варианты использования

Автомобильные изготовители оборудования, поставщики уровня 1 и поставщики программного обеспечения, которые разрабатывают решения для автоматического вождения.

Рекомендации

Эти рекомендации реализуют основные принципы платформы Azure Well-Architected Framework, которая представляет собой набор руководящих принципов, которые можно использовать для улучшения качества рабочей нагрузки. Дополнительные сведения см. в статье Microsoft Azure Well-Architected Framework.

Безопасность

Безопасность обеспечивает гарантии от преднамеренного нападения и злоупотребления ценными данными и системами. Дополнительные сведения см. в разделе "Общие сведения о компоненте безопасности".

Важно понимать разделение ответственности между автомобильным изготовителем оборудования и поставщиком облачных услуг. В транспортном средстве ИЗГОТОВИТЕЛЬ владеет целым стеком, но по мере перемещения данных в облако некоторые обязанности передаются поставщику облачных услуг. Платформа Azure как услуга (PaaS) обеспечивает встроенную улучшенную безопасность в физическом стеке, включая операционную систему. В дополнение к компонентам безопасности инфраструктуры можно применить следующие улучшения. Эти улучшения позволяют использовать подход нулевого доверия.

Оптимизация затрат

Оптимизация затрат заключается в сокращении ненужных расходов и повышении эффективности работы. Дополнительные сведения см. в разделе Обзор критерия "Оптимизация затрат".

Эти стратегии можно использовать для снижения затрат, связанных с разработкой автономных решений для вождения:

  • Оптимизация облачной инфраструктуры. Тщательное планирование и управление облачной инфраструктурой может помочь сократить затраты. Например, используйте экономичные типы экземпляров и масштабируемую инфраструктуру для удовлетворения изменяющихся рабочих нагрузок. Следуйте инструкциям в Azure Cloud Adoption Framework.
  • Используйте точечные Виртуальные машины. Вы можете определить, какие рабочие нагрузки в развертывании AVOps не требуют обработки в течение определенного интервала времени и использовать spot Виртуальные машины для этих рабочих нагрузок. Точечный Виртуальные машины позволяет воспользоваться неиспользуемой емкостью Azure для значительной экономии затрат. Если Azure нуждается в емкости, инфраструктура Azure вытеснит виртуальные машины.
  • Используйте автомасштабирование. Автоматическое масштабирование позволяет автоматически настраивать облачную инфраструктуру на основе спроса, уменьшая потребность в ручном вмешательстве и помогая сократить затраты. Дополнительные сведения см. в разделе "Проектирование" для масштабирования.
  • Рекомендуется использовать горячие, холодные и архивные уровни для хранения. Хранилище может быть значительной стоимостью в автономном решении для вождения, поэтому вам нужно выбрать варианты экономичного хранения, такие как холодное хранилище или редкое хранилище. Дополнительные сведения см. в разделе "Управление жизненным циклом данных".
  • Используйте средства управления затратами и оптимизации. Microsoft Cost Management предоставляет средства, которые помогают выявлять и устранять проблемы сокращения затрат, таких как неиспользуемые или неиспользуемые ресурсы.
  • Рассмотрите возможность использования служб Azure. Например, можно использовать Машинное обучение Azure для создания и обучения моделей автономного вождения. Использование этих служб может быть более экономичным, чем строительство и обслуживание инфраструктуры внутри дома.
  • Используйте общие ресурсы. По возможности можно использовать общие ресурсы, такие как общие базы данных или общие вычислительные ресурсы, чтобы сократить затраты, связанные с автономной разработкой. Централизованные функции в этой архитектуре, например, реализуют центральный автобус, концентратор событий и каталог метаданных. Службы, такие как Azure Data Share , также могут помочь вам достичь этой цели.

Соавторы

Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками.

Основные авторы:

Другие участники:

Чтобы просмотреть недоступные профили LinkedIn, войдите в LinkedIn.

Следующие шаги

Дополнительные сведения о разработке DataOps для автоматизированной системы вождения см. в следующем разделе:

Вас также могут заинтересовать следующие связанные статьи: