《Distilling Multi-modal Large Language Models for Autonomous Driving》
面向自动驾驶的多模态大语言模型蒸馏
摘要
自动驾驶需要安全的运动规划,特别是在关键的“长尾”场景中。最近的端到端自动驾驶系统利用大型语言模型(llm)作为规划者,以提高对罕见事件的通用性。然而,在测试时使用llm会导致很高的计算成本。为了解决这个问题,我们提出了DiMA,这是一种端到端自动驾驶系统,它在利用LLM的世界知识的同时,保持无LLM(或基于视觉的)规划器的效率。DiMA通过一组特别设计的代理任务,将信息从多模态LLM提取为基于远见的端到端规划器。在联合训练策略下,两个网络共同的场景编码器产生语义基础并与最终规划目标一致的结构化表示对齐。值得注意的是,LLM在推理方面是可选的,可以在不影响效率的情况下实现健壮的规划。使用DiMA进行训练可以使L2轨迹误差减少37%,基于视觉的规划器的碰撞率减少80%,并在长尾场景中减少44%的轨迹误差。DiMA还在nuScenes规划基准测试上取得了最先进的性能。
1 介绍
自动驾驶的研究已经从传统的集成顺序的、独立训练的模型[5,24,28,31,33,47,53]的策略,转向开发以[4,6,8,18,22,51]端到端方式训练的多任务系统。这些方法在高效的同时,提高了性能和可解释性。然而,它们在长尾导航和感知场景中苦苦挣扎,主要是因为它们接受的是特定任务的、有限的数据集[3,12,14]。
大型语言模型(llm)已经成为解决这个问题的一个很有前途的解决方案。在庞大的、互联网规模的数据集上进行训练后,llm可以利用世界知识来推广到看不见的或罕见的场景。这些模型可以使用思维链[48]等机制来执行高级推理任务。超越了基于文本的提示,多模态大型语言模型(MLLMs)将图像和视频输入集成到LLM中,实现了视觉问题回答和密集字幕[23,26]等任务。最近的端到端自动驾驶系统利用llm通过语言引导推理实现了更高的可解释性,并对长尾场景具有更高的鲁棒性[21,39-41,45,46]。为了区分这些方法,我们称之为依赖于llm的端到端规划器去作为“基于llm”的规划者和不作为“基于视觉”的规划者的[20,22,50]进行轨迹预测。尽管他们最近取得了成功,但“基于llm”的规划者仍面临着重大挑战。
首先,基于llm的规划器在测试时需要大量的计算开销,这限制了它们的实用性。这项工作解决了一个核心问题:我们如何利用llm的世界知识,同时保持基于视觉的规划者的效率?其次,与一般的MLLM任务[23,26]相比,端到端规划任务的视觉和语言领域本质上更为复杂,而且还有训练数据有限的额外障碍。标准的图像标记化策略依赖于冻结的预先训练好的图像编码器[35]来生成密集的、非结构化的多模态标记嵌入。[23, 26, 39].我们建议,用于端到端自动驾驶的mllm受益于显式建模场景组件的结构化输入。此外,我们建议在训练过程中更新这些特征会得到更丰富的表示。
为了解决这些挑战,我们提出了DiMA,一个新的自动驾驶馏多模式大语言模型框架。我们引入了一个基于视觉的规划器和MLLM之间的联合训练方案,能够学习稳健的场景表示,并与规划的最终目标对齐。具体来说,我们使用基于视觉的规划器作为标记化器,并将学习到的场景表示传递给MLLM,提供一个更结构化的输入。然后,MLLM被训练为视觉问题回答、轨迹估计和一系列替代任务,这些替代任务旨在基于语言中的多模态输入。基于视觉的规划器同时被训练为轨迹估计,同时也从MLLM规划头提取特征到规划变压器。至关重要的是,在执行规划推理时,MLLM可以被丢弃,从而在利用语言模型知识的同时,保持基于视觉的规划器的效率。此外,MLLM还可以通过视觉问答来支持语言引导的推理。我们的实验表明,与基线和最先进的方法[40,50]相比,DiMA对具有挑战性的长尾场景更健壮。图1在定量上和定性上都证实了这一点。我们在下面列出了这些工作的贡献:
1.我们引入了DiMA,一个端到端自动驾驶框架,它将知识从MLLM提取到基于视觉的规划器,以确保在保持效率的同时对长尾事件的鲁棒性。迪玛能够进行计划和视觉问答。
2.我们提出了一个精馏任务和以下代理任务,以对齐基于视觉的规划器和MLLM的目标: (i)掩码令牌重构(ii)未来令牌预测(iii)场景编辑。
3.DiMA优于基于视觉和LLM端到规划者,在nuScenes规划基准上取得了最先进的成果。使用DiMA进行训练可以使L2轨迹误差减少37%,基于视觉的规划器的碰撞率减少80%,并在长尾场景中减少44%的轨迹误差
2.相关工作
2.1.端到端自动驾驶
自动驾驶(AD)系统通常是模块化的,包括感知[24,33,47,53]、运动预测[5,28,31]和规划[10]等任务。经典的AD系统为每个任务使用独立的模型,其中每个模块分别进行优化和顺序组合。另外,一些方法将这些模块化任务合并到一个多任务学习范式中,其中任务共享一个共同的特征提取过程,但有特定于任务的头[9,25,54,56]。最近,研究已经转向以端到端的方式优化自动驾驶系统,旨在直接预测未来的轨迹[4,6,8,18,22,51]。在这一工作方向中,UniAD [20]引入了一种基于查询的设计,该设计集成了感知和预测组件,实现了端到端规划方案。VAD [22]利用了一个向量化的场景表示,取代了来自[20]的密集栅格化表示,降低了计算成本,提高了规划性能。虽然这些方法在一般的导航场景中很有效,但在困难的长尾事件中却很困难(见图1)。在本工作中,我们提出了一种端到端自动控制的方法。
2.2.自动驾驶的llm
最近成功的大型语言模型[13,43,44]展示了他们的能力处理复杂的上下文信息与逻辑推理和沟通在人类可解释的方式,在自动驾驶吸引了重要的关注(7、11、15、27、30、37-39、41、46、49、52]。这些工作研究了语言模型概括到新场景的能力,以及它们以文本的形式对场景进行推理的能力。提示下的llm。其中一类方法涉及使用思想链[48]等推理框架用文本提示llm。语言mpc[37]利用LLM的常识性推理能力来做出高级驾驶决策,然后将其转化为底层控制信号。GPT-Driver [30]将观察结果和自我状态转换为语言提示,将驾驶规划框架为llm的一个基于文本的任务。
端到端驾驶。另一种方法是将多模式的llm集成到自动驾驶车辆的端到端列车框架中。LMDrive [38]集成一个具有大型语言模型的视觉编码器,使自动驾驶中的自然语言教学成为可能。DriveLM引入了多步骤的问题回答,超越了单轮交互[29,34,36]。DriveVLM [41]利用mllm和一个思维链过程来增强对场景的理解和规划。
我们指出了当前MLLM自动驾驶策略中的一个挑战。我们建议,为了解释车辆动力学,语言模型受益于结构化输入,该输入显式地建模场景组件,而不是像[38,41,45,46]中那样对MLLM的密集、非结构化输入。在TOKEN[40]中,来自[50]的场景编码器被用TOKEN发生器。然而,它在训练期间被冻结了。在我们的方法中,MLLM的输入是一组从预先训练过的场景编码器中学习到的潜在编码器,允许它更多地学习扎根的特征表示。
3.DiMA框架
我们提出了DiMA,一个端到端自动驾驶的框架。给定一系列的多视图图像,总体目标是预测自我载体的未来轨迹,并回答有关场景的问题。对DiMA的概述如图2所示。该框架有两个主要组成部分: 1)基于视觉的规划器;2)一个多模态的大型语言模型,由适配器层、一个LLM和一系列特定于任务的解码器头组成。
图2。DiMA的概述。对该框架的输入是一个具有多视图的图像序列和一个有问题的文本提示符。基于视觉的端到端规划器由一个场景编码器和一个规划变压器组成。场景编码器以鸟瞰图、自我、代理和映射(BEAM)标记嵌入的形式学习结构化的潜在表示,并作为多模态大语言模型(MLLM)的可训练标记生成器。规划变压器在标准规划约束条件[20,22]下进行培训。MLLM接受了规划、视觉问题回答、精馏和一系列代理任务的训练。
3.1.基于视觉的规划师
基于视觉的端到端规划者以多任务的方式进行训练,以执行感知、映射、运动预测和规划[20,22,42,50]。考虑利用[20,22,50]的构造设计的标准不规则文本,将规划器分解为场景编码器和规划变压器。场景编码器为执行路径点预测的规划变压器提供了结构化的潜在表示。我们将这些表示称为场景标记嵌入。在我们的框架中,我们以两种方式利用了基于视觉的规划器。首先,它作为执行规划的主要网络,允许在测试时进行快速预测。其次,场景编码器与MLLM共享,作为标记器为其提供一组高度结构化的输入。我们的框架与以前的作品[21,40]的一个重要区别是,场景编码器是与MLLM联合训练的。
场景编码器场景编码器将场景建模为高维标记嵌入,它显式地表示诸如环境地图、自我车辆和周围的代理等组件。这是通过引入特定于任务的、可学习的查询特性来实现的,这些特性由一系列规划约束[22]监督。首先,一个视觉主干对输入的多视图图像序列进行编码。利用一组查询将获得的特征图投影到鸟瞰视图(BEV)空间中,获得BEV标记嵌入(B) [24]。该网络通过与映射和代理查询交叉参与BEV特征,以映射令牌嵌入(M)和代理令牌(A)嵌入的形式学习映射和代理的结构化表示。训练一个随机初始化的可学习嵌入来学习自我载体与代理和映射组件的交互作用,即自我查询(E)。我们将这些潜在的场景表示的集合表示为BEAM标记嵌入。这些令牌嵌入被发送到一个计划头,以预测未来的轨迹、自我和代理的交通工具。它们还被用作MLLM的输入,作为多模态输入,如下文所讨论的。
3.2 多模型LLM
我们的目标是将知识从MLLM中提炼为基于视觉的规划师。为此,我们与基于视觉的规划师共同训练了一个MLLM。具体来说,场景编码器被用作MLLM的一个可训练的令牌化器来生成BEAM令牌嵌入,以及被用作规划变压器的编码器。这种策略的优势有两个方面。首先,MLLM接收一个高度结构化的输入,捕获与自动驾驶任务相关的丰富时空信息。其次,场景编码器学习基于语言的特征,提高了基于视觉的规划的鲁棒性。MLLM的主要组件是适配器层、大型语言模型和一系列特定于任务的解码器头,我们接下来将讨论这些解码器头。
3.2.1 场景标记的适应
为了在投影BEAM令牌嵌入的同时有效地保持它们的特殊性,我们利用查询转换器(q-前者)模块[19]在输入到LLM之前压缩视觉令牌。我们实现了特定于组件的q前者层,即地图q前者层、鸟瞰视图(BEV)q前者层、自我q前者层和Agentq前者层。每个适配器都将表示不同的模式转换为一个固定长度、高维的标记序列,为MLLM的处理做好准备。
3.2.2.MLLM监督
我们为MLLM设计任务的目标是:a)丰富中间场景表示;b)用语言建立场景标记嵌入的基础;c)训练LLM进行规划相关的推理。具体来说,MLLM被训练用于视觉问题回答、轨迹估计、特征蒸馏和一组替代任务[2]。
视觉问题回答。MLLM对4种类型的问答对进行视觉问题回答(VQA)训练:场景感知、主体行为预测、自我-车辆行为预测和未来规划步骤[39]。答案是基于一个由问题嵌入和投影的BEAM标记嵌入组成的多模态提示符来预测的。这被构造为一个标准的下一个标记预测任务,并且VQA分支被监督与交叉熵损失,如在[23]中所述。我们将这个任务头的损失表示为LLLM。
替代任务:联合训练的主要目标是丰富场景编码器学习到的BEAM场景表示。我们设计了与未来轨迹预测目标一致的MLLM替代任务。
图3.场景编辑中的添加和删除示例。在最上面一行,在车辆(纯红色框)左侧添加一辆车(绿色框)。在最下面一行,一辆汽车(红色虚线框)被从自我车辆的右侧移除。创建一个相应的问答对来描述编辑的特征。
1)屏蔽标记重建:每种类型的标记嵌入都有助于场景的整体表示。为了丰富视觉表示,我们要求网络基于其余多模态序列中存在的上下文重构一个掩蔽的BEV输入。我们在场景编码后执行随机屏蔽,并将标记嵌入传递给MLLM。重构头从LLM的倒数第二层中获取潜在表示,并预测重构的BEV标记嵌入Bˆ。这个解码器头被监督与预测和完整输入之间的l2损失,
其中({m (B),E,A,M})被输入到MLLM,与BEV令牌嵌入相关的潜在MLLM表示被输入到掩码重构解码器头。此处,m(.)表示随机掩蔽。
2)未来BEV预测:规划的一个重要方面是预测未来的事件。我们引入了未来BEV预测的替代任务,以鼓励LLM学习对规划有用的时空线索。给定潜在的BEV令牌嵌入,我们训练一个预测头来预测未来的BEV令牌嵌入,并将此任务作为预测和地面真实未来令牌嵌入之间的L2损失:
其中Fˆt,F˜t是t时刻预测的未来BEV标记嵌入。注意,我们预测了时间步长{t + 1,t + 2}的多视图图像序列的未来BEV标记嵌入(Bt+1,Bt+2)。
3)场景编辑:对于对自我载体的预测和推理,了解周围的因素如何影响自我载体的未来路径是至关重要的。我们提出了一种新的场景编辑任务,其中我们通过删除或添加新的代理来增加场景。与此同时,我们还构建了一个与编辑相关的问答对。我们将在图3中展示这些示例。对于场景添加,给定地图约束、预测地图、自我边界框位置和预测代理的轨迹,我们为“汽车”或“卡车”类别的新代理创建了一个路点轨迹。然后使用线性层创建一个新的代理令牌嵌入。这个新的代理令牌嵌入、相应的文本提示
符以及其余的BEAM令牌嵌入将作为输入传递给LLM。然后,将与代理令牌嵌入对应的隐藏的潜在LLM特征输入一个专用的场景编辑解码器头,以执行自我车辆的路径点预测。语言预测头对新的QA对进行问答。因此,该任务导致了MLLM现有的规划约束损失和VQA损失。
为了进一步对齐由视觉规划器和MLLM学习到的表示,我们在语言模型的倒数第二层和规划转换器之间进行知识转移。具体地说,我们最小化了规划变压器的隐藏特征分布和自我标记嵌入的LLM隐藏特征之间的kl散度
其中Pvis是视觉规划变压器的倒数第二层特征,Pllm是MLLM模型倒数第二层自我标记嵌入对应的隐藏LLM嵌入特征。
损失功能。我们用与计划、视觉问题回答、蒸馏和每个替代任务对应的损失的加权和每一个监督网络。
这里的长期规划来自于用于培训[20,22]的规划目标。在这里,选择损失的权重,使每个值达到相同的尺度。
4 实验设置
在第4.1节中,我们介绍了体系结构设计细节,在第4.2节中,我们介绍了训练策略,在第4.3节中,我们提供了有关所使用的数据集的信息。重要的是,在第4.4节中,我们详细介绍了多种评价策略,以便与现有的工作进行公平和全面的比较。
4.1.建筑设计
基于视觉的规划器我们使用两个基于视觉的端到端规划器,VAD [22]和UniAD [20]进行实验,因为它们的性能、效率和建模场景组件之间的交互的能力。我们使用VAD的两个模型大小变体。这两个规划者都接受了感知、运动预测和规划的训练,而UniAD也执行占用预测。
MLLM设计MLLM由适配器层、一个语言模型和一组特定于任务的解码器层组成。我们将每个BEAM令牌嵌入到[19]之后的自己的专用q-erost适配器层。投影后,BEAM标记嵌入和语言标记嵌入位于同一个嵌入空间中。为了减少内存消耗,我们将代理令牌序列长度限制在代理总数的一小部分,并在输入到语言模型后执行顺序上采样。适配器层是随机初始化的。我们使用来自LLaVA-v1.5-7B [26]的LLM作为我们的语言模型基础。自我预测和代理运动预测任务头是基于[22]的多层感知器网络。对于替代任务解码器头,我们使用了3个带有ReLU激活层的线性层。
4.2 训练
DiMA的培训采用了一个两阶段的方法。首先,对纯视觉规划者进行了60个时代的感知、预测和规划的预先训练,以学习信息丰富的潜在场景表征。其次,我们对另外30个时代进行了视觉规划师和MLLM的联合培训,包括在第3节中详细介绍的所有建议的任务和损失。在第二阶段,使用LoRA [17]对MLLM的语言模型进行了微调。
详情请参见附录的B.1节。
4.3.数据集
我们使用新场景数据集来进行开环规划[3]的任务。该数据集由22k/6k训练/验证分割的样本组成。每个场景中的对象都用三维边界框、方向和车速信息进行标注。此外,我们还利用CAN总线信息对自我车辆的地面-真实轨迹进行了标注。为了监督视觉问题的回答,我们使用DriveLM [39]进行培训。该数据集由来自nuScenes数据集的4k个样本子集组成,其中注释了300k个与感知、预测、规划和行为相关的QA对。对于没有文本注释的nuScenes中的样本,我们基于数字注释创建了一组感知、规划和预测QA对。
我们使用这些信息提示Llama3-70B模型[13]和上下文示例生成类似drivelm的QA对。对于行为QA对,我们创建了一个基于规则的算法,基于地面-真实轨迹值和自我车辆速度,对自我-车辆的未来运动进行分类。关于该方法的更多细节以及生成的QA对的示例可以在第附录B.2节中找到。
表1。使用标准化评价[50]比较新[3]上的L2轨迹误差和碰撞率。模型通过一般验证分割以及[50]中具有挑战性的样本的“针对性”分割进行评估。DiMA模型变体的性能是紫色的阴影。我们通过平均t = {1,2,3}s以及所有时间步长来总结结果。每个设置中的最佳平均性能用粗体表示。“+”表示对自我状态信息的使用。
4.4 评估详细信息
我们根据3秒后自我车辆的未来轨迹来评估规划性能,其中每秒预测2个路径点。我们使用了两个指标,预测的路径点和地面真实路径点之间的L2误差(以米为单位),以及自我车辆和周围车辆之间的碰撞率(以%为单位)。
标准化与VAD评估。在[50]中,Weng等人指出了VAD [22]、UniAD [20]和AD-MLP [55]的规划评估的不一致,即L2误差随时间的平均值以及有噪声和无效帧的考虑方式。作者还指出,通过使用更精细的离散化BEV图,碰撞性能可以显著提高。考虑到这些不一致,他们提出了一个“标准化”的评估度量,以保持不同方法之间的公平比较。为了准确的报告和与[40,50]的公平比较,我们使用这个标准化度量来评估我们的模型。某些现有的工作使用了[22]之后的评估方案(我们称之为VAD评估),而不使代码或模型成为可用的[18,32,41,45]。在这里,我们比较了报告的结果与使用VAD评估的DiMA评估。
验证拆分。我们评估规划性能在3种类型的分裂从nuScenes验证集: 1)整个验证集的6019个样本2)689个样本子集更困难的“目标”场景的自我车辆在导航[50],和3)长尾事件的自我车辆遇到罕见的机动[40]。
5.实验结果
我们在各种评估设置中对nuScenes开环规划基准进行了DiMA的综合评估。我们将我们的表现与最近基于视觉的规划者[18,20,22,50]和MLLM的规划者[32,40,41,45]进行了比较。为了便于将DiMA与最近的工作进行公平的比较,我们使用了两种评价策略,VAD评价[22]和标准化评价[50]。详情请参见第4.4节。标准化的评估。在标准化评估策略下,我们在两个验证分割上对每种方法进行评估: 1)完整的nuScenes验证分割,2)nuScenes验证分割的“目标”子集,其中包含自我载体必须转弯的场景,如[50]中建立的。我们在表1中展示了我们的结果。基线视觉规划者VAD [22]和UniAD [20]在更困难的目标场景中表现出次优表现。
与基线方法相比,DiMA显示出了显著的改进,在整个nuScenes验证集上,L2轨迹误差降低了35%,碰撞率降低了80%,L2 轨迹误差在目标分裂中降低了35%。更值得注意的是,我们在两个验证分割中始终优于最近最先进的方法PARA-Drive [50]和TOKEN[40]。我们观察到碰撞率有了很大的提高,比令牌提高了60%。与令牌不同的是,我们的方法不依赖于LLM来进行推理,从而使DiMA更有效、更准确
VAD评估。为了与最近使用VAD [22]的评估策略的工作进行公平的比较,我们在该策略下增加了一组结果。*在表2中,我们展示了DiMA对场景验证集[3]的评估。我们明显优于基于基线视觉的规划者VAD [22]和UniAD [20]。值得注意的是,建立在VAD-Tiny上的DiMA在L2轨迹误差方面比VAD-Base高出47%,同时速度快4倍。我们还优于OmniDrive [45]和DriveVLM [41]等MLLM规划器,而不需要LLM进行推理,使我们的方法更加准确和高效。
在长尾场景中的性能。自动驾驶的情况尤为重要。使用从[40]中手动选择的长尾事件,我们证明了DiMA在新的导航和感知情况下的鲁棒性。在表3中,我们评估了DiMA在三种长尾场景下的性能,“三点转弯”,“从停止恢复”和“超车”,从nuScenes验证集中选择。DiMA的训练可以使基于视觉的规划者显著和持续地提高表现。我们的表现也始终优于PARA-Drive和令牌。值得注意的是,“三分回合”的情况是一个零射击的场景,在训练中不存在
评估MLLM分支。我们还评估了DiMA的MLLM分支,并演示了它的规划和视觉问答能力。我们使用DiMA以两种方式执行基于LLM的规划。首先,我们直接评估了MLLM规划解码器头的路径点预测。这可以用DiMA(MLLM)来表示。其次,我们定义了DiMA-Dual,这是一个可选的混合推理模型,它结合了视觉和MLLM分支的优势。我们对视觉规划变压器和MLLM自我预测的倒数第二层特征进行了最大池化处理。然后将得到的合并特征反馈到视觉规划变压器和MLLM自我预测中,用于路径点预测。这种最大池化鼓励了两个模型的预测之间的一致性,从而导致了一个更稳健的和潜在的改进的整体预测,如表3所示。在推理时使用MLLM可以显著提高性能,DiMA-Dual(VAD-Tiny)匹配表2中DiMA(VAD-Base)的性能。
VQA结果。我们在图4中的DriveLM数据集[39]中提供了可视化问答的定性示例。我们展示了DiMA推理自我载体所采取的安全行动的能力。我们在附录的C.2节中提供了更多的例子。
5.1 消融研究
通过表4中的综合消融研究,我们研究了DiMA框架中不同设计选择和建议任务的作用。为了做到这一点,我们一步一步地构建我们最终的框架。我们从VADTiny开始作为第一行的基线模型开始,用ID- 1表示。在ID-2中,我们在只使用BEV特性的情况下,通过天真地使用规划和VQA目标下的VAD-Tiny训练LLM,观察到不一致的增益和性能下降。通过比较ID-3和ID-4,我们表明,通过使用所有的BEAM标记嵌入来训练LLM和基于视觉的规划器,为MLLM提供更多的场景上下文有利于性能,从而显著提高了轨迹估计和碰撞率。我们在ID-5中展示了显式地从MLLM的倒数第二层提取到规划变压器的信息,从而再次提高了性能。在ID-6、ID-7和ID-8中,我们展示了替代任务的重要性,如蒙面重建、未来预测和场景编辑,以帮助场景编码器学习更丰富的表示有用的规划。
6.结论
我们介绍了DiMA,一个端到端自动驾驶框架,用于鲁棒和高效的规划。DiMA馏分从MLLM到基于视觉的规划器的知识,使用一种新的联合训练策略,以及精心设计的代理任务,如掩蔽令牌重建、未来令牌预测和场景编辑。DiMA使模型能够学习语义基础的场景表示,提高其在困难的导航场景中的性能。我们进行了广泛的评估和消融研究,表明使用DiMA进行训练可以在长尾情况下领先,同时保持计算效率.