← 返回 2026-04-03

LINGUDISTILL:通过选择性跨模态蒸馏恢复视觉语言模型的语言能力 LinguDistill: Recovering Linguistic Ability in Vision- Language Models via Selective Cross-Modal Distillation

Patrick Amadeus Irawan, Erland Hilman Fuadi, Shanu Kumar, Alham Fikri Aji, Yova Kementchedjhieva 📅 2026-04-01 👍 8 2026-07-13 08:36
KV缓存共享 多模态学习 灾难性遗忘 知识蒸馏 视觉语言模型

用冻结LM做教师配合层间KV共享,在零额外参数下恢复VLM的语言能力。

前置知识

视觉语言模型 (VLM)

视觉语言模型是把视觉编码器(例如 ViT)与预训练语言模型 (LM) 通过投影层(projector)对齐后形成的端到端多模态系统,典型代表是 LLaVA。它以文本和图像的拼接序列作为输入,由 LM 解码器生成与图像相关的自然语言输出。训练时通常会更新 LM 的大部分参数以学习视觉-语义关联。

本文的核心问题是 VLM 在多模态适应过程中退化了原生语言能力,因此必须先理解 VLM 的标准架构和训练范式,才能体会作者为什么要保留原始 LM 并把它当作教师。

知识蒸馏 (KD)

知识蒸馏最早由 Hinton 等人提出,使用 KL 散度让学生模型拟合教师模型的软概率分布 $p_t = \mathrm{softmax}(z_t/T)$,并辅以学生自身的硬标签交叉熵损失。温度参数 $T$ 控制分布的平滑程度,蒸馏权重 $\alpha$ 平衡软损失和硬损失的相对贡献。

LINGUDISTILL 的核心机制就是 KD,但与传统 KD 不同的是:教师是纯文本 LM、学生是 VLM,二者输入模态不同,所以需要 KV-cache 共享这一新机制把教师的盲区补上。

KV 缓存 (KV-Cache)

Transformer 解码器在推理时缓存每一层所有历史 token 的 Key 和 Value 矩阵 $(K^{(l)}, V^{(l)})$,避免重复计算。$K^{(l)} = X W^{(l)}_k$,$V^{(l)} = X W^{(l)}_v$,其中 $X$ 是当前序列的隐藏状态。共享 KV 缓存意味着下游模块可以直接复用上游模块计算好的 attention 上下文。

LINGUDISTILL 的核心创新正是让冻结的 LM 教师在每一层复用 VLM 学生计算出的 KV 缓存,从而在不改 LM 参数的前提下让它'看到'图像,是阅读后文注意力共享公式的关键背景。

模态干扰 / 灾难性遗忘

灾难性遗忘指神经网络在学习新任务(新模态)时覆盖了预训练阶段学到的旧任务(语言)能力的现象。在 VLM 训练中表现为:模型在 VQA、OCR 等视觉任务上变强,但 HellaSwag、ARC 等纯文本基准显著下降。机制上被解释为表示漂移(representation shift)和跨模态干扰(cross-modal interference)。

本文要解决的正是这个具体问题,并把这种现象量化到 COCO -15.9%、HellaSwag -19.5% 这种幅度上,理解它才能明白为什么单纯在语言数据上继续微调无法解决。

数据相关的蒸馏权重

LINGUDISTILL 在传统 KD 目标 $\mathcal{L} = \alpha \mathcal{L}_{\mathrm{soft}} + (1-\alpha)\mathcal{L}_{\mathrm{hard}}$ 上引入依赖数据源的权重 $\alpha(d_b)$:对语言重的数据集(A-OKVQA、ScienceQA 等)使用 $\alpha > 0$,对 OCR/文档类数据集使用 $\alpha = 0$,仅保留硬标签监督。

这是把'统一教师的语言先验'与'视觉重任务需要保留视觉接地'之间的冲突解开的核心开关,论文 Table 1 显式列出了 17 个数据源的分组方式。

研究动机

当前主流 VLM(如 LLaVA、nanoVLM)通过微调 LM 让它理解视觉,代价是原生语言能力被显著削弱。作者在 nanoVLM 上观察到这种退化的具体表现:标准微调 4000 步后,COCO 描述从 0.800 掉到 0.673(-15.9%)、MME cognition 从 302 掉到 229(-24.2%)、HellaSwag 从 0.405 掉到 0.326(-19.5%)、ARC Easy 和 ARC Challenge 分别下降 10.7% 和 13.4%。一种朴素应对是继续在语言密集数据上微调(论文中 nanoVLM-lang 实验),但 ARC 仅微涨 0.4%、ARC Challenge 仅 0.7%,HellaSwag 0.9%,原因是多模态适应已经造成深层表示漂移,单纯的语言数据微调无法逆转。现有替代方案要么冻结 LM 并插入额外模块(如 BLIP-2 的 Q-Former、CogVLM 的视觉专家、LLaMA-Adapter 的 zero-init 适配器、IAA 的内层适配器),要么在权重空间里做插值或子空间恢复(task arithmetic、weight interpolation),前者带来推理时参数和计算成本,后者难以在不同模型和模态间通用。

本文的目标是提出 LINGUDISTILL,一种在推理时零额外参数、训练时无需新模块的方法,把原始冻结 LM 重新作为教师,通过蒸馏把语言先验'还回'VLM,同时保留视觉接地的能力。具体目标包含三层:在 17 类来源上训练的语言/知识基准上比标准微调相对提升约 10%;在 OCR/文档这类视觉接地的基准上退化幅度被显著抑制;最终模型在推理阶段与普通 VLM 完全一致,不增加参数量、不增加延迟。

与已有工作不同的是,本文的切入角度是把跨模态 KD 视为一个模态错位问题:教师只懂文本、学生在多模态上下文里解码,二者无法直接对齐。作者没有模仿 BLIP/Q-Former 那一派引入新的可学习桥接模块,也没有走权重空间求解路线,而是提出层间 KV-cache 共享让教师在每一层注意力机制中复用学生的多模态 KV,使冻结的 LM 第一次能够在不更新任何参数的前提下看到图像信息。然后再叠加一层数据源感知的蒸馏强度控制 $\alpha(d_b)$,把教师的语言信号只施加到适合的样本上。这种'用注意力机制共享代替新模块 + 用数据条件权重代替均匀蒸馏'的组合,是与过往工作最本质的区别。

核心方法

LINGUDISTILL 包含两个相互嵌套的组件。结构层面,构造一个学生-教师双塔:学生 $\Phi$ 是待提升的 VLM(nanoVLM-460M),教师 $\Omega$ 是其预训练阶段使用的指令微调 LM(SmolLM-360M-Instruct)。图像经 frozen 视觉编码器和 projector 映射到语言词空间后,与文本拼成多模态序列 $X = [X_v; X_t]$。学生的每一层 Transformer 在自回归解码时正常计算自己的 $K^{(l)}_\Phi, V^{(l)}_\Phi$;教师每一层只重新计算 $Q^{(l)}_\Omega = X W^{(l)}_{q,\Omega}$,然后复用学生的 $K^{(l)}_\Phi, V^{(l)}_\Phi$ 去算 attention。这样教师在不修改自身参数的情况下看到了完整的多模态上下文,并产出与学生同分布的'视觉感知'监督信号。优化层面,沿用经典 KD 目标:软损失 $L_{\mathrm{soft}} = T^2 \cdot \mathrm{KL}(p_\Omega \| p_\Phi)$,硬损失 $L_{\mathrm{hard}} = \mathrm{CE}(z_\Phi, y)$,最终损失按数据源 $d_b$ 加权 $\alpha(d_b)\cdot L_{\mathrm{soft}} + (1-\alpha(d_b))\cdot L_{\mathrm{hard}}$:8 个语言密集源(A-OKVQA、FigureQA、IconQA、RobustQA、ScienceQA、Visual7W、VQAv2、VSR)使用 $\alpha > 0$,9 个 OCR/文档源(ChartQA、DocVQA、InfographicVQA、OCR-VQA、TextCaps、TextVQA、VisText、VisualMRC、Chart2Text)使用 $\alpha = 0$,仅保留 ground-truth 的硬监督以保护视觉接地。训练结束后教师整支被丢弃,最终部署的模型就是普通 VLM。

第一项核心创新是层间 KV-cache 共享:相比 UniFusion 在 VLM encoder 和 diffusion decoder 之间的层间 KV 融合(且作者自己指出需要专门的投影头否则会出现特征不对齐),LINGUDISTILL 利用了教师-学生共享同一个 LM 架构这一天然条件,直接让学生 VLM 充当教师 LM 的'上下文供给方',教师只生成自己的 Q,并用 softmax 注意力 $A^{(l)} = \mathrm{softmax}(Q^{(l)}_\Omega (K^{(l)}_\Phi)^T / \sqrt{d_h}) V^{(l)}_\Phi$ 读取学生的多模态记忆。这相当于让 frozen LM 以零成本接入 VLM 的视觉表征,从而在架构层面彻底不需要 BLIP/Q-Former 式的额外可学习模块。第二项核心创新是 $\alpha(d_b)$ 这种'数据源条件'的蒸馏强度:与 uniform KD($\alpha$ 全局固定 0.5)相比,它显式承认一个事实——纯文本教师的监督在 OCR 抽取这种需要精确像素对齐的任务上是不可靠的,所以只在语言密集数据上让教师发声。两者合起来的本质区别是把'模态错位'从架构层面(KV 共享)和优化层面(数据条件权重)同时解决,而过往工作只解决其中一个。

方法步骤详情

完整流程由 4 步组成:① 多模态序列构造。图像经 frozen 视觉编码器 + projector 映射,与文本 token 拼接为 $X = [X_v; X_t]$,单图、最长 1024 token,来源于 The Cauldron 的 17 个子集。② 学生前向。学生解码器 $\Phi$ 在所有 $L$ 层上正常自回归,缓存每层 $(K^{(l)}_\Phi, V^{(l)}_\Phi)$,同时产出 logits $z_\Phi$ 用于 hard loss。③ 教师前向。教师 $\Omega$ 在每层重新计算查询 $Q^{(l)}_\Omega = X W^{(l)}_{q,\Omega}$,而 Key/Value 直接拷贝学生结果 $(K^{(l)}_*, V^{(l)}_*) = (K^{(l)}_\Phi, V^{(l)}_\Phi)$,再走标准多头注意力得到 vision-aware 的教师 logits $z_\Omega$;教师参数全部冻结。④ 选择性 KD 反向传播。逐 token 计算温度 $T$ 下的 KL 软损失 $L_{\mathrm{soft}}$ 与硬交叉熵 $L_{\mathrm{hard}}$,按样本来源的 $\alpha(d_b)$ 融合:$\mathcal{L} = \sum_{(b,t)\in\Omega_{\mathrm{pos}}} \frac{\alpha(d_b) L^{(b,t)}_{\mathrm{soft}} + (1-\alpha(d_b))L^{(b,t)}_{\mathrm{hard}}}{|\Omega_{\mathrm{pos}}|}$。主配置使用 $T=4, \alpha=0.7$;ablation 中分别尝试 $\alpha=0.3, T=2$(LowKD)和更激进的高 KD 设置。所有学生梯度更新都只流过 VLM 这条路径,教师的 KV 路径被视为常数(stop-gradient)。学习率固定 $1e-4$,bf16 精度,cosine schedule,约 3.8 亿 token / 4000 步的训练预算下结束。训练完成后丢弃教师,部署的模型就是改良版 nanoVLM,无任何新增参数。

技术新颖性

技术上做了三件之前没有人在多模态恢复场景里做过的事。① 把 KV-cache 共享从'同模型组件之间的推理加速'(speculative decoding)或'编码器-解码器'(T5Gemma 2)的设定,拓展到'冻结纯文本 LM × 训练中多模态 VLM'这一异质角色对:教师不更新参数,但要消费学生的多模态 KV,关键是利用了两个模型同构 LM backbone 的天然条件,省掉了 UniFusion 提到的辅助投影头。② 引入数据源条件 KD 权重 $\alpha(d_b)$,把 KD 训练从'全局标量超参'升级为'依赖样本属性的动态权重',使同一训练循环内对不同任务使用不同蒸馏强度。该思路的近邻是 task-conditioned 或 curriculum-style 的 KD,但本文把它和模态可靠性直接挂钩并显式分到 OCR vs. 语言密集两档。③ 设计了完整的 10 种实验变体矩阵(2 组 baseline + 2 组 uniform KD + 3 组 selective KD + lang/full 数据子集 + KD 强度 ablation),用来剥离数据筛选和 KD 本身的贡献,避免把方法有效归因于超参巧合。这些 ablation 共同支撑了文章的核心论断:'selective routing' 才是语言恢复的关键,而不是蒸馏本身。整体方法无须 BLIP/Q-Former 式的中间模块,也无须 weight interpolation,因此推理时不增加 FLOPs 或参数。

LINGUDISTILL training setup
Figure 1: LINGUDISTILL training setup

实验结果

10 种配置在 14 个基准上的对比给出 4 条主要结论。① 标准微调确实显著伤害语言能力:nanoVLM-full 相对预训练 nanoVLM 在 COCO 描述 -15.9%、HellaSwag -19.5%、MME cognition -24.2%、ARC Easy -10.7%、ARC Challenge -13.4%,而 DocVQA 仅 -0.3%、MMStar 仅 -0.3%,证明退化集中在语言而不是视觉。② 单纯限制到语言子集(nanoVLM-lang)不够:COCO 回拉到 0.742(+10.3%),ARC Easy 仅 +0.4%,ARC Challenge +0.7%,ScienceQA 甚至 -1.9%,说明数据过滤无法修复 backbone drift。③ Uniform KD 在换语言能力的同时严重损害视觉任务:distill-full 把 COCO 抬到 0.843(+25.3%)但 OCRBench 从 0.726 暴跌到 0.452(-37.7%)、DocVQA -16.6%、MMMU -8.7%,原因为纯文本教师在像素级任务上的监督不可靠。④ LINGUDISTILL($\alpha=0.7, T=4$,语言密集源蒸馏、OCR 源关闭 KD)在语言/知识基准上把 nanoVLM-full 的退化几乎全部回收:AI2D 0.507(+21.9%)、COCO 0.866(+28.7%)、ScienceQA 0.676(+14.2%)、ARC Easy 0.621(+15.0%)、ARC Challenge 0.318(+14.0%)、HellaSwag 0.394(+20.9%)、MME cognition 300(+31.0%)、MME perception 1173(+14.2%);同时 OCR 损失被显著抑制:DocVQA 仅 -3.5%(vs. 蒸馏均匀时 -16.6%)、OCRBench 仅 -17.4%(vs. -37.7%),InfographicVQA 反而 +17.0%。作者进一步在 ScienceQA 上做了逐题分析:LINGUDISTILL 比 nanoVLM-full 多答对 854 题、少答对 498 题,净增 8.39 个百分点,覆盖自然科学(443)、语言科学(215)、社会科学(196)三类;在 AI2D 上净增 9.16 个百分点,主要集中在食物网和生物图等需要世界知识推理的题。在 OCRBench 的 10 个子任务中,'Key Information Extraction' 单项掉 63 分、'Doc-oriented VQA' 掉 26 分,占总损失的 71%;错误模式归纳为三类——教师把乱码纠正成真词、教师用近义但不同的文本字段作答、教师因强语言先验做了不当改写,本质都是'教师太会读懂文本,反而妨碍精确复制文本'。Loss 曲线(Figure 2)显示 LINGUDISTILL 主配置在 CE 项最低,High KD 反而更高、Low KD 最高,说明 KD 太强会反过来压制硬监督,性价比最高的是中间档 $\alpha=0.7$。

Training source categorisation(语言密集与 OCR/doc 分类)
Table 1: Training source categorisation(语言密集与 OCR/doc 分类)
Experimental variants(10 种实验变体配置表)
Table 2: Experimental variants(10 种实验变体配置表)
Benchmark results across variants(主结果表)
Table 3: Benchmark results across variants(主结果表)
Training-loss analysis for the three selective distillation variants
Figure 2: Training-loss analysis for the three selective distillation variants
查看结构化数据
任务指标本文基线提升
HellaSwag(常识/语言推理) accuracy 0.394 nanoVLM-full 0.326 +20.9%(相对 -19.5% 的损失已被基本回收)
ARC Easy accuracy 0.621 nanoVLM-full 0.540 +15.0%(超过预训练基线 0.605)
ARC Challenge accuracy 0.318 nanoVLM-full 0.279 +14.0%(接近预训练 0.322)
ScienceQA(含图像的科技题) accuracy 0.676 nanoVLM-full 0.592 +14.2%
AI2D(图表推理) accuracy 0.507 nanoVLM-full 0.416 +21.9%
COCO 2017 描述 CIDEr-like score 0.866 nanoVLM-full 0.673 +28.7%
DocVQA(文档 VQA) accuracy 0.740 nanoVLM-full 0.767 -3.5%(蒸馏均匀时为 -16.6%,被显著抑制)
OCRBench score 0.600 nanoVLM-full 0.726 -17.4%(vs. uniform KD 的 -37.7%)
InfographicVQA accuracy 0.330 nanoVLM-full 0.282 +17.0%
MME cognition score 300 nanoVLM-full 229 +31.0%
MME perception score 1173 nanoVLM-full 1027 +14.2%
MMMU accuracy 0.283 nanoVLM-full 0.310 -8.7%(作者归因于 1024 token 长度上限)

局限与改进

作者明确指出两点主要局限:一是 OCRBench 中 Key Information Extraction / Doc-oriented VQA 子任务合计损失占总 OCRBench 损失的 71%,表现为教师强语言先验把 OCR 文本'过校正'成合法单词或近义短语,影响精确复制;二是 MMMU 在所有蒸馏变体下都下降约 8.7%,作者把责任归到训练时单图 1024 token 的限制,而不是 KD 目标本身。本文规模上也有边界:模型是 nanoVLM-460M / SmolLM-360M 这一档量级(远小于 Qwen2-VL、LLaVA-OneVision),3.8 亿 token 的训练预算也明显小于行业主流 setup,作者谨慎声明'Subject to further scaling tests, our findings suggest...',把更大规模下的扩展验证留作未来工作。我自己的观察是,论文主要在相对小尺寸 + 单一学生-教师组合上做验证,KV-cache 共享在更大、更异构的 VLM 家族(如参数量跨数量级或视觉编码器与 LM 解码器深度不同)上的适配性尚未验证;选择性蒸馏的 17 源分组是 hand-crafted,缺乏更细粒度按样本难度 / 实例级 $\alpha(d_b)$ 的自适应机制;另外 KD 超参只 ablation 了 $(\alpha, T) \in \{(0.7,4),(0.3,2),\text{high}\}$ 三档,搜索空间仍然有限。

独立分析的弱点

从独立审视的视角,论文还可以从以下角度加强。① 数据源条件 KD 的 8/9 分组是手工指定的(Table 1),如果遇到新数据集或来源更复杂的训练语料,谁来分组、按什么标准分组并不清晰;可以引入自动学习 $\alpha$ 的元学习方案(例如按样本 loss 方差或模态纯净度估计)。② KV-cache 共享依赖教师-学生是同一个 LM 架构(同为 SmolLM-360M 不同 prompt 设置),如果未来想换教师(例如从 SmolLM 换成更强的 Qwen2-0.5B),能否保证 KV 维度匹配需要进一步讨论,更一般地,可以引入一层轻量 projector 来解除架构绑定。③ OCR 任务的'教师语言先验过校正'问题作者给出了三种失败模式,但缺乏具体解决方案;可考虑对 OCR 抽取类任务再叠加一个'严格复制'约束,例如 character-level NLL 正则。④ 所有评估都使用 lmms-eval 零样本 batch_size=1,未与更强的 VLM 基线(如 LLaVA-OneVision、Idefics)做 head-to-head,小尺寸实验的可迁移性存疑。⑤ 单图 + 1024 token 的训练配置,可能就是 MMMU 等综合性多图基准掉分的根因,论文未给出多图数据下的实验。

未来方向

作者在 Discussion 中已提到 'subject to further scaling tests',这是我读到的最直接的扩展方向。具体可延伸为几条:① 将方法扩展到 7B / 13B 量级 VLM,验证 KV 共享在大模型上是否仍有显著 gain;② 把 KV 共享架构推广到 encoder-decoder 风格的 VLM(如 Qwen2-VL 类 deepstack)和 text-to-image / speech-to-text 等其他模态对,验证其一般性;③ 引入样本级 / token 级动态 $\alpha$,比如根据 teacher-学生 logit 的对齐度动态决定哪些 token 接受软监督、哪些保留硬监督,以替代人工的 8/9 划分;④ 在 OCR/doc 抽取任务上设计专用的 'faithfulness' 损失来抑制过校正,或者用 preference learning(DPO/RLHF)让模型学会在精确复制和语言流畅之间权衡;⑤ 探索与 BRIDGE、BLIP-2 这类'冻结 LM + 接入模块'方案的混合变体,比较参数和性能拐点。

复现评估

可复现度中等偏上。论文给出了较完整的方法描述、数据来源(The Cauldron 的 17 个子集)、训练超参(lr 1e-4、bf16、380M token、4000 steps、cosine schedule、batch size 未明确但约 95k tokens/step 量级)、学生与教师模型(HuggingFace 上 lusxvr/nanoVLM-460M-8k 和 SmolSM-360M-Instruct)。评估使用标准工具 lmms-eval,零样本 batch_size=1,10 种变体的详细配置集中在 Table 2。基线开源但作者未在论文中显式给出版本号或 commit,截止本文版本未明确公布代码仓库(论文是 preprint),因此代码可能尚未公开。算力门槛:nanoVLM-460M 这一量级单卡 A100/H100 数百小时可以重现,相比 7B 量级 VLM 友好得多。复现难度主要在 KV-cache 共享的工程实现细节:teacher 的 K/V 来自 student、teacher 的 Q 用 teacher 自己的 $W_q$、全部 stop-gradient,这条路径在 HuggingFace transformers 里需要 monkey-patch attention forward 才能高效跑通,作者是否提供这部分实现不确定。