주제 정보
- 유형: GitHub 프로젝트 (공식 구현 + 데이터셋 + 벤치마크) + 원형 논문 — 언어 지시 기반 폐루프 자율주행 프레임워크
- 소유자/저장소: opendilab/LMDrive (OpenDILab · Shanghai AI Lab 계열) — Python/Jupyter Notebook, CARLA Leaderboard 코드베이스 기반
- Star / Fork: 931 ⭐ / 76 forks (2026-09-12 확인, 저장소 생성 2023-12-12)
- 라이선스: 코드 Apache-2.0 / 데이터셋 CC BY-NC 4.0 (비상업적 연구·교육용)
- 최근 활동: 저장소 최신 커밋 2025-04-14, 릴리스 태그 없음 — 모델·데이터는 GitHub Releases 대신 Hugging Face (OpenDILabCommunity/lmdrive) 컬렉션으로 배포. 신규 기능 개발은 2024년 CVPR 발표 시점에 집중된 '연구용 완결형' 저장소다.
- 주요 기술: 멀티뷰 카메라 + LiDAR를 융합하는 비전 인코더(BEV 토큰 + Q-Former) → LLM 백본이 자연어 지시와 센서 토큰을 함께 읽고 주행 제어를 생성하는 end-to-end 파이프라인 · closed-loop CARLA 평가 · navigation/notice 2종 자연어 지시
- 논문: "LMDrive: Closed-Loop End-to-End Driving with Large Language Models" (arXiv:2312.07488, 2023-12-12, cs.CV/cs.AI/cs.RO) — CVPR 2024 채택
- 저자: Hao Shao, Yuxuan Hu, Letian Wang, Steven L. Waslander, Yu Liu, Hongsheng Li (CUHK · University of Toronto · Shanghai AI Lab 공동 연구)
- 인용: OpenAlex 기준 158회 (2026-09-12 확인. Semantic Scholar는 API 429 제한으로 미확인)
- 공개 자산: 약 64K instruction-following 클립 데이터셋 + LangAuto 폐루프 벤치마크 + 사전학습 모델 (모두 Hugging Face 공개)
- 원문: https://github.com/opendilab/LMDrive
핵심 내용
LMDrive가 던진 질문은 "자율주행차는 왜 말을 못 알아듣는가"였다. 2023년 당시 end-to-end 주행 연구는 센서 데이터와 웨이포인트, 최대 몇 개의 이산 명령(Turn Left / Go Straight)만 입력으로 받았다. 그 결과 롱테일(long-tail) 돌발 상황이나 승객의 구두 요청 같은 자연어 기반 상호작용이 원천적으로 불가능했다. LMDrive는 LLM의 추론 능력을 운전석에 앉혀, 멀티모달 센서 + 자연어 지시를 함께 읽고 폐루프(closed-loop)로 주행하는 최초의 언어 기반 프레임워크를 제안했다(논문 스스로 "to the best of our knowledge, the very first work to leverage LLMs for closed-loop end-to-end autonomous driving"이라 명시).
- 입력이 3종으로 늘었다: (1) 멀티뷰 카메라 + LiDAR 센서 데이터, (2) navigation 지시("300m 후 좌회전", "고속도로 진입 후 합류"), (3) notice 지시("앞에 보행자 조심", "전방 신호등이 빨간불이야") — 즉 승객·관제 시스템이 실시간으로 개입해 롱테일 상황을 알려주는 구조다.
- 2단계 학습 파이프라인: ① 비전 인코더 사전학습 — 주행 인식 태스크(객체 검출·신호등 상태·미래 웨이포인트 예측)로 약 3M 프레임을 학습해 BEV(조감도) 기반 시각 토큰을 만든다. ② instruction finetuning — 사전학습된 비전 인코더를 동결(freeze)하고 LLM(LLaMA / Vicuna / LLaVA 계열)을 지시 따르기로 파인튜닝한다.
- 데이터는 규칙 기반 전문가가 만들었다: CARLA 0.9.10.1, 8개 타운에서 룰 기반 autopilot이 주행하며 약 10Hz로 수집. 매 클립은 navigation 지시 1개 + notice 지시 여러 개 + 멀티뷰 카메라(4분할 400×1200) + LiDAR(180°, lidar_odd로 360° 확장) + 제어 신호로 구성되며 길이는 2~20초, 총 약 64K 클립이다. 날씨와 교통 시나리오는 서버를 여러 대 돌려 무작위로 반복 수집했다.
- LangAuto 벤치마크를 새로 정의: 기존 CARLA 벤치마크(Town05, Longest6)가 이산 명령·웨이포인트를 쓰는 것과 달리, 자연어 지시만으로 목적지까지 주행하게 평가한다. 경로 길이에 따라 LangAuto(500m 이상) · LangAuto-Short(150~500m) · LangAuto-Tiny(150m 미만) 3개 트랙 + notice 지시를 추가한 LangAuto-Notice 트랙으로 나뉜다.
- LLM 백본이 성능을 갈랐다: 논문 Table 2의 LangAuto 주행점수(DS)는 Random Init 10.7 → LLaMA 31.3 → LLaMA2 32.8 → Vicuna 33.5 → Vicuna-v1.5 34.0 → LLaVA-v1.5 36.2. 같은 구조에서 언어 백본만 갈아 끼워도 DS가 3배 이상 벌어졌다(Short 50.6 / Tiny 66.5 — 경로가 짧고 단순할수록 점수가 높다).
- 가장 결정적 요소는 '시각 사전학습': 논문 Table 3의 ablation에서 사전학습을 제거하면 DS가 36.2 → 16.9로 반토막 났고, Q-Former를 빼면 31.7, BEV 토큰을 빼면 33.9로 떨어졌다. 즉 LLM만 붙인다고 주행이 되는 게 아니라, 3M 프레임 규모의 인식 사전학습이 성능의 절반을 담당한다는 것을 정량적으로 보여줬다.
- notice 지시의 효과: LangAuto-Notice 트랙에서 LLaVA-v1.5 백본은 infraction score가 0.81 → 0.87로 개선되고 차량 충돌(0.33→0.17), 차선 이탈(0.92→0.50)이 줄었다. "사람이 옆에서 한마디 해주면 사고가 줄어든다"는 것을 폐루프 실험으로 확인한 셈이다.
왜 유명한가 / 활용 가치
- 최초의 'LLM closed-loop 자율주행' 논문: 2023년 12월 arXiv, CVPR 2024 채택. 지금은 당연해 보이는 "LLM/VLM을 주행 정책에 넣는다"는 발상을 폐루프 CARLA 환경에서 처음 끝까지 구현해 검증한 기준선(baseline)이다.
- OpenAlex 기준 158회 인용(2026-09-12): DriveLM, Agent-Driver, DiMA, Senna 등 언어·에이전트 기반 주행 연구들이 LMDrive를 비교 기준으로 인용하며, "LLM을 운전자로 쓴다"는 연구 계보의 출발점 역할을 한다.
- 데이터셋 + 벤치마크를 함께 공개: 64K instruction-following 클립과 LangAuto 4개 트랙을 Hugging Face에 전면 공개했다. 후속 연구가 자체 데이터를 만들 필요 없이 같은 잣대로 비교할 수 있게 만든 것이 이 프로젝트의 가장 큰 실무 가치다.
- 계보 연결: 구현이 InterFuser · TransFuser · CARLA Leaderboard · ScenarioRunner 위에 서 있다. 본 블로그의 TransFuser(2026-08-26) → CARLA(2026-09-09) 계보가 그대로 이어지고, 이후 Alpamayo(2026-09-04) 같은 추론형 VLA 모델로 이어지는 '언어·추론 → 주행' 흐름의 중간 고리다.
- 실무·교육 가치: CARLA 0.9.10.1 환경에서 데이터 생성 → 비전 인코더 사전학습 → 지시 파인튜닝 → Leaderboard 평가까지 전 과정 스크립트가 공개돼 있어, 언어 기반 주행 에이전트를 직접 재현해보는 학습 경로로 쓰인다. 모델 가중치도 HF에서 바로 받을 수 있다.
- 한계를 알고 쓰자: 저장소는 2025-04 이후 사실상 동결 상태이고 CARLA 0.9.10.1·구형 LLM(Vicuna/LLaVA-v1.5) 기반이다. '현역 SOTA 코드'가 아니라 언어 기반 주행 연구의 기준선·재현 자산으로 접근하는 게 맞다. 최신 흐름은 후속 연구들과 VLA 계열 모델로 옮겨갔다.
시사점 및 결론
LMDrive가 남긴 교훈은 두 가지다. 첫째, 주행은 궤적 회귀로 끝나지 않는다. 롱테일 상황과 승객의 요구를 처리하려면 차량이 언어를 이해하고 사람과 대화할 수 있어야 하며, LMDrive는 그 인터페이스가 폐루프 주행에서도 실제로 작동함을 보였다. 둘째, 언어 모델을 얹는다고 주행이 되지는 않는다. 3M 프레임의 인식 사전학습을 제거하면 주행점수가 반토막(36.2→16.9) 났다는 ablation은, 자율주행에서 '보는 능력'과 '이해하는 능력'이 분리될 수 없다는 것을 가장 명확하게 보여준 실험 중 하나다. 결국 지금의 VLA(Vision-Language-Action) 주행 모델도 LMDrive가 세운 구조 — 센서 인코더 + 언어 백본 + 자연어 지시 — 를 확장한 것에 가깝다. 언어를 자율주행에 붙이는 연구를 시작한다면, LMDrive의 데이터·벤치마크에서 출발하는 것이 가장 빠른 길이다. 한 줄 요약: "조향각을 맞히는 AI"에서 "지시를 이해하는 AI"로 넘어가는 문을 연 것이 LMDrive다.
함께 읽기: TransFuser (2026-08-26 포스팅) · CARLA (2026-09-09 포스팅) · NVIDIA Alpamayo (2026-09-04 포스팅)
원문: https://github.com/opendilab/LMDrive (arXiv:2312.07488 · CVPR 2024, Hao Shao et al.)