Asynchronous Large Language Model Enhanced Planner for Autonomous Driving
https://arxiv.org/abs/2406.14556
Asynchronous Large Language Model Enhanced Planner for Autonomous Driving
Despite real-time planners exhibiting remarkable performance in autonomous driving, the growing exploration of Large Language Models (LLMs) has opened avenues for enhancing the interpretability and controllability of motion planning. Nevertheless, LLM-base
arxiv.org
0. Abstract
- Real-time planners vs LLM based planners
실시간 플래너는 자율주행 분야에서 이미 뛰어난 성능을 보이고 있다. 그럼에도 불구하고 모션 플래닝의 해석 가능성과 제어 가능성을 향상시킬 수 있는 LLM 기반의 플래너들의 연구가 확대되고 있다.
이전 연구들에서의 LLM 기반 플래너들은 높은 자원 소비와 긴 추론 시간과 같은 주요한 문제에 직면하고 있으며, 이는 실제 적용에서 상당한 장애물이 된다.
- LLM 기반 플래너의 문제를 해결하는 프레임워크: AsyncDriver
이러한 문제를 해결하기 위해, 해당 연구는 AsyncDriver라는 새로운 Asynchronous LLM-enhanced closed-loop framework를 제안한다. 해당 프레임워크는 LLM이 생성하는 scene-associated instruction features를 활용하여 실시간 플래너가 더 정확하고 제어 가능한 궤적 예측을 수행하도록 돕는다.
-> LLM이 실시간 플래너를 보조하는 역할을 하며, 실시간 플래너가 더 정확하고 의도대로 제어 가능한 경로를 예측한다.
cf1. Asynchronous: 동시에 일어나지 않는 = 비동기
cf2. scene-associated instruction: LLM이 환경 정보를 분석하고 이에 대해 내린 지시
또한 이 프레임워크는 LLM과 실시간 플래너의 추론 과정을 분리((decouple))하여, 추론 속도 차이를 비동기적으로 활용함으로써 LLM으로 인해 발생하는 연산 비용을 줄이면서도 유사한 성능을 유지하는 데 성공하였다.
실험 결과 nuPlan의 까다로운 시나리오에서 뛰어난 closed-loop evaluation 성능을 얻었다.
1. Introduction
- Motion planning
Motion Planning은 자율 주행에서 중요한 역할을 하며, 차량의 경로 계획과 안전성에 직접적인 영향을 미친다.
이러한 모션 플래닝을 효과적으로 평가하는 방법은 closed-loop simulation이다. 이 때 플래너가 예측한 궤적에 따라 시나리오들이 동적으로 바뀌기에 모델이 더 높은 예측 정확도와 편향 보정 능력 bias correction capabilities을 갖춰야 한다.
cf1. Motion planning: 로봇이 어디부터 어디까지 가고싶다는 추상적인 명령을 인풋으로 받아들였을때, 어떻게 갈 것인지 로봇의 동작을 자동으로 생성하는 알고리즘
cf2. bias correction: 특정 패턴에 지나치게 치우치지 않도록 하는 조정 과정.
- Planner 비교
(a) learning-based real-time motion planning frameworks
벡터화된 지도 정보를 입력으로 사용하며, Decoder를 활용하여 궤적을 예측한다.

cf. 학습 기반이 아닌 Rule-based 플래너도 존재하지만 모든 복잡한 시나리오를 완벽하게 반영하는 것이 불가능함.
단점 1: 순전히 데이터 기반으로 동작하기 떄문에 long-tail 문제에 취약하며, 훈련되지 않은 상황에서는 성능이 나쁘다.
단점 2: 학습 기반과 규칙 기반 플래닝 프레임워크 모두 제어 가능성((controllability))이 낮아 동적 환경에서 안전성과 신뢰성에 대한 우려 초래된다.
cf. 제어 가능성: 사용자가 원하는 방향으로 조정 가능한지
(b) LLM-based planner
GPT-4, llama2를 포함한 LLM들은 대규모 데이터셋으로 pre-training 되면서, 교통 법규 및 주행 시나리오를 이해하는 강력한 기반을 구축하였다. 그 결과 LLM 기반 플래너는 장면 분석 scene analysis, 추론 reasoning, 인간과의 상호작용 human interaction에서 우수한 성능을 보였으며, 이는 모션 플래닝의 해석 가능성 interpretability과 제어 가능성 controllability 향상을 위한 새로운 가능성을 열어주고 있다.

이러한 가능성도 존재하지만 다음과 같이 3개의 단점도 존재한다.
단점 1: Input으로 받는 장면 정보가 자연어를 통해 서술되므로, 허용된 입력 토큰 길이의 제약을 받게 되어, 복잡한 장면의 세부 정보를 포괄적이고 정확하게 표현하는 것이 어렵다.
ex) 복잡한 교통 환경(다수의 차량, 보행자, 신호 등)을 간결한 문장으로 설명해야 하므로 정보 손실이 발생할 가능성
단점 2: 최종 제어 신호를 만들 때 오차가 발생할 가능성이 존재한다.
-> LLM이 결과로 내놓는 linguistic output을 기반으로 제어 예측할 때 다음 두가지 방식을 따르는 데, 둘 다 오차의 우려가 존재한다.
제어 신호 만드는 방식 1) high-level commands를 control signals로 변환하게 된다. 이 과정에서 오차 발생
ex) "5m 앞에서 좌회전" -> control signal로 변환
제어 신호 만드는 방식 2) trajectory points를 부동소수점으로 출력하는 방식, LLM은 수치 예측에 능숙하지 않다.
ex) 위 피규어가 궤도 좌표를 출력하는 방식이다
단점 3: LLM 기반 플래너는 parameter가 매우 많아 실시간 플래너보다 추론 속도가 느리다.
-> LLM은 성능면에서 장점이 존재하여 기존 프레임워크들은 LLM을 핵심 의사 결정 요소로 활용한다. 하지만 추론 속도가 느리기에 실제 환경에서의 적용에 어려움을 준다.
(c) AsyncDriver

- 모델 구조 개요
1) Scene-Associated Instruction Feature Extraction Module

벡터화된 장면 정보 vectorized scene information와 일련의 경로 지시 routing instructions를 정렬하여 LLM의 지시 해석 및 복잡한 시나리오 이해 능력을 최대한 활용하도록 한다. high-level instruction features를 추출한다.
2) Adaptive Injection Block을 통해 실시간 플래너에 통합

이후 제안된 Adaptive Injection Block을 통해 실시간 플래너에 통합되어, 예측 정확도를 크게 향상시키고, 보다 정밀한 궤적 제어를 가능하게 한다.
3) LLM과 실시간 플래너의 분리

