Идеи решения
В этой статье описывается идея решения. Ваш архитектор облака может использовать это руководство, чтобы визуализировать основные компоненты для типичной реализации этой архитектуры. Используйте эту статью в качестве отправной точки для разработки хорошо спроектированного решения, которое соответствует конкретным требованиям рабочей нагрузки.
Эта архитектура содержит рекомендации и рекомендации по разработке автоматизированного решения для вождения.
Архитектура
Скачайте файл 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 хранит результаты метаданных, такие как сохраненные измерения.
- data Share используется для совместного использования данных с партнерскими организациями, такими как метки компаний, с повышенной безопасностью.
- 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) обеспечивает встроенную улучшенную безопасность в физическом стеке, включая операционную систему. В дополнение к компонентам безопасности инфраструктуры можно применить следующие улучшения. Эти улучшения позволяют использовать Zero-Trust подход.
- Частные конечные точки для безопасности сети. Дополнительные сведения см. в статье Частные конечные точки azure Data Explorer и Разрешить доступ к пространствам имен Центров событий Azure через частные конечные точки.
- Шифрование при хранении и передаче. Дополнительные сведения см. в обзоре шифрования Azure.
- Управление удостоверениями и доступом, использующими удостоверения Microsoft Entra и
политики условного доступа Microsoft Entra. - безопасности на уровне строк (RLS) для Azure Data Explorer.
- Управление инфраструктурой, использующее политику Azure.
- Управление данными, использующее Microsoft Purview.
- управление сертификатами для защиты подключения транспортных средств.
- Минимальный доступ к привилегиям. Ограничение доступа пользователей с помощью Just-In-Time (JIT) и Just-Enough-Administration (JEA), адаптивных политик на основе рисков и защиты данных.
Оптимизация затрат
Оптимизация затрат заключается в сокращении ненужных расходов и повышении эффективности работы. Дополнительные сведения см. в разделе
Эти стратегии можно использовать для снижения затрат, связанных с разработкой автономных решений для вождения:
- Оптимизация облачной инфраструктуры. Тщательное планирование и управление облачной инфраструктурой может помочь сократить затраты. Например, используйте экономичные типы экземпляров и масштабируемую инфраструктуру для удовлетворения изменяющихся рабочих нагрузок. Следуйте инструкциям в Azure Cloud Adoption Framework.
- Используйте виртуальных машин. Вы можете определить, какие рабочие нагрузки в развертывании AVOps не требуют обработки в течение определенного интервала времени и использовать точечные виртуальные машины для этих рабочих нагрузок. Точечные виртуальные машины позволяют воспользоваться неиспользуемой емкостью Azure для значительной экономии затрат. Если Azure нуждается в емкости, инфраструктура Azure вытеснит виртуальные машины.
- Используйте автомасштабирование. Автоматическое масштабирование позволяет автоматически настраивать облачную инфраструктуру на основе спроса, уменьшая потребность в ручном вмешательстве и помогая сократить затраты. Дополнительные сведения см. в разделе Конструктор масштабирования.
- Рекомендуется использовать горячие, холодные и архивные уровни для хранения. Хранилище может быть значительной стоимостью в автономном решении для вождения, поэтому вам нужно выбрать варианты экономичного хранения, такие как холодное хранилище или редкое хранилище. Дополнительные сведения см. в управления жизненным циклом данных.
- Используйте средства управления затратами и оптимизации. microsoft Cost Management предоставляет средства, которые помогают выявлять и устранять проблемы сокращения затрат, таких как неиспользуемые или неиспользуемые ресурсы.
- Рассмотрите возможность использования служб Azure. Например, можно использовать Машинное обучение Azure для создания и обучения моделей автономного вождения. Использование этих служб может быть более экономичным, чем строительство и обслуживание инфраструктуры внутри дома.
- Используйте общие ресурсы. По возможности можно использовать общие ресурсы, такие как общие базы данных или общие вычислительные ресурсы, чтобы сократить затраты, связанные с автономной разработкой. Централизованные функции в этой архитектуре, например реализуйте центральный автобус, концентратор событий и каталог метаданных. Службы, такие как Azure Data Share, также могут помочь вам достичь этой цели.
Участников
Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками.
Основные авторы:
- Райан Матсумура | Старший менеджер по программам
- Джохен Шройер | Ведущий архитектор (Service Line Mobility)
Другие участники:
- Мик Альбертс | Технический писатель
- Дэвид Питерсон | Главный архитектор
- Габриэль Салла | Специалист по глобальному черному поясу HPC/AI
Чтобы просмотреть недоступные профили LinkedIn, войдите в LinkedIn.
Дальнейшие действия
- Что такое Машинное обучение Azure?
- Что такое пакетная служба Azure?
- документации по Фабрике данных Azure
- Что такое Общий ресурс данных Azure?
Связанные ресурсы
Дополнительные сведения о разработке DataOps для автоматизированной системы вождения см. в следующем разделе:
Вы также можете быть заинтересованы в следующих статьях: