Instruct Large Language Models to Drive like Humans
作者: Ruijun Zhang, Xianda Guo, Wenzhao Zheng, Chenming Zhang, Kurt Keutzer, Long Chen
分类: cs.RO, cs.CL
发布日期: 2024-06-11
备注: project page: https://github.com/bonbon-rj/InstructDriver
🔗 代码/项目: GITHUB
💡 一句话要点
提出InstructDriver,利用指令调优驱动大语言模型实现类人自动驾驶
🎯 匹配领域: 支柱一:机器人控制 (Robot Control) 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 自动驾驶 运动规划 大语言模型 指令调优 可解释性
📋 核心要点
- 现有自动驾驶方法难以保证LLM学习到人类驾驶的内在逻辑,缺乏可解释性。
- InstructDriver通过指令调优,显式地将人类驾驶规则和交通规则注入到LLM中,使其行为与人类对齐。
- 在nuPlan真实世界闭环运动规划基准测试中,InstructDriver验证了LLM规划器在实际场景中的有效性。
📝 摘要(中文)
在复杂场景中进行运动规划是自动驾驶的核心挑战。传统方法应用预定义规则或从驾驶数据中学习来规划未来轨迹。最近的方法试图利用大语言模型(LLM)中保留的知识,并将其应用于驾驶场景。尽管结果很有希望,但LLM是否学习了潜在的人类驾驶逻辑仍不清楚。本文提出了一种InstructDriver方法,通过显式指令调优将LLM转换为运动规划器,使其行为与人类对齐。我们基于人类逻辑(例如,不造成碰撞)和交通规则(例如,仅在绿灯时通行)推导出驾驶指令数据。然后,我们采用可解释的InstructChain模块来进一步推理反映指令的最终规划。我们的InstructDriver允许注入人类规则并从驾驶数据中学习,从而实现可解释性和数据可扩展性。与在闭环或模拟环境中进行实验的现有方法不同,我们采用真实世界的闭环运动规划nuPlan基准进行更好的评估。InstructDriver证明了LLM规划器在真实世界闭环环境中的有效性。我们的代码已公开发布。
🔬 方法详解
问题定义:现有自动驾驶运动规划方法,如基于规则的方法和基于数据学习的方法,在复杂场景中面临挑战。虽然最近有研究尝试利用大语言模型(LLM),但尚不清楚LLM是否真正学习了人类驾驶的内在逻辑,缺乏可解释性,难以保证安全性和可靠性。
核心思路:InstructDriver的核心思路是通过指令调优(Instruction Tuning)的方式,将人类驾驶的显式知识(例如,安全规则、交通规则)注入到LLM中,从而引导LLM生成更符合人类驾驶习惯的运动规划。这种方法旨在提高LLM运动规划的可解释性和安全性。
技术框架:InstructDriver主要包含两个核心模块:1) 驾驶指令数据生成模块:该模块基于人类驾驶逻辑和交通规则,生成用于指令调优的训练数据。2) InstructChain模块:该模块是一个可解释的推理链,用于进一步细化和调整LLM生成的初始规划,使其更好地反映输入的指令。整体流程是,首先利用驾驶指令数据对LLM进行指令调优,然后使用InstructChain模块对LLM的输出进行后处理,最终得到运动规划结果。
关键创新:InstructDriver的关键创新在于将指令调优引入到自动驾驶运动规划中,并设计了InstructChain模块来实现可解释的推理过程。与传统的端到端学习方法不同,InstructDriver允许显式地控制LLM的行为,并使其与人类驾驶逻辑对齐。
关键设计:驾驶指令数据生成模块需要精心设计指令的格式和内容,以确保LLM能够有效地学习到人类驾驶知识。InstructChain模块的设计需要考虑如何将指令转化为具体的运动规划动作,例如,如何根据交通灯的状态调整车辆的速度和轨迹。损失函数的设计需要平衡安全性和效率,例如,避免碰撞的同时尽可能快地到达目的地。
🖼️ 关键图片
📊 实验亮点
InstructDriver在nuPlan真实世界闭环运动规划基准测试中表现出色,证明了LLM规划器在实际场景中的有效性。该方法能够生成更安全、更符合人类驾驶习惯的运动规划,并具有良好的可解释性。具体性能数据和对比基线结果需要在论文中查找。
🎯 应用场景
InstructDriver具有广泛的应用前景,可用于提升自动驾驶系统的安全性和可靠性。通过注入人类驾驶知识,可以使自动驾驶车辆在复杂场景中做出更合理的决策。此外,该方法还可以应用于驾驶员辅助系统,例如,提供更智能的驾驶建议和警告。
📄 摘要(原文)
Motion planning in complex scenarios is the core challenge in autonomous driving. Conventional methods apply predefined rules or learn from driving data to plan the future trajectory. Recent methods seek the knowledge preserved in large language models (LLMs) and apply them in the driving scenarios. Despite the promising results, it is still unclear whether the LLM learns the underlying human logic to drive. In this paper, we propose an InstructDriver method to transform LLM into a motion planner with explicit instruction tuning to align its behavior with humans. We derive driving instruction data based on human logic (e.g., do not cause collisions) and traffic rules (e.g., proceed only when green lights). We then employ an interpretable InstructChain module to further reason the final planning reflecting the instructions. Our InstructDriver allows the injection of human rules and learning from driving data, enabling both interpretability and data scalability. Different from existing methods that experimented on closed-loop or simulated settings, we adopt the real-world closed-loop motion planning nuPlan benchmark for better evaluation. InstructDriver demonstrates the effectiveness of the LLM planner in a real-world closed-loop setting. Our code is publicly available at https://github.com/bonbon-rj/InstructDriver.