또한, 해당 연구의 접근 방식은 실시간 플래너의 기존 아키텍처를 유지하면서, LLM과 실시간 플래너의 추론 빈도를 분리((decoupling))할 수 있도록 설계되었다.
-> LLM 필요할 때만 동작하도록 하여 불필요한 연산량을 줄인다.
더 나아가 Adaptive Injection Block는 높은 범용성을 갖기에, 어떠한 transformer-based real-time planner에도 적용가능하며, 이를 통해 더 넓은 응용 가능성을 보인다.
뒤에서 더 자세한 피규어가 나올 것이다. 대충 이렇게 흘러 가는구나? 하고 넘어가면 된다.
- Contributions
- AsyncDriver라는 새로운 비동기적 LLM 강화 프레임워크를 제안한다.
- LLM의 추론 빈도를 조절하여 실시간 계획기와 독립적으로 동작하도록 한다.
- 높은 성능을 유지하면서도 계산 비용을 크게 절감한다.
- Adaptive Injection Block을 도입한다.
- 특정 모델에 의존하지 않는 방식으로 설계되어,
- scene-associated instruction features을 Transformer 기반 실시간 계획기에 쉽게 통합할 수 있다.
- 이를 통해 language-based routing instructions를 보다 잘 이해하고 따를 수 있도록 한다.
- 기존 방법과 비교했을 때, nuPlan의 어려운 시나리오에서도 폐쇄 루프 평가 성능(closed-loop evaluation performance)이 우수함을 입증하였다.
2. Related Work
2.1. Motion Planning For Autonomous Driving
- Modular Autonomous - Planning
자율주행을 위한 고전적인 모듈형 파이프라인은 perception -> prediction -> planning이다. 이 때 계획((planning)) 단계는 인지((perception)) 단계의 출력을 바탕으로 Future Trajectory를 예측하며, 이후 Control System이 이를 실행한다.
이 아키텍처는 Apollo와 같은 산업 표준 프레임워크에서 널리 사용되며, 각 모듈 간 명확한 데이터 인터페이스를 통해 개별 연구를 집중할 수 있도록 한다는 점에서 End-to-End 접근 방식과 차이를 보인다.
- Rule-Based vs Learning-Based Planners
1) Rule-based planners는 사전에 정의된 규칙을 기반으로 차량의 궤적을 결정한다.
ex1) IDM: 제동 및 정지 거리를 계산하여 앞차와의 안전거리 유지하도록 속도 조절.
ex2) PDM: 여러 IDM 경로 중 가장 높은 점수를 받는 경로를 최종 궤도로 선택. nuPlan 2023 SOTA
-> 미리 정의된 규칙을 벗어난 복잡한 주행 시나리오에서는 성능이 저하되는 단점이 존재함.
2) Learning-based planners는 대규모 데이터셋을 활용하여 imitation learning 혹은 offline reinforcement learning을 통해 인간 전문가의 운전 궤적을 모방하는 것을 목표로 둔다.
-> scope of datasets, model complexity 때문에 한계를 지니며, 경로 정보 및 환경 인식 측면에서 개선이 필요하다.
cf1. scope of datasets: 자율주행 모델이 학습하는 데이터셋이 어떤 도로 환경, 날씨, 교통 조건을 포함하는지의 범위
| 구분 | 구현 방식 | 단점 |
| Rule-based Planner | 사전에 정의된 규칙을 기반으로 차량의 궤적을 결정 |
정의된 규칙에서 벗어나면 성능 저하됨 |
| Learning-based Planner | Imitation learning 혹은 Offline reinforcement learning을 통해 인간 전문가의 운전 궤적을 모방 |
데이터 셋의 바이어스, 모델 복잡도 |
2.2. LLM For Autonomous Driving
GPT-4, LLaMA2와 같이 방대한 텍스트 데이터셋에서 학습된 LLM들은 우수한 일반화 능력과 추론 능력을 보여준다. 이러한 의사 결정 능력을 Autonomous driving planning에 적용하려는 연구들이 늘고 있다.
방법론 1) 자율주행 환경 정보((scene-information))를 언어적 표현으로 LLM에 통합하려던 연구
자율주행 차량의 상태, 장애물, 보행자, 그리고 다른 차량 정보가 포함된 환경 정보를 linguistic modalities로 바꿔 LLM에 입력으로 줘 의사 결정 및 설명을 수행하는 연구이다.
해당 방법론은 유한한 컨텍스트 길이로 인해 한계가 존재한다. LLM은 받을 수 있는 최대 토큰 수가 존재하여 context의 길이 한계가 존재하는데, 이로 인해 정확한 정보를 모두 담는 linguistic modalities로의 표현이 어려워지고 성능이 낮아진다.
방법론 2) Multi-modal strategy # 언어적 표현만으로 모든걸 표현하지 말고, 다른 센서 사용해서 비전 토큰도 던져주자.
DrivingWithLLM, DriveGPT4, RAGDriver와 같은 모델들이 사용하는 방식으로 1번 방법론 한계를 극복하기 위해 개발되었다. 벡터화된 또는 이미지/비디오 데이터를 언어적 지시((linguistic- instructions))와 결합하여 포괄적인 주행 시나리오 해석이 가능하도록 한다. 즉 비디오, 센서 데이터 등과 결합하여 보다 정확한 의사 결정을 수행할 수 있도록 하는 것이다.
하지만 최종 output으로 나오는 언어를 사용하여 control signals를 표현하는 데 한계가 존재한다.
ex) "5m 앞에서 좌회전" -> control signal로 변환

cf1. DrivingWithLLM은 언어로 표현된 high-level commands를 출력으로 내놓는다. 이를 제어 신호로 바꿀 때 오차가 발생.
cf2. DriveGPT4는 경로점((waypoints))을 통해 표현. Closed-loop 시뮬레이션 평가가 부족하다.
방법론3) Multi-modal strategy + low-level controllers or regressors
정확한 차량 제어를 위해 LLM 뒤에 low-level controller 혹은 regressors을 연결하여 closed-loop evaluation에 초점을 두는 방법론이다.


각 Planning step 마다 serial language decoding 혹은 full LLM inference이 필요하다. 실시간 반응성을 저하시켜, 실제 환경에서의 적용이 제한된다.
cf. Serial Language Decoding: LLM이 출력을 생성할 때 토큰를 하나씩 생성
| 구분 | 장점 | 단점 |
| 방법론 1) 환경 정보를 언어 표현으로 LLM에 전달 - LLM의 일반화 및 추론 성능을 활용 |
LLM의 발전에 따른 일반화 및 추론 성능 |
유한한 컨텍스트 길이로 인한 자율주행 환경 표현 한계 |
| 방법론 2) + 이미지 등 다른 모달 데이터도 같이 사용 - Context window 한계 극복 |
비디오, 센서 데이터 등과 결합하여 보다 정확한 의사 결정을 수행 | LLM의 최종 output으로 나오는 언어를 control signals로 변환하는 데 한계가 존재 |
| 방법론 3) + LLM 뒤에 low-level controller 연결 - Control signal 표현 한계 극복 |
차량 제어 신호가 정확해짐 closed-loop evaluation 성능 좋아짐 |
각 플래닝 과정마다 LLM이 작동해야함. 실시간 성능이 저하되어 실제 산업에 사용 한계 |
위 연구들의 공통점은 LLM의 Direct language output을 사용한다는 것이다. 해당 연구는 LLM의 언어 출력을 바로 쓰지 않는다.
# 이 논문에서는 LLM을 보조적인 입장에서 Real-time learning-based planners의 성능을 향상시키는 방향으로 전환한다.
해당 전략은 다음과 같은 장점을 갖는다.
- 환경 이해 능력을 향상시킴.
- LLM과 실시간 플래너가 서로 다른 추론 속도로 독립 작동 -> LLM inference latency 감소, real-world deployment 용이
3. Data Generation
- nuPlan
Autonomous driving planning을 위한 최초의 대규모 벤치마크로, 1200시간의 실제 인간 운전 데이터로 구성되어 있다.
해당 연구는 다양한 학습 단계를 지원하기 위하여, nuPlan Train 및 Val 데이터셋을 기반으로 사전 학습 및 미세 조정((fine-tuning)) 데이터셋을 개발하였으며, 14개의 공식 난이도 높은 주행 시나리오 유형에 집중한다.
3.1. Pre-training Data Generation
1) Planning-QA
waypoints, high-level instructions, 그리고 control 간의 관계를 LLM이 더 잘 이해할 수 있도록 설계됨. 확장성을 고려하여 rule-based 접근 방식을 사용하여 생성되었다. waypoints, high-level instructions, 그리고 control 간 변환 과정에 초점을 둔 6가지 유형의 질문을 포함한다.

cf1. high-level instructions: 정지, 가속과 같은 velocity commands + 좌회전과 같은 routing commands
cf2. control: 속도 및 가속도 값을 포함함.
2) Reasoning1K
장면 설명을 기반으로한 추론 및 설명을 추가적으로 보안한 GPT-4가 생성한 1000개의 데이터. 이를 Planning-QA와 함께 혼합하여 사전 학습에 활용한다.


3.2. Fine-tuning Data Generation
멀티모달 이해 및 정렬을 위해 10,000개의 시나리오를 기반으로 구축한 파인 튜닝 데이터셋이다. 8초마다 한 프레임을 캡처하여, 180,000 프레임의 훈련 데이터와 20,000 프레임의 valiation 데이터를 얻었다.

각 데이터는 vectorized map data 및 언어 프롬프트를 포함하고 있다.
cf. Vectorized Map Data: 도로 구조, 차선, 신호등, 주행 가능한 영역 등을 수치적인 벡터 형태로 저장한 지도 데이터.
| 구분 | 목표 |
| Pre-training | 언어 기반 데이터를 활용하여 LLM의 이해 능력 강화 목표 |
| Fine-tuning | 이해도를 더 정교화 벡터화된 장면과 지시문을 정렬 |
4. Methodology # Asynchronous LLM-enhanced closed-loop framework, AsyncDriver

해당 프레임워크는 크게 두가지 메인 요소로 이루어진다.
1) Scene-Associated Instruction Feature Extraction Module # 장면 연관/ 지시 특징/ 추출 모듈..
-> 벡터화된 장면 정보와 일련의 경로 지시를 정렬하여 LLM의 지시 해석 및 복잡한 시나리오 이해 능력을 최대한 활용하도록 함.
2) Adaptive Injection Block # 적응형 주입 블록
-> 1번 모듈에서 추출한 feature를 실시간 플래너에 통합하는 모듈
또한 해당 프레임워크의 설계 덕분에 LLM과 실시간 플래너가 추론이 분리되며, 이를 통해 추론 효율성을 향상할 수 있다.
# LMDrive와 달리 필요할 때만 LLM이 추론한다.
4.1. Scene-Associated Instruction Feature Extraction Module
장면 데이터를 기반으로 LLM이 지시문을 해석하고 특징을 추출하는 과정

- Multi-modal Input
1) 환경 정보 획득
LLM 기반 자율주행 플레너가 주행 경로를 업데이트할 때마다 시뮬레이터 환경에서 vectorized scene information가 획득된다.

해당 정보는 Ego Info, 다른 에이전트, 과거 궤적 및 state 정보가 global map data와 함께 추출된 것이다. 모든 벡터 데이터는 ego 차량의 위치를 기준으로 상대값으로 표현된다.
2) 환경 정보를 인코더, 어뎁터를 통해 임베딩

해당 정보들은 Vector Map Encoder 및 Map Adapter를 거쳐 map embeddings로 도출된다.
cf1. 실시간 플래너에게 줄 때는 Map adapter를 거치지는 않지만, 거의 동일한 방식으로 실시간 플래너에도 이러한 정보를 준다.
cf2. LLM이 학습에 사용할 수 있도록 임베딩을 만들기 위해 어뎁터를 하나 더 끼는 듯하다.
3) 지도 임베딩 + 언어 임베딩을 llama2-13b 백본에 입력, 최종 hidden feature h를 도출한다.


여기서 중요한건 h는 경로 자체가 아니다. LLM이 환경 정보와 자연어 데이터를 받아 뽑은 중요한 Feature인 것이다. 이걸 이제 실시간 플래너에 전달하여 플래닝 성능을 올린다.
- Alignment Assistance Module

LLM이 routing instructions의 본질을 이해함에 동시에, vectorized scene information를 세밀하게 분석하여 최종 scene-associated high-level instruction features 추출을 강화하기 위해 Alignment Assistance Module를 사용한다.
자율주행 과정에서 필수적인 5가지 핵심 장면 요소를 선정하여, 이를 예측하는 Multi-task prediction 구조를 적용한다. 이는 훈련 단계에서 멀티모달 정렬을 위해서만 사용되며, 추론 단계에서는 사용되지 않는다.

cf. 환경 정보와 자연어 정보를 합쳐서, LLM을 통해 feature를 추출했었다. 해당 feature를 통해 이전 state 등을 예측해보면서 학습하여 얼라인이 잘 되도록 유도하는 것이다.
4.2. Adaptive Injection Block
Gamformer의 기존 디코더 구조를 발전시켜 Adaptive Injection Block을 구현한다. 이를 통해 LLM이 해석한 scene-associated instruction features를 실시간 플래너에 적응적으로 통합할 수 있게 된다.
1) Adaptive Injection Block의 Input

마지막 토큰 h를 Linear Transformation하여 새로운 표현을 생성한다.

2) Attention 메커니즘을 확장하여, LLM의 고수준 지시 정보를 통합

입력된 장면 정보(Scene Information)에 대한 Attention을 수행
LLM이 제공하는 장면 연관 지시 특징과도 cross-attenion을 수행
-> 예측 과정에서 지시 정보를 플래너에 통합하도록 함.
3) 업데이트된 instruction-enhanced query feature를 조정
학습 가능한 learnable adaptive gate에 의해 조정됨. 이후 최종적으로 원래 디코더의 어텐션 출력과 통합된다.
....
4.3. Asynchronous Inference ****
위 내용들은 LLM을 활용하여 실시간 플래너를 안내하여 , 구조적 무결성을 유지하면서도 유연하게 결합된 일련의 언어 지침을 통해 성능을 크게 향상시키려는 설계이다. 즉 성능을 위한 내용이지, 아직 LLM의 높은 자원 소비와 긴 추론 시간과 같은 주요한 문제는 해결하지 못했다.
이러한 문제를 해결하기 위해 LLM과 실시간 플래너의 추론 빈도를 효과적으로 분리하여, LLM이 매 프레임마다 처리할 필요가 없도록 한다. 사실상 이게 논문의 핵심이다. 비동기 간격 동안, 이전에 도출된 고수준 지침 feature가 계속해서 실시간 플래너의 예측 과정을 안내하며, 이는 추론 효율을 크게 향상시키고 LLM이 초래하는 연산 비용을 줄인다.
LLM이 3프레임마다 한 번씩 추론하도록 제어하면, 추론 시간은 약 40% 감소하면서도 정확도 손실은 약 1%에 불과하여, 정확도와 추론 속도의 최적 균형을 맞추는 데 있어 우리의 접근 방식이 효과적임을 입증한다.
4.4. Train Detail
이 섹션에서는 LLM을 자율주행에 최적화하는 과정을 설명한다.
- 사전 학습 (Pre-training)
- 데이터: Reasoning1K + Planning-QA에서 랜덤 샘플 1,500개
- 기법: LoRA 활용하여 LLM을 자율주행 특화 모델로 변환
- 결과: LLM이 자율주행 경로 계획(Motion Planning) 관련 지침을 더 정확하게 이해하도록 학습됨
- 미세 조정 (Fine-tuning)
- VectorMap Encoder & Decoder 구조 유지
- 사전 학습된 실시간 플래너 가중치 로드 → 학습 안정성 증가
- 손실 함수 (Loss) 구성
- Alignment Assistance Loss
- Lalign: 자율주행 요소별 정렬 보조 손실
- ego velocity/acceleration (L1), 속도 결정 (CE), 신호등 상태 (CE), 인접 차선 존재 여부 (BCE), 차선 변경 여부 (BCE)
- Planning Loss
- Lplan: 경로 계획 손실
- Mode prediction loss: GMM을 활용한 주변 차량 궤적 예측 (NLL)
- Ego Trajectory Prediction loss: 자율주행 차량의 미래 궤적 예측 (L1)
- Alignment Assistance Loss
1. 설명 가능성
-> 결국 나오는 최종 아웃풋은 path plan... 자연어가 아님. -> 결국에는 블랙박스 문제는 해결하지 못함.
LLM을 자율주행에 사용하려는 근본적인 이유를 버림...
2. long-tail
LLM이 추론 속도가 너무 느리니까 보조 역할로만 사용하고 학습 가능한 실시간 플래너를 사용하는데.. 의도대로 제어 가능한 경로를 예측할 것같긴함.
근데 결국 실시간 플래너를 사전 학습 학습시킬 때 데이터 분포에 의존함..
-> Go straight in 9.01 m. Turn right in 110.99 m. 와 같은 말은 잘 듣지만, 이에 대한 세부 계획을 세울 때 보지 못한 환경 정보를 만나면 결국에는 잘 대응하지 못함.
LLM만 사용했을 때도 롱테일 문제는 명확했음. ex) LMDrive...
3. 그냥 카메라 센서 + 비전 인코더 조합은 안되나..