4. 视频语言模型基础

视频语言模型(Video-Language Model, VLM)是驾驶理解系统的“大脑”。它要同时看懂多路摄像头画面、理解自然语言指令,并输出对驾驶场景的判断。要掌握它,需要先拆开它的四个核心部件:视觉编码器负责“看”,语言模型负责“说与推理”,跨模态对齐负责“把看到的和说到的连起来”,预训练与微调范式则决定“怎么教它”。本节围绕这四部分展开,并给出驾驶场景下的落地要点。

一、核心原理:四层结构如何协同

一个典型的视频语言模型可以抽象为四层流水线。视觉编码器把每帧图像切成 patch,输出视觉 token;时序融合模块把多帧、多摄像头的 token 聚合成带时间与空间信息的视频表征;投影层(Projector)把视觉特征映射到语言模型的词嵌入空间;语言模型以自回归方式生成文本。跨模态对齐贯穿其中,决定视觉 token 与文本 token 是否处于同一语义空间。

驾驶场景的特殊性在于:输入不是单张图,而是 6~12 路摄像头、30fps 的连续流;输出不是泛泛描述,而是“左前方有车切入”“红灯已亮 1.2 秒”这类时空精确的判断。因此视觉编码器必须保留空间分辨率与时间连续性,语言模型必须支持长上下文,对齐必须能处理“同一物体在不同摄像头中的身份一致性”。

视频语言模型四层结构与驾驶数据流 多摄像头输入 前视 / 侧视 / 后视 6~12 路 · 30fps 时间戳同步 H.264 / 原始帧 视觉编码器 ViT / Swin / ConvNeXt Patch 切分 → 视觉 token 时序融合:3D 卷积 / 注意力 输出:N×D 特征序列 跨模态投影 MLP / Q-Former 视觉空间 → 词嵌入空间 对齐损失:对比 / 生成 可学习 query token 语言模型 LLaMA / Qwen / GPT 自回归生成 长上下文 4K~32K 输出:驾驶判断文本 驾驶输出 风险判断 动作建议 预训练与微调范式:三阶段训练流程 阶段一:大规模预训练 数据:图像-文本对 / 视频-文本 目标:对比学习 + 生成式 冻结语言模型,只训投影层 学习率:1e-4 ~ 5e-4 产出:通用视觉-语言底座 阶段二:指令微调 数据:驾驶 QA / 场景描述 目标:指令跟随 + 时空推理 解冻投影层 + 语言模型 LoRA 学习率:1e-5 ~ 2e-5 产出:驾驶理解专用模型 阶段三:对齐与安全微调 数据:人类偏好 / 规则约束 目标:RLHF / DPO / 安全对齐 全参数或 QLoRA 微调 学习率:5e-6 ~ 1e-5 产出:可部署安全模型 注:驾驶场景需额外注入时序对齐与多摄像头身份一致性约束

二、方法流程:从原始视频到驾驶判断

以一段 10 秒、6 路摄像头的行车记录为例,完整流程如下:

  1. 帧采样与同步:按 2fps 采样关键帧,利用时间戳对齐 6 路视频,得到 T×6 帧序列。
  2. 视觉编码:每帧经 ViT 编码为 256 个 patch token,6 路共 1536 token/帧;时序融合后压缩为 512 个视频 token。
  3. 投影对齐:通过 MLP 将 512 个视觉 token 映射到语言模型 4096 维嵌入空间。
  4. 提示构造:将视觉 token 与文本指令拼接,如“请判断左前方车辆是否有切入意图”。
  5. 自回归生成:语言模型逐 token 输出“左前方车辆正在向左变道,建议减速避让”。

关键参数示例:视觉编码器 ViT-L/14 输出 1024 维;投影层 2 层 MLP,隐藏维 4096;语言模型 7B,上下文 8192;训练 batch size 64,梯度累积 4 步。

三、案例/场景:驾驶理解中的跨模态对齐

假设模型看到前视摄像头中一辆车正在压线,同时语言指令问“右侧车道是否安全”。此时跨模态对齐要完成三件事:

  • 空间对齐:将“右侧车道”这一文本概念映射到图像右侧区域,而非左侧。
  • 时序对齐:识别“正在压线”是持续动作,而非单帧状态,需要 3~5 帧的时序证据。
  • 身份对齐:同一辆车在前视、右视、后视中应被识别为同一目标,避免重复计数。

若对齐失败,模型可能回答“右侧安全”,而实际右后方有快速接近的车辆。这类错误在驾驶场景中代价极高,因此对齐质量直接决定系统可用性。

四、误区与复盘

常见误区一:只做图像预训练,忽略视频时序。驾驶场景中“变道”“刹车”“行人横穿”都是时序事件,单帧模型无法区分“静止车辆”与“正在倒车”。

常见误区二:投影层训练不充分。若只训练 1~2 个 epoch,视觉 token 与文本 token 空间错位,模型会“看到但说不出”。

常见误区三:微调时全参数解冻导致灾难性遗忘。驾驶数据量远小于通用预训练数据,全参数微调会破坏通用能力,建议优先使用 LoRA 或 QLoRA。

五、训练范式对比清单

范式 可训练参数 数据规模 驾驶场景适用性 典型学习率
零样本推理 无 0 快速验证,精度低 —
投影层微调 ~50M 10万级图文对 通用对齐,成本低 1e-4
LoRA 指令微调 ~20M 1万级驾驶 QA 推荐方案,平衡效果与成本 2e-5
全参数微调 7B+ 100万级 数据充足时使用,易过拟合 5e-6
RLHF / DPO 视策略而定 偏好对 1万+ 安全对齐,降低危险输出 5e-7

六、工程落地建议

在驾驶理解工程中,建议采用“三阶段渐进式”策略:第一阶段用大规模图文对训练投影层,让模型学会“看”;第二阶段用驾驶 QA 数据做 LoRA 指令微调,让模型学会“答”;第三阶段用人类偏好数据做安全对齐,让模型学会“不乱答”。每一阶段都需保留验证集,监控视觉 grounding 准确率、时序事件召回率和危险输出率三个指标。

# 示例:LoRA 微调配置(驾驶 QA 阶段)
lora_rank: 16
lora_alpha: 32
lora_dropout: 0.05
target_modules: ["q_proj", "v_proj", "k_proj", "o_proj"]
learning_rate: 2e-5
num_epochs: 3
batch_size: 8
gradient_accumulation: 4
warmup_ratio: 0.03