Идеи решения
В этой статье описывается идея решения. Ваш архитектор облака может использовать это руководство, чтобы визуализировать основные компоненты для типичной реализации этой архитектуры. Используйте эту статью в качестве отправной точки для разработки хорошо спроектированного решения, которое соответствует конкретным требованиям рабочей нагрузки.
Эта архитектура содержит рекомендации и рекомендации по разработке автоматизированного решения для вождения.
Архитектура
Скачайте файл Visio, содержащий схемы архитектуры в этой статье.
Поток данных
Данные измерения приходят из потоков данных для датчиков, таких как камеры, радар, узи, лидар и телеметрия транспортного средства. Средства ведения журнала данных в данных измерения хранилища транспортных средств на устройствах хранения средства ведения журнала. Затем данные хранилища средства ведения журнала передаются в целевое озеро данных. Служба, например Azure Data Box или Azure Stack Edge, или выделенное подключение, например Azure ExpressRoute, прием данных в Azure.
Данные измерений также могут быть искусственными данными из моделирования или из других источников. (MDF4, TDMS и rosbag являются общими форматами данных для измерений.) На этапе DataOps обрабатываются приемные измерения. Проверки и проверки качества данных, такие как контрольная сумма, выполняются для удаления данных низкого качества. На этом этапе извлекаются необработанные метаданные информации, записанные тест-драйвером во время тестового выпуска. Эти данные хранятся в централизованном каталоге метаданных. Эта информация помогает подчиненным процессам определять определенные сцены и последовательности.
Данные обрабатываются конвейером извлечения, преобразования и загрузки (ETL) Фабрика данных Azure. Выходные данные хранятся как необработанные и двоичные данные в Azure Data Lake. Метаданные хранятся в Azure Cosmos DB. В зависимости от сценария его можно отправить в Azure Data Explorer или Когнитивный поиск Azure.
Дополнительные сведения, аналитические сведения и контекст добавляются в данные для повышения точности и надежности.
Извлеченные данные измерения предоставляются партнерам по маркировке (человеку в цикле) через Azure Data Share. Сторонние партнеры выполняют автоматическую маркировку, хранение и доступ к данным с помощью отдельной учетной записи Data Lake.
Помеченные наборы данных потоки в подчиненные процессы MLOps , главным образом для создания моделей восприятия и слияния датчиков. Эти модели выполняют функции, используемые автономными транспортными средствами для обнаружения сцен (то есть, изменения полосы движения, заблокированные дороги, пешеходы, светофоры и дорожные знаки).
На этапе ValOps обученные модели проверяются с помощью открытого цикла и тестирования закрытого цикла.
Такие инструменты, как 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
Подробности сценария
Эту архитектуру можно использовать для создания автоматизированного решения для вождения в Azure.
Потенциальные варианты использования
Автомобильные изготовители оборудования, поставщики уровня 1 и поставщики программного обеспечения, которые разрабатывают решения для автоматического вождения.
Рекомендации
Эти рекомендации реализуют основные принципы платформы Azure Well-Architected Framework, которая представляет собой набор руководящих принципов, которые можно использовать для улучшения качества рабочей нагрузки. Дополнительные сведения см. в статье Microsoft Azure Well-Architected Framework.
Безопасность
Безопасность обеспечивает гарантии от преднамеренного нападения и злоупотребления ценными данными и системами. Дополнительные сведения см. в разделе "Общие сведения о компоненте безопасности".
Важно понимать разделение ответственности между автомобильным изготовителем оборудования и поставщиком облачных услуг. В транспортном средстве ИЗГОТОВИТЕЛЬ владеет целым стеком, но по мере перемещения данных в облако некоторые обязанности передаются поставщику облачных услуг. Платформа Azure как услуга (PaaS) обеспечивает встроенную улучшенную безопасность в физическом стеке, включая операционную систему. В дополнение к компонентам безопасности инфраструктуры можно применить следующие улучшения. Эти улучшения позволяют использовать подход нулевого доверия.
- Частные конечные точки для безопасности сети. Дополнительные сведения см. в разделе "Частные конечные точки" для Azure Data Explorer и разрешение доступа к пространствам имен Центры событий Azure через частные конечные точки.
- Шифрование при хранении и передаче. Дополнительные сведения см. в обзоре шифрования Azure.
- Управление удостоверениями и доступом, использующими удостоверения Microsoft Entra и политики условного доступа Microsoft Entra.
- Безопасность на уровне строк (RLS) для Azure Data Explorer.
- Управление инфраструктурой, использующее Политика Azure.
- Управление данными, использующее Microsoft Purview.
- Управление сертификатами для обеспечения безопасности подключения транспортных средств.
- Минимальный доступ к привилегиям. Ограничение доступа пользователей с помощью JIT и JIT-администрирования (JEA), адаптивных политик на основе рисков и защиты данных.
Оптимизация затрат
Оптимизация затрат заключается в сокращении ненужных расходов и повышении эффективности работы. Дополнительные сведения см. в разделе Обзор критерия "Оптимизация затрат".
Эти стратегии можно использовать для снижения затрат, связанных с разработкой автономных решений для вождения:
- Оптимизация облачной инфраструктуры. Тщательное планирование и управление облачной инфраструктурой может помочь сократить затраты. Например, используйте экономичные типы экземпляров и масштабируемую инфраструктуру для удовлетворения изменяющихся рабочих нагрузок. Следуйте инструкциям в Azure Cloud Adoption Framework.
- Используйте точечные Виртуальные машины. Вы можете определить, какие рабочие нагрузки в развертывании AVOps не требуют обработки в течение определенного интервала времени и использовать spot Виртуальные машины для этих рабочих нагрузок. Точечный Виртуальные машины позволяет воспользоваться неиспользуемой емкостью Azure для значительной экономии затрат. Если Azure нуждается в емкости, инфраструктура Azure вытеснит виртуальные машины.
- Используйте автомасштабирование. Автоматическое масштабирование позволяет автоматически настраивать облачную инфраструктуру на основе спроса, уменьшая потребность в ручном вмешательстве и помогая сократить затраты. Дополнительные сведения см. в разделе "Проектирование" для масштабирования.
- Рекомендуется использовать горячие, холодные и архивные уровни для хранения. Хранилище может быть значительной стоимостью в автономном решении для вождения, поэтому вам нужно выбрать варианты экономичного хранения, такие как холодное хранилище или редкое хранилище. Дополнительные сведения см. в разделе "Управление жизненным циклом данных".
- Используйте средства управления затратами и оптимизации. Microsoft Cost Management предоставляет средства, которые помогают выявлять и устранять проблемы сокращения затрат, таких как неиспользуемые или неиспользуемые ресурсы.
- Рассмотрите возможность использования служб Azure. Например, можно использовать Машинное обучение Azure для создания и обучения моделей автономного вождения. Использование этих служб может быть более экономичным, чем строительство и обслуживание инфраструктуры внутри дома.
- Используйте общие ресурсы. По возможности можно использовать общие ресурсы, такие как общие базы данных или общие вычислительные ресурсы, чтобы сократить затраты, связанные с автономной разработкой. Централизованные функции в этой архитектуре, например, реализуют центральный автобус, концентратор событий и каталог метаданных. Службы, такие как Azure Data Share , также могут помочь вам достичь этой цели.
Соавторы
Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками.
Основные авторы:
- Райан Матсумура | Старший менеджер по программам
- Джохен Шройер | Ведущий архитектор (Service Line Mobility)
Другие участники:
- Мик Альбертс | Технический писатель
- Дэвид Питерсон | Главный архитектор
- Габриэль Салла | Специалист по глобальному черному поясу HPC/AI
Чтобы просмотреть недоступные профили LinkedIn, войдите в LinkedIn.
Следующие шаги
- Что такое Машинное обучение Azure?
- Что такое пакетная служба Azure?
- Документация по фабрике данных Azure
- Что такое Azure Data Share?
Связанные ресурсы
Дополнительные сведения о разработке DataOps для автоматизированной системы вождения см. в следующем разделе:
Вас также могут заинтересовать следующие связанные статьи: