LMDrive: Closed-Loop End-to-End Driving with Large Language Models
https://arxiv.org/abs/2312.07488
LMDrive: Closed-Loop End-to-End Driving with Large Language Models
Despite significant recent progress in the field of autonomous driving, modern methods still struggle and can incur serious accidents when encountering long-tail unforeseen events and challenging urban scenarios. On the one hand, large language models (LLM
arxiv.org
0. Abstract
자율주행 분야의 최신 성과에도 불구하고 여전히 어려운 도시 환경이나 예측 불가능한 사건에서 고전하는 문제를 겪는다.
기존의 자율주행 방식들은 센서 데이터 및 네비게이션 경로 등의 제한된 형식의 입력에 의존하며, 차량이 언어 정보를 이해하고 인간과 상호 작용하는 능력을 제한하게 된다.
이 논문에서 보이는 새로운 언어 기반의 End to End, 폐쇄 루프 자율주행 프레임워크 LMDrive는 Multi modal 센서 데이터를 자연어 지시와 통합하여 현실적인 지시 상황에서 인간 및 네비게이션 소프트웨어와의 상호 작용을 가능하게 한다.

또한, 언어 기반 폐쇄 루프 자율주행 연구를 촉진하기 위해 약 64,000개의 지시를 따르는 데이터 클립과 시스템이 복잡한 지시와 어려운 운전 시나리오를 처리하는 능력을 테스트하는 LangAuto 벤치마크를 공개한다.
1. Introduction
- 자율 주행의 상용화 및 방식 그리고 한계점 제시
자율주행 기술은 점차 상용화되고 있으며, 이제 자율주행차들이 실제 도로에서 운행될 정도로 많은 발전이 이루어졌다.
일반적으로 최신 자율주행 시스템은 다음과 같은 두 가지 주요 접근 방식으로 구분할 수 있다.
- Modular approach: 인식, 예측, 계획과 같은 여러 하위 모듈로 시스템을 분해하고, 고정된 인터페이스로 이들을 통합하는 모듈 방식.
- End-to-End approach: 신경망을 통해 센서 데이터를 직접 제어 신호로 변환하는 방식.
두 방식 모두 널리 채택되고 있고, 어려운 벤치마크에서도 지속적으로 성과를 내고 있다. 하지만 이 들은 센서 데이터, 목표 경로, 동작 명령 등의 고정 형식 입력에만 의존하는 한계를 보인다. 즉 Multi-modal 정보를 이해하거나 인간 및 환경과 상호작용 하는 능력이 제한된다.
- 한계점 극복을 위한 대안 제시
반면, LLM은 현 자율 주행 시스템과 달리 인공지능 전반에 가까운 놀라운 범위의 능력을 보여주고 있으며, 언어 이해, 지식 검색, 추론과 같은 텍스트를 이해하고 지식을 찾으며 논리적으로 판단하는 기능이 포함되어 있다. 이러한 LLM의 능력을 활용하여 Autonomous agents의 안정성, 제어 가능성, 설명 가능성을 크게 향상 시킬 가능성이 있다. 그렇기에 해당 논문에서는 다음과 같은 질문에 답하고자 한다.
Q. "Can we build cognitive autonomous driving systems on top of LLMs, that can interact with human passengers or navigation software simply by natural language?"
LLM을 기반으로 인간 승객이나 네비게이션 소프트웨어와 자연어로 상호작용할 수 있는
인지적 자율주행 시스템을 구축할 수 있을까요?
자율주행 시스템이 자연어를 이해할 수 있게 되면, 단순히 정해진 명령을 따르는 것을 넘어서 복잡한 상황에서의 논리적 판단이나 인간과의 상호작용이 가능해진다. 이를 통해 더 직관적인 운전 명령 수행과 문제 해결이 가능해진다. 쉽게 말하면 아이언맨 슈트 같은 걸 생각하면 된다 ㅇㅇ.. 이에 대한 예시는 다음과 같다.
ex1) long-tail의 예측 불가능한 사건 및 복잡한 도시 환경에서 자연어를 이해하는 자율주행 자동차는 승객이나 네비게이션 소프트웨어의 지시를 따름으로써 더 쉽게 상황을 극복할 수 있다.
ex2) 자율주행 시스템이 승객의 갑작스러운 경고를 자연어로 받아들이게 되면, 기존에는 복잡한 규칙을 만들어야 했던 상황에서도 간단하게 승객의 요청을 반영하여 유연하게 반응할 수 있다.
- LLM을 사용한 자율 주행 시스템 선행 연구 및 한계점
이러한 매력적 특성을 달성하기 위해 많은 선행 연구들이 LLM을 사용한 자율주행 시스템을 개선 가능성을 탐구했다.
가장 일반적인 방법의 과정은 다음과 같다.
1) 먼저 LLM을 사용하여 장면 인식 결과와 네비게이션 명령을 텍스트 설명으로 변환
2) 이 텍스트 설명을 LLM에 입력, 운전 결정을 텍스트로 생성
3) 위 운전 결정 텍스트를 실행 가능한 제어 명령으로 전환
이러한 일반적인 방법은 좋은 초기 결과가 있었지만, 서로 다른 LLM이 하위 작업을 개별적으로 처리하는 접근 방법은 끝까지 통합적인 학습이 어렵고, 대규모 데이터로 확장할 수 있는 능력을 잃어 오류와 불확실성에 대해 강건함을 잃는다.
예를 들어 생각해보자. 2, 3번 째 과정에서의 LLM은 '텍스트로 변환된 센서 데이터'를 받을 것이다. 만약 이러한 센서 데이터가 오류가 있어도 2, 3번 째 과정의 LLM은 센서 데이터에 접근할 수 없으므로 큰 오류의 누적으로 이어질 수 있다.
cf. LLM이 센서 데이터를 실시간으로 반영하지 않아 초기 오류가 계속 영향을 준다는 말이다.
이러한 문제를 해결하기 위해 End-to-End language-based driving methods 가 제안된다. 그러나 이러한 모든 방법은 개방형 환경(Open-Loop)에서 학습 및 평가를 진행하여 행동이 전문가의 행동과 비교되며 실제 환경에서 실행되지는 않는다.
그렇기에 이 논문에서는 Closed-loop 방식의 End to End 자율주행을 위한 지시를 따르는 Multi-modal LLM LMDrive를 소개한다. 제안된 모델은 카메라와 LiDAR 센서 데이터를 처리하고, 자연어로 된 운전 명령을 이해하며, 차량 제어 정보를 직접 생성할 수 있다.
# 정리 및 참고 : 기존 LLM을 사용한 자율주행 시스템의 문제점
1) End-to-End language-based driving methods 필요성: 오류, 불확실성의 모델 강건함
기존의 선행 연구 모델들은 LLM이 총 3번 사용되게 된다. 우선 센서로부터의 장면 인식 결과와 네비게이션 명령을 텍스트 설명으로 변환하는 LLM 1, 센서와 네비게이션 명령 텍스트를 입력으로 받아 운전 결정을 텍스트로 생성하는 LLM 2, 이 운전 결정 텍스트를 입력으로 받아 실행 가능한 제어 명령으로 전환하는 LLM 3.
만약 LLM 1이 센서 데이터를 잘못 해석하여 텍스트로 변환했다고 하자. 이 경우 텍스트를 입력으로 받는 LLM 2는 제대로된 센서 데이터가 아닌 잘못 해석된 텍스트 데이터에만 접근할 수 있을 것이다. 이 때 LLM2는 잘 못 해석된 텍스트를 통해 잘못 된 운전 결정 텍스트를 생성할 것이고 LLM 3은 또 이걸 받아 잘못 된 제어 명령을 만들 것이다.
이렇게 각 Task에서 LLM이 독립적으로 사용되면 한 번의 오차가 계속 누적될 수 있는 것이다.
그렇기에 오류, 불확실성의 강건함을 위한 End-to-End language-based driving methods가 필요하다.
2) Open Loop의 한계 및 Closed Loop의 필요성:

- Open-loop: 모델이 예측한 행동이 환경에 반영되지 않으며, 모델이 자신의 행동 결과를 피드백으로 받지 않는다. 각 입력에 대한 예측만 평가되고, 누적된 행동의 결과나 환경 변화에 적응할 수 없다.
- Closed-loop: 모델의 행동이 환경에 영향을 미치고, 그 결과가 다시 모델로 피드백됩니다. 이를 통해 모델은 자신의 행동이 환경에 미치는 영향을 학습하고, 연속된 행동을 통해 누적 오류와 환경 변화에 적응할 수 있습니다.
오픈 루프 방식이 실제 환경에서 평가가 불가능한 이유는 모델의 행동이 환경에 영향을 미치지 않고, 결과를 피드백으로 받지 않기 때문이다. 예를 들어 설명해보겠다.
1) 모델의 결정이 환경을 바꾸지 않는 한계: 자율주행 모델이 우회전을 예측했다고 하자. 모델의 결정이 환경을 바꾸지 못하므로 실제 환경에서는 아무 영향을 주지 못할 것이다. 실제 주행에서는 차가 방향을 틀면 차의 위치, 주위 차량 등이 바뀌게 된다. 하지만 오픈 루프 방식에서는 이게 바뀌지 않는 것이다. 그렇기에 실제 주행 상황을 제대로 반영하지 못하게 된다.
2) 피드백 부재로 인한 한계: 실제 환경에서는 모델의 행동이 환경을 변화시키고, 이 변화된 환경이 입력으로 들어와 모델이 다음 행동을 결정해야 한다. 하지만 오픈 루프에서는 연속적인 피드백 루프가 없기에, 실제 환경에서 연속된 주행 사항을 평가하는 것이 불가능하다.
따라서 오픈 루프에서는 각 행동이 개별적으로 평가될 뿐이고, 실제 주행 환경의 연속적인 변화를 반영하지 못해 현실적인 평가가 불가능하다. 실제 환경에서의 평가를 위해 이 논문은 Closed-loop 방식의 End to End 자율주행을 제시한다.
cf. Open Loop vs Closed Loop
https://kr.mathworks.com/help/mcb/gs/open-loop-and-closed-loop-control.html
Open-Loop and Closed-Loop Control
You clicked a link that corresponds to this MATLAB command: Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
kr.mathworks.com
- LMDrive 구현
이를 구현하기 위해 pre-trained LLM을 사용하며, 추론 능력을 유지하기 위해 모델을 수정없이(frozen) 그대로 사용한다. 자율주행에 LLM을 적합하게 사용하기 위해 여러 카메라-LiDAR 데이터 인코더와 학습 가능한 입출력 어뎁터를 통합한다. 또한 driving task에 특화된 pre-training 전략이 multi-modal vision 인코더에 적용된다.
Closed-loop 설정에서 LMDrive 학습을 돕기 위해 CARLA 시뮬레이터를 기반으로 언어 기반 운전 데이터셋을 구축하여 어려운 상황을 시뮬레이션 한다. 이러한 데이터는 모델의 실제적인 대화 상황에서의 운전 능력을 더 잘 테스트하기 위해 1) 내비게이션 지시와 알림 지시 모두를 고려하며, 2) LLM의 프롬프트 엔지니어링을 통해 지시 문구를 다양화하고, 3) 안전 문제나 교통 규칙으로 인해 불가능한 잘못된 지시를 포함하고, 4) “여기서 좌회전 후 다음에서 다시 좌회전”과 같은 다중 연속 구간을 포함한 내비게이션 지시를 확장한다. 즉 현실적인 대화 상황을 반영하기 위해 다양한 지시 유형과 난이도를 포함한 지시 세트를 마련한다.
CARLA
Open-source simulator for autonomous driving research.
carla.org
재현 가능성을 위해 CARLA 시뮬레이터를 활용하여 다양한 환경과 조건을 반영한 LangAuto 벤치마크를 구축, 제공하므로서 언어 기반의 자율주행 연구를 위한 새로운 기준을 제시한다.
# Intro 정리. 연구의 주요 기여
1) Multi-modal 센서 데이터와 자연어 지시를 통해 동적 환경과 상호작용하는 새로운 End-to-End, Closed-Loop, Language-based autonomous driving framework LMDrive 를 제안.
2) 각 클립 마다 하나의 네비게이션 지시, 여러 개의 알람 지시, multi-modal 센서 데이터 시퀀스 및 제어 신호가 포함된 총 6만 4천개의 클립으로 구성된 데이터셋 제공.
3) 언어 지시를 내비게이션 입력으로 받아들이는 자율 에이전트를 평가하기 위한 LangAuto 벤치마크 제시. 이 벤칰마크에는 잘못되거나 긴 지시 그리고 도전적인 적대적 주행 시나리오가 포함됨.
4) 다양한 실험을 통해 모델의 효과를 검증하고, 후속 연구에 유용한 정보 제공.
2. Related Works
2.1. End-to-End Autonomous Driving
1) UniAD: 자율주행 시스템의 모든 기능을 통합하여 한 시스템 안에서 효율적으로 상호작용할 수 있는 프레임워크를 제공
2) ThinkTwice: 중요한 영역에서 정보를 가져오고, 이 정보를 활용해 거친 예측을 세밀하게 조정하는 'Look Module'을 설계
3) ReasonNet: 주행 장면의 시간적 및 전역 정보를 활용하여 인식 성능을 향상시키고 차폐 탐지에 도움
4) InterFuser: 다중 모달 다중 뷰 센서로부터 정보를 완전하게 융합하고 처리하여 종합적인 장면 이해를 위한 트랜스포머 기반 프레임워크를 제안
5) TCP: 궤적 예측과 제어를 하나의 시스템에서 다루기 위한 새로운 다중 단계 예측 방법을 제안.
6) LAV: 학습 시 더 풍부한 지도 신호를 제공하고 추론 시 복잡한 추론을 위해 보다 많은 정보를 제공할 수 있는 시점 불변 표현을 학습하기 위한 몇 가지 지도 과업 도입.
앞 서 논의된 모방 학습 이외에도 몇 가지 접근법은 강화 학습 전략을 도입하려고 했다.
7) Latent DRL: 환경의 중요한 정보를 요약한 잠재 표현을 통해 강화 학습을 효과적으로 수행./
8) Roach: 강화 학습 중 특별히 환경 정보에 접근할 수 있는 에이전트를 활용하여 최종 모델을 도출
9) ASAPRL, TaEcRL: 추상화된 기술을 활용하여 효과적인 탐색과 보상 신호를 촉진함으로써 강화 학습 효율성과 최종 성능을 향상
그러나 Intro에서 말 했듯이, 이러한 end to end 방법들은 인간과 언어적으로 상호 작용할 수 있는 능력이 부족하여 일반적으로 의사 결정 과정(decision-making)에서의 설명 가능성이 낮다(low-explainability).
2.2 LLMS in Driving Tasks
비전 대형 언어 모델(VLLM)은 비전 인코더를 도입하여 LLM이 텍스트 뿐만 아니라 이미지 및 기타 모달리티 데이터를 해석할수 있는 가능성을 열었다.
1) DRIVEGPT4는 시각적 입력을 통해 사람과의 상호작용과 차량 제어 예측을 동시에 수행.
-> 입력 명령이 없기 때문에 예측된 제어가 특정 네비게이션 명령을 따르지 못해 실제 환경에서 적용하기에 한계가 있다.
한편, 더 많은 연구자들이 주행 상황을 텍스트 설명으로 변환하여 LLM의 입력으로 사용함으로써 포괄적인 주행 상황을 직접 해석하고 추론하는 것에 중점을 두고 있다.
2) GPT-Driver: 이질적인 장면 입력을 언어 토큰으로 변환하여 모션 계획을 자연어 모델링 작업으로 재구성
3) LanguageMPC: 차원적인 주행 결정을 내리고, 이를 차량 제어 신호로 변환하는 방법을 사용
4) LLM-Driver: 현재 환경을 벡터 형식으로 LLM에 제공하여 상황에 대한 이해도를 높임.
그러나 개방형 환경에서만 주행 문제를 고려했으며, 누적 오류, 시간적 행동 일관성, 종단 간 학습 가능성 등 실제 닫힌 루프 주행 작업에 중요한 문제들을 무시했다.
3. Dataset generation

LMDrive는 자율주행 차량이 복잡한 주행 환경에서 동작을 생성할 수 있도록 세 가지 입력 데이터를 활용한다.
- 센서 데이터: 다중 뷰 카메라와 LiDAR 데이터를 통해 에이전트가 현재 장면을 이해하고 이에 맞는 동작을 생성.
- 네비게이션 지시: 차선 변경, 회전 등 자연어로 전달되는 지시를 기반으로 차량을 원하는 위치로 이동.
- 인간 알림 지시: 긴급 상황이나 예외적 상황에서 인간의 선호를 반영하여 적응.
- 데이터 수집 과정
- 센서 및 제어 데이터 수집:
- CARLA 시뮬레이터와 규칙 기반 전문가 에이전트를 사용해 약 300만 프레임의 데이터를 수집.
- 다양한 환경: 2,500개 경로, 8개 도시, 21가지 환경 조건(날씨, 시간대 포함).
- 센서 구성:
- RGB 카메라 4대(좌, 전방, 우, 후방)와 LiDAR 1대.
- LiDAR는 초당 600K 포인트를 생성하며, 64채널로 구성.
- 전방 이미지는 중심 크롭하여 먼 거리의 신호등 상태를 추가로 포착.
- 파싱 및 언어 주석 추가:
- 수집된 데이터를 클립 단위로 분할하고, 각 클립에 네비게이션 지시와 선택적 알림 지시를 추가.
- 예: T0~Tn에서 좌회전을 수행한 클립은 "다음 교차로에서 좌회전하세요"로 라벨링.
- 적대적 이벤트(예: 사고 위험)가 발생한 클립에는 추가적으로 알림 지시를 부여하여 긴급 상황을 모사.
- 최종적으로 64,000개의 파싱된 클립과 464,000개의 알림 지시를 포함하는 데이터셋을 생성.
- Instruction design
자율주행 차량이 현실적인 자연어 지시를 이해할 수 있도록 총 56개의 지시를 설계한다.
이 지시는 3가지 네비게이션 지시(따라가기, 회전, 기타)와 1가지 알림 지시로 구성된다.
지시 설계 전략
- 지시 다양화:
- ChatGPT API를 사용해 각 지시 유형마다 8개의 변형된 표현을 생성.
- 동일한 의미를 가지지만 표현 방식이 다른 문장을 포함해 모델의 언어 해석 유연성을 강화.
- 예: "좌회전하세요" → "왼쪽으로 도세요", "다음 교차로에서 좌회전."
- 잘못된 지시 포함:
- 실제 환경에서 발생할 수 있는 잘못된 지시를 반영.
- 예: 단일 차선 도로에서 "왼쪽 차선으로 변경하세요" 같은 지시를 추가해, 모델이 이를 무시하고 안전하게 동작하도록 학습.
- 연속 지시 연결:
- 두세 개의 연속된 지시를 하나의 긴 지시로 병합.
- 예: "이번 교차로에서 우회전 후, 다음 교차로까지 직진, 그리고 다시 우회전."
- 복잡한 연속 지시를 처리할 수 있도록 모델을 학습.
# 요약
- Dataset Generation: CARLA 시뮬레이터를 활용해 300만 프레임의 데이터와 64,000개의 파싱된 클립을 구축.
- 다양한 센서 데이터와 제어 신호를 포함하며, 복잡한 주행 상황을 반영.
- Instruction Design: 자연어 지시의 다양성과 현실성을 반영한 설계를 통해, 모델이 복잡한 주행 시나리오에서도 자연스럽게 작동할 수 있도록 설계.
- 지시의 다양화, 잘못된 지시 포함, 연속 지시 연결을 통해 현실적이고 강건한 자율주행 시스템 개발을 목표로 한다.
이러한 데이터셋과 지시 설계는 LMDrive가 다양한 상황에서도 유연하게 대응하고, 안전한 주행을 수행할 수 있도록 돕는다.
4. LMDrive methodology

LLDrive는 두 가지 구성 요소로 이루어져 있다.
1) Vision encoder: multi-view, multi-modal sensor data를 처리하여 장면을 이해하고 시각 토큰을 생성
2) LLM 관련 구성 요소 Tokenizer, Q-Former, Adapter: 시각 토큰과 언어 지시를 받아 제어 신호를 예측하고 주어진 지시가 완료되었는지 판단.
이를 아래에서 자세히 공부해보겠다.
4.1 Vision Encoder

비전 인코더는 i) 각각 이미지와 LiDAR 입력을 인코딩하는 센서 인코딩 부분과 ii) 이미지를 point cloud feature에 융합하여 시각 토큰을 생성하는 BEV 디코더로 구성된다. 즉 이미지와 LiDAR 데이터를 처리한 후, 이를 융합하여 장면의 중요한 정보를 추출하고 이를 언어 모델이 활용하는 것이다.
주목할 점은 비전 인코더는 iii) 추가적인 prediction heads를 통해 인지 작업에 대해 사전 학습된 후, 추후 LLM에서 사용하기 위해서 동결(forzen)된다.
i) Sensor Encoding
- 이미지 입력에 경우

- 각 이미지 입력에 대해 ResNet 2D BackBone을 사용하여 이미지 feature map을 추출한다.
- feature map을 LLM에 입력하기 적합한 형식으로 바꾸기 위해서 1차원 token으로 평탄화(flattened)된다.
- 다양한 시점에서의 global context를 포괄적으로 이해하기 위해, 서로 다른 시점에서 얻는 토큰은 표준 kenc 레이어 transformer Encoder를 통해 융합된다. 각 레이어는 Multi-Headed Self-Attention, MLP block, layer normalization를 포함한다. cf. 트랜스포머는 다중 시점 데이터를 효과적으로 융합, Multi-Headed Self-Attention은 다양한 관계를 학습함
- 라이더 입력의 경우

- 3D 백본 PointPillars를 사용하여 원시 포인트 클라우드 데이터를 차량 중심 LiDAR 특징으로 처리
- 이후 PointNet을 사용하여 feature를 통합(aggregate)하고 feature map을 CxHxW로 다운샘플링 한다. 이는 이후 BEV query로 활용된다.
# 요약: 비전 인코더는 이미지와 LiDAR 데이터를 처리하여 장면을 이해하고, 대형 언어 모델에 전달하기 위한 시각 토큰을 생성. ResNet을 이용한 이미지 처리와 PointPillars 및 PointNet을 활용한 LiDAR 처리로, 다양한 시점의 데이터를 융합. 이 과정에서 BEV 디코더가 융합된 데이터를 생성하며, 인코더는 사전 학습 이후 동결되어 언어 모델과 통합된다.
ii) BEV decoder
위에서 인코딩된 센서 feature이 BEV Decoder로 전달되어 visual tokens를 생성하게 된다.

- 포인트 클라우드 feature는 BEV 형식으로 변환된 후, BEV 디코더의 입력으로 사용되어 이미지 데이터와 결합된 장면 정보를 학습한다.
- N개의 학습 가능한 Query와 1개의 학습 가능한 Query를 BEV Decoder에 입력하여 각각의 N개의 waypoint, 1개의 신호등 토큰을 생성한다. cf. 웨이 포인트와 신호등 상태를 나타내는 정보를 학습할 수 있도록 별도의 학습 가능한 쿼리를 사용하여 토큰을 생성하는 것이다.
- 따라서 BEV, Waypoint, traffic light 세 가지 유형의 시각 토큰은 풍부한 장면 정보를 포함하며, 이후 이를 LLM에 전달
# 요약: BEV 디코더는 트랜스포머 구조를 활용하여 센서 데이터에서 BEV 토큰, 웨이포인트 토큰, 신호등 토큰을 생성. 이 과정에서 H × W 형태의 쿼리를 통해 포인트 클라우드 데이터와 다중 시점 이미지 데이터를 융합하고, 학습 가능한 쿼리를 사용하여 특정 장면 정보를 캡처. 이렇게 생성된 세 가지 유형의 시각 토큰은 LLM에 전달되어 고차원적 의사결정을 지원.
iii) Pre-training with prediction headers
객체 탐지, 미래 웨이포인트 예측, 그리고 신호등 상태 분류를 고려하게 된다.

- 객체 탐지를 위해 BEV 토큰이 CenterPoint를 거쳐 Hm × Wm 영역 내의 객체 경계 상자와 속도를 예측
- Waypoint 예측을 위해 N개의 웨이포인트 토큰과 한 개의 네비게이션 웨이포인트(target point)를 순차적으로 입력하여 N개의 future waypoint를 예측하게 된다.
cf1. target = 목표 지점 혹은 다음 방향 정보
cf2. GRU: 시계열 데이터를 처리하는 데 강점이 있는 순환 신경망(RNN) 구조. 입력 토큰과 목표 지점을 기반으로 미래 경로를 단계적으로 생성함. 차량의 주행 경로를 계획하는 데 사용된다.
- 신호등 상태 분류를 위해, 2계층 MLP가 신호등 토큰에 적용됨.
1) the detection loss as in InterFuser, 2) the l1 way point loss, 3) the cross-entropy traffic light state loss. 총 3개의 loss가 고려될 것이다.
이 Prediction Headers는 비전 인코더의 사전 학습에서만 사용되며, 대형 언어 모델의 훈련 및 전체 모델의 추론 단계에서는 제거된다. 모델의 효율성과 단순성을 위해 사용되지 않는 것이다.
4.2. LLM for instruction-following auto driving

LLM은 전체 주행 절차 동안 '두뇌' 역할을 하며, 동결된 비전 인코더가 생성한 각 프레임의 센서 토큰을 받아 이를 처리하고, 자연어 지시를 이해하며, 필요한 제어 신호를 생성하고, 주어진 지시가 완료되었는지 예측한다. 해당 논문에서는 Language backbone으로 LLaMA를 선택했다.
LLM과 Instruction, 시각 정보 입력, 그리고 행동 예측을 연결하기 위해 i) 토크나이저, ii) Q-Former, iii) 두 개의 어댑터 세 가지 구성 요소를 추가하게 된다.
- instruction and Visual Tokenization
navigation instruction와 optional notice instruction가 주어지면, 우리는 LLaMA 토크나이저를 사용하여 이를 텍스트 토큰으로 변환한다. 즉 텍스트 데이터를 처리 가능하도록 토큰화하여, LLM이 이를 이해하고 실행할 수 있도록 한다.
한 지시를 실행하는 데 걸리는 시간은 몇 초에서 몇 분에 이르며, 우리 모델은 폐쇄 루프(closed-loop) 설정으로 배치되어 델이 실행 결과를 실시간으로 피드백 받아 다음 동작을 조정할 수 있도록 한다. 따라서 각 프레임에서, 우리는 누적 오류를 줄이고 모델의 시간적 일관성을 향상하기 위해 모든 과거 센서 정보를 활용한다.
cf. with maximum limit Tmax: 최대 시간 프레임 수로 제한된다. 과거 데이터를 모두 사용하면 메모리 사용량이 급격하게 증가하고 연산 비용이 커지기 때문이다. ex) Tmax = 10 : 모델은 현재 프레임을 포함하여 최근 10개의 프레임만 사용함.
- Action Prediction
지시와 시각 토큰의 시퀀스를 받은 후, LLM은 감속, 가속, 조향과 같은 행동 토큰을 예측하게 된다. 2-layer MLP adapter를 추가로 사용하여 웨이포인트 예측과 현재 지시의 상태를 확인한다. 두 개의 PID 제어기를 사용하여 예측된 웨이포인트의 진행 방향과 속도를 각각 추적하게 된다.
cf. PID 제어기는 차량의 움직임을 정밀하게 조정하기 위한 기법으로, 웨이포인트를 정확히 따라가도록 한다.
- Training Objectives
l1 웨이포인트 손실, 현재 프레임이 주어진 지시를 완료했는지를 결정하는 분류 손실(교차 엔트로피) 두 loss를 사용하여 모델의 예측 정확도와 지시 수행 능력을 향상시킨다.
4.3. Training details
- Vision encoder pre-training stage에서는 약 300만 프레임의 원시 데이터셋을 사용하여 장면 이해 능력을 학습.
- Instruction-finetuning stage에서는 Q-Former와 어댑터를 학습 가능 상태로 두고, 전체 시스템을 종단 간 자율주행을 위해 훈련한다. 즉 Q-Former와 어댑터를 통해 자연어 지시와 제어 신호 간의 연계를 학습하게 된다. 고정된 시퀀스 길이(Tmax)와 시간적 증강을 통해 데이터 효율성을 높이며, 잘못된 지시를 거부하는 능력도 학습한다.
5. LangAuto Benchmark
- Benchmark 데이터셋 설명
LangAuto는 자연어 지시로만 주행을 유도해 시스템의 언어 처리 능력을 평가할 수 있는 Benchmark 데이터셋. 다양한 날씨와 시간대 조건을 설정하여 LangAuto가 자율주행 시스템의 적응성과 성능을 더 종합적으로 평가하게 된다.
1) LangAuto track: 기본적인 경로 탐색을 평가하며, 에이전트가 주어진 지시를 따라올 수 있는지 확인
2) LangAuto-Notice track: notice instructions to the agent를 추가하여 시스템이 이를 이해하고 활용할 수 있는지 평가.
3) LangAuto-Sequential track: 자연어로 전달되는 복잡한 다문장 지시를 처리할 수 있는 능력을 테스트.
잘못된 지시는 무작위로(약 5%) 간헐적으로 에이전트에 제공되며, 특정 시간 동안(1~2초) 지속된다. 이를 통해 시스템의 견고성을 평가하며 에이전트가 안전한 동작을 유지할 수 있는지 확인한다.
- Metric
CARLA LeaderBoard에서 제안된 주요 경로 완료율(RC), 위반 점수(IS), 주행 점수(DS) 세 가지 지표를 고려하게 된다.
1) 경로 완료율(route completion): 전체 경로 길이 중 완료된 비율을 나타낸다. 즉 올바른 경로에서의 진행 거리이다.
에이전트가 경로에서 너무 멀리 벗어나면 지시를 위반한 것으로 간주되며, 해당 에피소드는 실패로 기록되고 종료.
2) 위반 점수(infraction score): 에이전트에 의해 발생한 위반 사항을 측정. 안전성과 규칙 준수 정도를 평가한다.
3) 주행 점수(driving score): 경로 완료율과 위반 점수의 곱으로, 주행의 진행 상황과 안전성을 모두 설명한다. 전체적인 성능의 핵심 지표로 사용되게 된다.
6. Experiments
6.1. Experiment Setup
LMDrive는 CARLA 시뮬레이터(버전 0.9.10.1)에서 구현 및 평가되었으며, 비전 인코더의 2D 백본으로 ResNet-50, 3D 백본으로 PointPillars를 사용.
- 백본 설정: ResNet-50은 ImageNet으로 사전 학습되었고, PointPillars는 처음부터 학습.
- Q-Former: 시각 토큰 수를 줄이기 위해 사용되었으며, 실험적으로 M=4일 때 최적의 성능을 보임.
- 알림 데이터 처리: 알림 데이터는 과적합 방지를 위해 75% 클립에서 제거되었고, 남은 25%에서는 최대 1개의 알림만 포함시킴.
- 시간적 증강: 2 프레임 간격으로 샘플링된 데이터를 기반으로 훈련 시 프레임의 시간 순서를 무작위로 이동시키는 증강을 적용하여 데이터 다양성을 높였다.
6.2. Quantitative Results

- LLM 백본 비교
LLaVA-v1.5는 사전 학습된 다중 모달 데이터를 사용하여 가장 높은 성능을 기록.
인간 대화 데이터로 미세 조정된 Vicuna-v1.5도 높은 성능을 보이며, 지시 기반 자율주행에서 사전 학습 및 미세 조정의 중요성을 입증. 무작위 초기화된 LLM 모델은 동일한 훈련 데이터를 사용했음에도 성능이 현저히 낮아, 사전 학습된 LLM이 필수적임을 강조(Random_Init)
- 모듈 설계의 중요성

Q-Former, BEV 토큰, 비전 인코더 사전 학습의 유무를 비교하는 소거 실험(ablations)을 수행.
- Q-Former: Q-Former를 사용하지 않고 BEV 특징을 직접 다운샘플링한 경우, 주행 점수가 36.2에서 31.7로 감소. 이는 Q-Former가 시각 정보를 효율적으로 요약해 모델 성능을 향상시킴을 보여줌.
- BEV 토큰: BEV 토큰을 제외하면 위반 점수가 0.81에서 0.72로 감소했습니다. 이는 주변 장애물과 도로 구조를 감지하고 추론하는 데 BEV 토큰이 중요한 역할을 함을 나타냄.
- 비전 인코더 사전 학습: 비전 인코더 사전 학습 없이 바로 미세 조정을 진행한 경우, 주행 점수가 16.9로 급감. 이는 사전 학습이 장면 이해와 모델 성능에 결정적인 영향을 미침을 보여준다.
- LangAuto-Notice 벤치마크

알림 지시를 활용한 에이전트는 충돌과 교통 규칙 위반을 효과적으로 줄이며, 알림의 실시간 정보 활용 능력을 입증함.
leverage the information of the notice in real-time
- LangAuto-Sequential 벤치마크

에이전트는 긴 지시를 처리하는 데 어려움을 겪었으며, 주행 점수와 경로 완료율이 감소. 특히, LLaVA와 Vicuna 기반 모델은 지시 완료 여부를 파악하는 시간적 일관성 문제를 나타냈다.
# 실험 결론 요약: 모듈을 유지하고, 비전 인코더와 LLM은 사전 학습된 체크포인트를 가져와 사용해야 한다. 추가 연구를 위해서는 Instruction-finetuning stage에서 Q-Former와 어댑터만 학습 가능 상태로 두고, 나머지 구성 요소 비전 인코더와 LLM은 고정(frozen)된 상태에서 훈련을 진행하면 된다.
정리: 학습 범위와 과정
1. 동결된 부분
- 비전 인코더 (Vision Encoder)
- 사전 학습된 체크포인트를 가져와 **동결(freeze)**하여 사용.
- 입력 데이터를 처리하고 시각 토큰을 생성하며, 추가 학습 없이 고정된 상태로 동작.
- LLM (Large Language Model)
- 사전 학습된 언어 모델 체크포인트를 가져와 동결하여 사용.
- 자연어 지시를 처리하고 시각 토큰과 언어 지시를 기반으로 행동을 예측.
- 학습 없이 기존 체크포인트만 활용.
2. 학습 가능한 부분
- Q-Former
- 비전 인코더에서 생성된 시각 토큰을 축소 및 정리하여 효율적으로 LLM에 전달.
- 학습 가능한 상태로 두어, 시각 정보 처리 성능을 최적화.
- 어댑터 (Adapters)
- 첫 번째 어댑터: Q-Former에서 생성된 시각 토큰을 LLM 입력 차원에 맞게 변환.
- 두 번째 어댑터: LLM의 출력 토큰을 행동(가속, 감속, 조향 등) 및 웨이포인트 예측에 사용.
- 두 어댑터 모두 학습 가능한 상태로 유지하여 모델 간 통합 성능 향상.
3. 훈련 단계: Instruction-Finetuning Stage
- 전체 시스템 훈련
- 지시 기반 데이터(instruction-following data)를 사용해 Q-Former와 어댑터를 fine-tuning.
- 종단 간 자율주행(end-to-end autonomous driving)을 목표로 훈련.
- Tmax 시퀀스 처리
- Tmax 고정: 모델이 처리할 시퀀스 길이를 Tmax로 제한하여 메모리와 연산 효율을 최적화.
- 시간적 맥락 학습: Tmax 길이 내에서 과거 데이터를 포함해 모델이 시간적 정보를 활용하여 일관되고 안정적인 예측을 학습.
- 알림 데이터를 활용한 데이터 증강
- 75% 클립: 알림 데이터를 제거하여 모델이 알림 없이도 지시를 수행하도록 학습.
- 25% 클립: 최대 1개의 알림 데이터를 포함해 모델이 실시간 알림 정보를 처리하고 활용하도록 학습.
- 시간적 증강: 훈련 프레임을 무작위로 이동시켜 다양한 시나리오를 학습하며 데이터 다양성 증가.
- 잘못된 지시 처리
- 잘못된 지시 포함: 약 5%의 잘못된 지시(1~2초 지속)를 포함하여 모델이 이를 거부하고 올바른 행동을 학습.
- 잘못된 지시를 무시하며, 주어진 환경과 올바른 지시를 기반으로 안전한 주행을 수행하도록 학습.
4. 핵심 목표
- 사전 학습된 모듈(비전 인코더, LLM)을 동결하여 기존의 강력한 성능을 유지.
- Q-Former와 두 개의 어댑터를 학습 가능 상태로 두어 지시 기반 자율주행 성능 최적화.
- Tmax로 시퀀스 길이를 제한하고, 알림 데이터 및 잘못된 지시를 활용하여 모델의 견고성과 일반화 성능을 강화.
최종 요약
-
- 훈련은 사전 학습된 비전 인코더와 LLM을 동결한 상태에서 진행되며, Q-Former와 어댑터를 학습 가능 상태로 유지해 종단 간 자율주행을 위한 미세 조정이 이루어진다. Tmax로 시퀀스 길이를 제한하고, 알림 데이터와 시간적 증강을 활용하여 모델이 다양한 상황에 적응하도록 훈련한다. 또한, 잘못된 지시를 포함한 데이터를 사용해 견고성과 안전성을 강화하며, 종합적으로 안정적이고 유연한 자율주행 성능을 달성한다.
7. Conclusion
LMDrive는 언어 기반 자율주행 시스템의 가능성을 열며, 복잡한 환경에서 자연어를 통해 차량과 인간 간의 상호작용을 강화할 수 있는 프레임워크를 제시했다. 이 연구는 언어와 다중 모달 데이터를 결합하여 자율주행의 새 지평을 열었으며, 향후 발전을 위한 중요한 기초를 제공한다.