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

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

Идеи решения

Эта статья является идеей решения. Если вы хотите расширить содержимое с дополнительными сведениями, такими как потенциальные варианты использования, альтернативные службы, рекомендации по реализации или рекомендации по ценам, сообщите нам, предоставив отзыв GitHub.

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

Архитектура

Diagram that shows an AVOps architecture.

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

Поток данных

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

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

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

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

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

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

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

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

сбор данных

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

Diagram that shows offline and online data collection.

DataOps

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

Компоненты DataOps

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

MLOps

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

  • Модели извлечения признаков (например, C пакет интерфейса пользователя и 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 для визуализации.

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

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

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

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

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

Компоненты ValOps

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

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

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

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

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

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

Diagram that shows centralized AVOps functions.

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

Эту архитектуру можно использовать для создания автоматизированного решения для вождения в 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 для автоматизированной системы вождения см. в следующем разделе:

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