25年5月来自清华大学、Mcgill大学、小米公司和 Wisconsin(Madison)大学的论文“AgentThink: A Unified Framework for Tool-Augmented Chain-of-Thought Reasoning in Vision-Language Models for Autonomous Driving”。
视觉语言模型 (VLM) 在自动驾驶领域前景广阔,然而它们容易产生幻觉、推理效率低下,以及现实世界验证不足,这些因素阻碍了它们实现准确的感知和稳健的逐步推理。为了解决这个问题,AgentThink,一个开创性的统一框架,将思维链 (CoT) 推理与动态的智体式工具调用相结合,用于自动驾驶任务。如图所示:
AgentThink 的核心创新包括:(i) 结构化数据生成,通过建立自动驾驶工具库来自动构建结构化的、可自我验证的推理数据,明确地结合各种驾驶场景中的工具使用情况;(ii) 两阶段训练流水线,采用监督微调 (SFT) 和组相对策略优化 (GRPO),使 VLM 具备自主工具调用的能力; (iii) 智体式工具使用评估,引入一种多工具评估协议来严格评估模型的工具调用和使用情况。在 DriveLMM-o1 基准测试上的实验表明,AgentThink 显著提高整体推理分数 53.91%,答案准确率提高 33.54%,同时显著提高推理质量和一致性。
基础模型的最新进展为自动驾驶开辟了新的机遇,预训练的大语言模型 (LLM) [2, 10] 和视觉语言模型 (VLM) [28, 35, 47] 被越来越多地用于实现高级场景理解、常识推理和决策。这些模型旨在超越传统的感知流程——这些流程依赖于手工编写的组件,例如目标检测 [20, 32]、运动预测 [29, 40] 和基于规则的规划 [5]——通过提供更丰富的语义表示和基于网络规模知识更广的泛化能力。
许多近期方法将自动驾驶任务重塑为视觉问答 (VQA) 问题,将监督微调 (SFT) 应用于基础 VLM,并针对特定任务提出提示,例如目标识别、风险预测或运动规划 [8, 25, 33, 36, 44]。然而,如图 (a) 所示,这些模型通常将推理视为静态的输入到输出映射,忽略了现实世界决策制定中至关重要的不确定性、复杂性和可验证性。因此,它们常常存在泛化能力差、输出结果不准确和可解释性有限的问题 [42]。
为了提高鲁棒性和透明度,最近的研究探索将思维链 (CoT) 推理融入 VLM,如图 (b) 所示。一些方法采用僵化的 CoT 模板 [14, 35],以牺牲灵活性为代价来提升结构化逻辑。另一些方法则使用开放式推理格式 [15, 26],但可能会过拟合 token 模式,并表现出浅薄或冗余的推理。此外,大多数现有方法纯粹依赖于从预先设定的轨迹中进行模仿学习,缺乏检测知识不确定性或调用工具进行中间验证的能力 [46]。这些挑战引出了一个关键问题:VLM 如何才能真正发挥决策智体的作用——既能认知自身知识边界,又能熟练地进行验证,并能够从工具引导的反馈中学习?这方面的灵感源自经验丰富的人类驾驶员,他们会在不确定时借助后视镜或 GPS 等辅助工具来完善判断。同样,一个有能力的自动驾驶智体不仅必须清晰地推理,还必须认识到自身的局限性,并动态地运用目标检测器或运动预测器等工具来引导其推理和决策。
因此,AgentThink,一个面向自动驾驶 VLM 的统一框架,将推理建模为一种智体式流程,而非静态输出——在这个流程中,模型学习利用工具生成工具增强推理链,验证中间步骤,并完善其结论。如图 © 所示,AgentThink 并非盲目地将输入映射到输出,而是动态地决定在推理过程中何时以及如何使用工具来支持或修改推理路径。为了实现这一行为,创建一个数据-训练-评估流程。首先,构建一个包含工具增强推理轨迹的结构化数据集。然后,引入一个两阶段训练流程:(i) SFT 用于预热推理能力;(ii) GRPO [31],这是一种基于强化学习 (RL) 的策略,通过结构化奖励来改进推理深度和工具使用行为。最后,提出一个超越答案正确性的综合评估协议,用于评估工具选择、集成质量以及推理工具的一致性。
如图所示,在先进的 DriveLMM-o1 基准 [15] 上进行的实验表明,Agent-Think 在答案准确率和推理得分方面均达到了新的最佳水平,超越了现有模型。
如图说明 AgentThink 的三个关键组件:(i)用于生成结构化、工具增强推理数据的可扩展流水线;(ii)具有 SFT 和 GRPO 的两阶段训练流水线,用于提高推理和工具使用能力;(iii)一种新的评估方法,重点评估模型的有效工具利用率及其对推理的影响。
数据生成流程
虽然先前的研究 [26, 36] 已经探索了 VLM 中的推理能力,但持续性幻觉仍然是一个挑战。可靠的自动驾驶推理类似于人类的决策,不仅需要内部知识,还需要在需要时调用外部工具的能力。为了解决这个问题,引入一个工具增强型数据生成流程。与现有数据集 [15, 39] 仅关注推理步骤和最终答案不同,流程独特地将明确的工具使用集成到推理过程中。
工具库。受 Agent-Driver [24] 的启发,开发一个专用工具库,其中包含五个以驾驶为中心的核心模块——视觉信息、检测、预测、占用和建图——以及单视图视觉实用程序(开放词汇检测、深度、裁剪和调整大小)。此外,还通过基础单视图视觉工具(例如开放词汇目标检测器和深度估计器)对其进行增强。这些技术共同实现针对各种感知和预测任务的全面环境信息提取。
提示设计。初始的工具集成推理步骤和答案由 GPT-4o 自动生成,并由提示模板(如上图所示)引导。该模板旨在引出指令 L 的工具增强推理链,而非直接答案。
具体而言,对于预训练的 VLM π_θ、输入图像 V 和任务指令 L,时间 t 的推理步骤生成如下:R_t = π_θ(V, L,[R_1, …, R_t−1])。完整的推理轨迹表示为 T_R = (R_1, …, R_M),其中 M 是最大推理步骤数。
每个推理步骤 R_t 包含五个关键要素:所选工具 (Tool_i)、生成的子问题 (Sub_i)、不确定性标志 (U F_i)、猜测答案 (A_i) 以及下一步行动选择 (AC_i),例如继续推理还是得出结论。如果内部知识足以满足 Sub_i 的要求,则输出 A_i 且 U F_i = False;否则,U F_i = True 且 A_i 留空。重复此过程,为每个问答对采样 N 个结构化推理轨迹。
数据评估。单独的 LLM 审核每个数据的事实准确性和逻辑一致性,并修剪步骤不匹配或结论不受支持的样本。最终生成一个高质量的语料库,将明确的工具使用与连贯、可验证的推理相结合。
两阶段训练流程
在构建结构化数据集后,设计一个两阶段训练流程,以逐步提升模型的推理能力和工具使用熟练程度。
基于 SFT 的推理预热
在第一阶段,对工具增强型 CoT 数据集执行 SFT,以预热模型生成推理链和适当工具调用的能力。每个训练样本表示为 τ = (V, L, T_R, A),其中 V 表示视觉输入,L 表示语言指令,T_R 表示逐步推理,A 表示最终答案。训练目标是最大化生成 T_R 和 A 的可能性。
基于 RLFT 的推理增强
为了进一步优化模型,使其超越模仿学习,采用强化学习微调 (RLFT),该微调基于 GRPO,能够有效地利用结构化奖励,而无需依赖学习到的评价器。
GRPO 概述。 GRPO 通过计算组内每个样本的相对优势,避免对价值函数的需求。给定一个问题 q 和从旧策略 π_θ_old 中采样的 G 个响应 {o_i},GRPO 的目标是 [31]:
其中分组截断损失
权重和优势
奖励设计。为了引导模型实现准确、可解释且工具感知的推理,设计一个包含三个主要部分的结构化奖励函数:最终答案奖励、分步推理奖励和工具使用奖励。
与通用的相似性指标相比,这种结构化奖励设计提供了更具针对性和可解释性的监督。它使 GRPO 能够优化推理过程的质量以及模型在需要时调用工具的能力。
推理与评估
在推理过程中,如图所示,VLM 会动态访问预定义库中的工具来收集信息,从而促进逐步推理。这种动态工具调用机制提高了准确性,并反映了工具增强训练数据的结构。然而,现有的基准测试 [11, 15] 忽略了工具使用情况的评估。
为了解决这个问题,在下表中引入三个指标来评估模型在推理过程中的工具利用率。
实验中,用 Qwen2.5-VL-7B 作为基础模型,并冻结视觉编码器。通过 LoRA 应用 SFT,然后进行 GRPO 微调。将每台设备的训练批次大小设置为 1。所有实验均使用 16 块 NVIDIA A800 GPU 进行。在 GRPO 微调阶段,对每个问题进行 2 次展开。
该工具库旨在支持自动驾驶功能调用,为视觉检测、目标检测、轨迹预测、地图信息查询等各种任务提供一套全面的工具。
训练细节:
SFT 阶段
用 LoRA(低秩自适应)微调方法对模型进行 20 个 epoch 的训练,将 LoRA 秩设置为 8,LoRA alpha 设置为 32。为了控制 GPU 内存使用量,每个设备的训练和评估批次大小均设置为 2,并在 16 步内启用梯度累积。学习率设置为 1 × 10−4,并使用 bfloat16 数据类型来提升计算效率。为了限制 GPU 内存消耗,冻结 Vision Transformer (ViT) 的参数,并将最大序列长度设置为 4096。训练期间,每 1000 步进行一次模型评估和保存,最多保存 5 个模型。每 5 步进行一次日志记录,以密切监控训练过程。用 DeepSpeed ZeRO-2 优化器来优化训练性能,并禁用梯度检查点的可重入性以提高效率。此外,将预热比率配置为 0.05,并为数据加载器和数据集处理分配 4 个工作进程。
GRPO 阶段
RLHF 类型指定为“grpo”,以便利用 GRPO 算法进行带人工反馈的强化学习。启用 LoRA 训练模式(与 SFT 阶段相同),并将 PyTorch 数据类型设置为“bfloat16”以提高计算效率。最大序列长度配置为 2048,最大完成长度配置为 1024。训练进行 8 个 epoch,每个设备的训练和评估批次大小均设置为 1。学习率设置为 1 × 10−5,并采用 8 个梯度累积步骤。模型评估每 500 步进行一次,模型保存每 100 步进行一次,将保存的模型总数限制为 20 个。每一步都进行日志记录,以密切监控训练过程。学习率的预热比例配置为 0.01。为 DataLoader 分配 4 个工作器以加快数据加载速度。在生成方面,允许进行 2 次生成,温度为 1.2,以增强输出多样性。系统会收到以下提示:“您是一位乐于助人的助手。您首先会在脑海中思考推理过程,然后向用户提供答案。” 利用 DeepSpeed 的 ZeRO-3 阶段优化器来优化训练性能,并启用模型完成记录以供进一步分析。针对特定的算法调整,将 beta 值设置为 0.001,整个过程进行 1 次迭代。
数据规模的影响
为了系统地评估训练数据规模的影响,在固定视觉编码器参数的 Qwen2.5-VL-7B 上进行消融研究。首先通过基于 LoRA 的 SFT 对基础模型进行微调,然后通过 GRPO 算法进行策略优化。所有实验均在具有统一超参数配置的 16×NVIDIA A800 GPU 上执行。