ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Xpeng Perception로직 설명 관련 블로그 번역(CVPR2023)
    Autonomous Driving 2023. 6. 23. 04:25

    이 사람 글은 참 좋다.

    정리도 할 겸 gpt 도움을 받아 번역은 또 진행해본다.

    출처는 아래 글이다.

    https://towardsdatascience.com/bev-perception-in-mass-production-autonomous-driving-c6e3f1e46ae0

     

    BEV Perception in Mass Production Autonomous Driving

    The recipe of XNet, Xpeng’s BEV perception architecture

    towardsdatascience.com

     

    아래 글을 번역해보면서 느낀것은 중국이 자율주행 부분에서 우리나라 보다 더 잘하고

    방법도 훨씬더 좋은것 같다.

    걱정이긴하다......

    암튼 스타트업이 이렇게하는거 보면 대단하면서 부럽다.

     

    추가

    BEV Perception관련 글을 읽으면 최적화가 핵심인것 같다.

    연산시간이 많이 걸리는 이 로직을 어떻게 보드에 최적화해서 넣는지가 핵심인것 같다.

    그리고 많은 훈련시간이 걸리는 많큼 많은 데이터와 주석도 같이 붙는 

    알지만 따라하기 힘든 분야인것 같다.

     

    아래표를 보면 결국 TPVFormer든 Xnet 이던지 연산량 줄이는것이 핵심이다.

    Comparisons with Tesla's Occupancy Network
      Tesla's Occupancy Network Our TPVFormer
    Volumetric Occupancy Yes Yes
    Occupancy Semantics Yes Yes
    #Semantics >= 5 16
    Input 8 camera images 6 camera images
    Training Supervision Dense 3D reconstruction Sparse LiDAR semantic labels
    Training Data ~1,440,000,000 frames 28,130 frames
    Arbitrary Resolution Yes Yes
    Video Context Yes Not yet
    Training Time ~100,000 gpu hours ~300 gpu hours
    Inference Time ~10 ms on the Tesla FSD computer ~290 ms on a single A100

    BEV Perception in Mass Production Autonomous Driving

    이 블로그 글은 밴쿠버에서 개최된 CVPR 2023의 'End-to-end 자율주행 워크샵'에서 초청 강연으로 제공된 자료를 기반으로 합니다. 제목은 "중국에서의 대량 생산 자율주행의 실천"입니다.

     

    https://opendrivelab.com/e2ead/cvpr23.html

     

    CVPR 2023 Autonomous Driving Workshop | OpenDriveLab

    Welcome to the CVPR 2023 Workshop on End-to-End Autonomous Driving! This workshop aims to bring together leading researchers and practitioners to discuss upcoming paradigms for autonomous vehicles. Central to the program is a series of invited talks and fo

    opendrivelab.com


    최근 몇 년 동안 BEV 인식 기술은 큰 발전을 이루었습니다. 이는 자율주행 차량 주변의 환경을 직접 인식합니다. BEV 인식은 엔드 투 엔드 인식 시스템으로 볼 수 있으며, 엔드 투 엔드 자율주행 시스템으로 가는 중요한 단계입니다. 여기서 우리는 원시 센서 데이터를 입력으로 받고 고수준의 주행 계획 또는 저수준의 제어 동작을 출력으로 생성하는 완전히 미분 가능한 파이프라인으로 엔드 투 엔드 자율주행 시스템을 정의합니다.

     

    자율주행 커뮤니티는 엔드 투 엔드 알고리즘 프레임워크를 채택하는 방법들이 급속하게 성장하고 있습니다. 첫 번째 원칙부터 엔드 투 엔드 방식의 필요성에 대해 논의할 것입니다. 그런 다음 대량 생산 차량에 BEV 인식 알고리즘을 배치하기 위한 노력에 대해 살펴볼 것이며, Xpeng의 BEV 인식 아키텍처인 XNet의 개발을 예로 들겠습니다. 마지막으로, BEV 인식의 미래를 완전히 엔드 투 엔드 자율주행으로 향해 아이디어를 모색할 것입니다.

    엔드 투 엔드 시스템의 필요성
    어떤 공학적 문제를 해결할 때는 종종 분할 정복 방법을 사용하여 빠르게 실용적인 해결책을 찾아야 합니다. 이 전략은 큰 문제를 상대적으로 명확하게 정의된 작은 구성 요소로 분해하여 독립적으로 해결할 수 있도록 합니다. 이 접근 방식은 제품을 빠르게 완성하는 데 도움이 되지만, 로컬 최적해에 갇힐 위험성을 증가시킵니다. 전역 최적해에 도달하려면 모든 구성 요소를 엔드 투 엔드 방식으로 함께 최적화해야 합니다.

    80-20 규칙은 원하는 성능의 80%를 전체 노력의 20%로 달성할 수 있다는 개념을 강화합니다. 분할 정복 방법을 사용하는 장점은 최소한의 노력으로 빠르게 작업할 수 있다는 것입니다. 그러나 이 방법의 단점은 종종 성능이 80% 수준에서 천장에 달하는 것입니다. 성능 제한을 극복하고 로컬 최적해에서 벗어나기 위해서는 개발자들이 특정 구성 요소를 함께 최적화해야 하는데, 이것이 엔드 투 엔드 솔루션 개발의 첫 번째 단계입니다. 이 과정은 여러 차례 반복되어 성능 천장을 깨고, 완전한 엔드 투 엔드 솔루션을 달성할 때까지 진행되어야 합니다. 결과적으로 나타나는 곡선은 전역 최적해에 근사한까지 일련의 시그모이드 곡선 형태를 취할 수 있습니다. 엔드 투 엔드 솔루션을 향한 노력의 한 예로 BEV 인식 알고리즘의 개발이 있습니다.

    Perception 2.0: 엔드 투 엔드 인식
    전통적인 자율주행 스택에서는 2D 이미지를 인식 모듈에 입력하여 2D 결과를 생성합니다. 센서 퓨전은 다중 카메라에서 얻은 2D 결과들을 추론하여 이를 3D로 높이는 데 사용됩니다. 그런 다음, 생성된 3D 객체는 예측 및 계획과 같은 하향 구성 요소로 전달됩니다.

    그러나 센서 퓨전 단계는 여러 카메라 스트림의 인식 결과를 퓨전하기 위해 수많은 수작업 규칙을 필요로 합니다. 각 카메라는 관찰해야 할 객체의 일부분만을 인식하기 때문에 얻은 정보를 결합하기 위해서는 퓨전 로직의 신중한 조정이 필요합니다. 실제로 우리는 엔지니어의 머리를 통해 역전파를 수행하고 있습니다. 게다가, 이러한 규칙을 개발하고 유지하는 것은 복잡한 도시 환경에서 여러 문제를 야기하는 일련의 복잡성을 가지고 있습니다.

    이러한 도전을 극복하기 위해 우리는 Bird's Eye View (BEV) 인식 모델을 적용할 수 있습니다. 이를 통해 우리는 BEV 공간에서 환경을 직접 인식할 수 있습니다. BEV 인식 스택은 두 개의 별개의 구성 요소를 단일 솔루션으로 결합하여 인간이 만든 노출된 로직을 제거합니다. BEV 인식은 본질적으로 엔드 투 엔드 인식 솔루션입니다. 이는 엔드 투 엔드 자율주행 시스템을 향한 중요한 단계입니다.

    Xpeng Motors의 BEV 인식 아키텍처인 XNet
    Xpeng의 BEV 인식 아키텍처는 XNet이라는 코드명을 가지고 있습니다. 이는 2022년에 열린 Xpeng 1024 Tech Day에서 처음으로 공개되었습니다. 아래 시각화는 차량에 탑재된 XNet 인식 아키텍처가 동작하는 모습을 보여줍니다. 가운데의 빨간색 차량은 자율주행 차량으로서 로터리 교차로를 운행하는 모습입니다. 주변 정적 환경은 탑재된 인식에 의해 완전히 감지되며, HD 지도는 사용되지 않습니다. 우리는 XNet이 차량 주변의 다양한 동적 및 정적 객체를 정확하게 감지하는 것을 관찰할 수 있습니다.

     

    https://youtu.be/HvRz0RhRpYY

    Xpeng AI 팀은 XNet 아키텍처에 대한 실험을 두 해 이상 전인 2021년 초부터 시작했으며, 현재의 형태에 이르기까지 여러 차례의 반복을 거쳤습니다. 우리는 컨볼루션 신경망 (CNN) 백본을 활용하여 이미지 특징을 생성하고, 다중 카메라 특징은 트랜스포머 구조를 통해 BEV 공간으로 변환됩니다. 구체적으로는 교차 어텐션 모듈이 사용되었습니다. 여러 이전 프레임의 BEV 특징은 자아 자세와 공간적 및 시간적으로 융합되어 융합된 특징에서 동적 및 정적 요소를 해석합니다.

     

    비전 중심의 BEV 인식 아키텍처는 자율주행 솔루션의 대규모 배포의 비용 효율성을 향상시켜 더 비싼 하드웨어 구성 요소에 대한 필요성을 줄입니다. 정확한 3D 감지와 속도는 중복성의 새로운 차원을 펼치며 LiDAR와 레이더에 대한 의존성을 감소시킵니다. 게다가 실시간 3D 환경 인식은 HD 지도에 대한 의존도를 줄입니다. 이러한 기능들은 더욱 신뢰성 있고 비용 효율적인 자율주행 솔루션에 크게 기여합니다.

    XNet의 도전과제
    이러한 신경망을 생산 차량에 배치하는 것은 몇 가지 도전을 안겨줍니다. 첫째, XNet을 훈련시키기 위해 수백만 개의 다중 카메라 비디오 클립이 필요합니다. 이러한 클립에는 약 10억 개의 주석이 필요한 객체가 포함됩니다. 현재의 주석 효율을 기준으로 약 2,000명의 인력이 주석 작업에 필요한 인력으로 계산됩니다. 유감스럽게도 이는 Xpeng의 약 1,000명 정도의 내부 주석 팀에서는 약 2년이 소요될 작업으로서는 수용할 수 없는 시간이 됩니다. 모델 훈련 관점에서는 단일 기계를 사용하여 이러한 신경망을 훈련시키는 데 거의 1년이 걸릴 것입니다. 또한, NVIDIA Orin 플랫폼에서 어떠한 최적화 없이 이러한 신경망을 배치하는 것은 하나의 칩의 122%의 컴퓨팅 파워를 소비할 것입니다.

    이러한 모든 문제들은 복잡하고 대규모인 이러한 모델의 성공적인 훈련과 배포를 위해 우리가 대처해야 할 도전입니다.

    자동 주석
    주석 작업의 효율성을 향상시키기 위해 우리는 매우 효과적인 자동 주석 시스템을 개발했습니다. 이 오프라인 센서 퓨전 스택은 효율성을 최대 45,000배까지 향상시켜 200년이 필요한 주석 작업을 단 17일만에 완료

    할 수 있게 해줍니다.

     

    위에서 언급한 것은 LiDAR 기반의 자동 주석 시스템이며, 우리는 또한 비전 센서에 완전히 의존하는 시스템을 개발했습니다. 이를 통해 LiDAR를 갖추지 않은 고객 플릿으로부터 얻은 클립에 주석을 달 수 있습니다. 이는 데이터 폐쇄 루프의 중요한 부분이며, 자기 진화형 인식 시스템의 개발을 향상시키는 데 기여합니다.

     

    https://youtu.be/QJ2NqaFXXK4

    우리는 XNet의 훈련 파이프라인을 두 가지 관점에서 최적화했습니다. 첫째, 혼합 정밀도 훈련과 연산자 최적화 기술을 적용하여 단일 노드에서의 훈련 과정을 간소화하여 훈련 시간을 10배로 줄였습니다. 그리고 우리는 Alicloud와 협력하여 계산 성능이 600 PFLOPS인 GPU 클러스터를 구축하여 단일 기계에서 다중 기계로의 훈련을 확장할 수 있게 했습니다. 이로써 훈련 시간을 더욱 줄였으나, 이 과정은 선형 성능 확장을 달성하기 위해 훈련 절차를 주의 깊게 조정해야 했기 때문에 쉽지는 않았습니다. 전반적으로 XNet의 훈련 시간을 276일에서 단지 11시간으로 줄였습니다. 훈련 과정에 더 많은 데이터를 추가할수록 훈련 시간이 자연스럽게 증가하므로 추가적인 최적화가 필요합니다. 따라서 확장 최적화는 계속되고 중요한 노력으로 남아 있습니다.

     

    우리는 최적화 없이 Nvidia Orin 칩에서 XNet을 실행하면 칩의 계산 파워의 122%가 필요하다는 것을 알았습니다. 시작 부분에 표시된 프로파일링 차트를 분석한 결과, 트랜스포머 모듈이 대부분의 실행 시간을 소비하는 것을 관찰했습니다. 이는 Orin 칩의 초기 설계 단계에서 트랜스포머 모듈에 충분한 주목이 되지 않았기 때문에 이해할 수 있습니다. 그 결과로 우리는 Orin 플랫폼을 지원하기 위해 트랜스포머 모듈과 어텐션 메커니즘을 재설계해야 했습니다. 이를 통해 3배의 속도 향상을 달성할 수 있었습니다.

     

     

    더 최적화하기 위한 동기를 갖고, 우리는 가지치기(pruning)를 통해 네트워크를 최적화하였고, 이로 인해 추가적인 2.6배의 속도 향상을 이룩했습니다. 마지막으로, GPU와 DLA 간의 작업 부하 분산을 이용하여 1.7배의 추가적인 속도 향상을 달성하였습니다.

    이러한 다양한 최적화 기법을 통해 XNet의 GPU 이용률을 122%에서 단지 9%로 줄였습니다. 이를 통해 우리는 Orin 플랫폼에서 새로운 아키텍처에 대한 새로운 가능성을 탐색할 수 있게 되었습니다.

    자기 진화형 데이터 엔진
    XNet 아키텍처의 구현을 통해 이제 모델의 성능을 향상시키기 위한 데이터 주도형 반복을 시작할 수 있습니다. 이를 위해 먼저 자동차의 극단적인 경우를 식별한 다음, 관련 이미지를 수집하기 위해 고객 플릿에 구성 가능한 트리거를 배치합니다. 그 후, 자연어로 된 짧은 설명이나 이미지 자체를 기반으로 수집한 데이터에서 이미지를 검색합니다. 이를 통해 대규모 언어 모델의 최근 발전을 활용하여 데이터셋의 조립과 주석 작업의 효율성을 높일 수 있습니다.

     

     

    XNet 아키텍처와 데이터 엔진을 통해 우리는 확장 가능하고 자기 진화형인 인식 시스템을 만들었습니다.

    미래
    Xpeng Highway NGP 2.0의 최신 버전은 고속도로 및 도시 자율 주행 솔루션을 통합하여 사용자가 다른 도시에 핀을 놓고 시작부터 끝까지 원활한 경험을 할 수 있게 합니다. 이 통합은 XNet에 의해 가능하며, 모든 시나리오에 걸친 통합 스택에 견고한 기반을 제공합니다. 궁극적인 목표는 종단 간 자율 주행으로 사용자에게 지점 간 사용자 경험을 가능하게 하는 것입니다.

    자율 주행 시스템을 종단 간으로 구분 가능하게 만들기 위해 다른 중요한 부분은 기계 학습 기반의 계획 스택입니다. 학습 기반 계획 솔루션은 모방 학습 또는 강화 학습 접근법으로 크게 나눌 수 있습니다. 대규모 언어 모델(Large Language Models, LLMs)의 최근 발전은 이 중요한 주제의 발전에 큰 잠재력을 보여주고 있습니다. 아래의 Github 저장소는 종단 간 자율 주행의 성장하는 분야에서 관련 작업을 실시간으로 수집한 컬렉션입니다.

     

    https://github.com/OpenDriveLab/End-to-end-Autonomous-Driving

     

    GitHub - OpenDriveLab/End-to-end-Autonomous-Driving: All you need for End-to-end Autonomous Driving

    All you need for End-to-end Autonomous Driving. Contribute to OpenDriveLab/End-to-end-Autonomous-Driving development by creating an account on GitHub.

    github.com

    요약
    나누어서 정복하는 방식은 노력의 20%로 성능의 80%를 달성합니다. 종단 간 접근법은 80% 성능 천장을 깨려고 하지만 그 비용은 훨씬 더 크게 증가할 수 있습니다.
    XNet은 종단 간 인식 시스템으로서 종단 간 전체 스택 솔루션을 위한 중요한 한 단계입니다. 80-20 법칙에 따르면 이는 상당한 엔지니어링 노력(80%)을 필요로 합니다.
    XNet에 필요한 주석의 대량은 인간의 주석으로는 불가능하므로 자동 주석이 필요합니다. 자동 주석 시스템은 효율성을 45000배 향상시킬 수 있습니다.
    대규모 훈련은 단일 기계에서의 훈련 최적화와 한 기계에서 여러 기계로의 확장을 필요로 합니다.
    Nvidia Orin 플랫폼에서의 XNet 배포에는 변압기 모듈의 재구성이 필요합니다.
    이 블로그의 모든 차트와 비디오는 작성자에 의해 제작되었습니다.

    참고 자료
    중국에서 대규모 생산 자율 주행을 배포하는 과정에서 나타나는 독특한 도전 사항에 대해서는 다음 링크를 참조하십시오. 이는 또한 CVPR 2023에서의 같은 초청 강연의 일부입니다.

     

    https://www.youtube.com/watch?v=0dEoctcK09Q 

     

    반응형
Designed by Tistory.