跳转至

GenRecal: Generation after Recalibration from Large to Small Vision-Language Models

会议: ECCV2026
论文: ECCV 官方页面
项目: GenRecal
领域: 模型压缩
关键词: 跨分词器蒸馏、特征重校准、教师语言头、表示对齐、小型视觉语言模型

一句话总结

GenRecal 在训练时用 Recalibrator 将小型视觉语言模型的隐藏特征接入教师的语言头,绕过跨 tokenizer 的直接 token 对应问题,使 InternVL2.5-8B 的 MMMU 从 56.0 提升至 68.1,部署时则移除全部辅助模块,保持学生原有架构。

研究背景与动机

将大型视觉语言模型(VLM)的能力迁移给小模型,困难不只是参数少了。传统逐 token 蒸馏通常比较教师和学生的输出概率分布,但不同 tokenizer 的词表大小、文本切分和 token 索引都可能不同,同一个答案未必有相同长度;视觉切块策略还会改变输入序列长度。把两组 logits 直接送进 KL 散度,既可能维度不匹配,也可能把语义不同的词当作同一个索引比较。即便名称都叫 InternVL2.5,8B 与 78B 也分别依赖 InternLM2.5 与 Qwen2.5,不能仅凭模型家族名判断可蒸馏性。

一个直观替代是让大模型生成答案,再用答案文本对小模型做监督微调,但这会丢掉教师的软分布信息。另一条路线是跨词表匹配,然而它仍需处理分词边界与序列长度。作者进一步指出,即使 Qwen2-VL-7B 与 72B 共用 tokenizer,小模型的表示空间和语言头容量也会限制知识传递。因此需要解决的不仅是词表接口,还包括如何让教师真正读懂学生已经提取出的视觉和语言信息。

GenRecal 不强迫学生更换 tokenizer,而是在训练期间学习一条通向教师表示空间的路径,并通过教师语言头提供监督。核心 idea:让学生提供问题的隐藏表示,让教师提供答案的序列坐标系,在可学习的 Recalibrator 中完成条件生成式对齐,再将由此得到的学习信号传回学生。

方法详解

整体框架

训练输入是同一组图像、问题和参考答案,教师与学生分别按自身的视觉编码和 tokenizer 处理。GenRecal 先建立“跨分词器重校准”路径,再通过“教师锚定对齐”预热该路径,随后执行“蒸馏与独立微调”,最终输出一个可以独立生成答案的学生模型。

这里的“大模型参与”只发生在训练阶段。在线推理不再需要教师答案、教师语言头或 Recalibrator,而是走学生原有的视觉编码器、视觉投影器、语言模型主干和语言头。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    Input["训练:图像、问题<br/>与参考答案"] --> Bridge["跨分词器重校准"]
    Bridge --> Align["教师锚定对齐"]
    Align --> Distill["蒸馏与独立微调"]
    Labels["训练监督:教师分布<br/>与真实答案标签"] -.-> Align
    Labels -.-> Distill
    Distill --> Export["移除教师与<br/>Recalibrator"]
    Export --> Student["推理:原架构学生<br/>图像与问题 → 答案"]

关键设计

1. 跨分词器重校准:把比较地点移到教师语言头之前

作者把每个 VLM 的语言部分拆成 VLM-body 和 VLM-head。前者输出已经融合上下文的隐藏特征,后者把特征投影到词表。对同一个问答样本,分别运行师生主干后,重校准路径取出学生的问题特征和教师的答案特征,并将两者拼成新序列。于是问题部分仍保留学生的视觉和语言表示,答案部分却天然使用教师的 token 数量与顺序,不必逐个匹配师生答案 token。

隐藏维度不同时,Proj-pre 先把教师答案特征降到学生主干的隐藏维度;拼接后的序列经过两个采用学生解码器配置的 Transformer 块,再由 Proj-post 恢复到教师隐藏维度。最后仅取答案部分送入教师语言头。两个投影器都是线性层,但中间的 Rec-body 是非线性序列模型:它必须让教师答案位置利用学生问题上下文,而不只是对每个 token 独立变换通道。

由于拼接后的序列与任何一方原序列都不同,作者重新分配位置 ID,加入新的 RoPE 位置编码,并在重校准输出上使用额外的层归一化。Rec-body 保留学生解码器的因果掩码、注意力头数和 FFN 结构。这样既能在新的序列顺序中进行自回归建模,又能保持模块较浅;这里的“跨 tokenizer”并不意味着去掉位置或序列依赖。

2. 教师锚定对齐:先学会读学生,再限制桥接空间漂移

第一阶段冻结教师和学生,只训练 Recalibrator。混合路径使用学生问题特征与教师答案特征,训练目标一方面要求经过重校准的答案特征通过教师语言头预测正确的教师 token 标签,另一方面要求其输出分布接近教师原有答案分布。两项监督分别提供明确的答案目标和教师的软知识,并不等价于直接比较两个不同词表。

同一阶段还运行教师自身路径:把教师的问题与答案特征都送入 Recalibrator,同样施加答案交叉熵和教师分布 KL 损失。因为 Rec-body 工作在学生隐藏维度,教师自身路径的输入需要经 Proj-pre 变换维度。这条正则化路径给重校准空间一个教师侧参照,防止混合路径虽然能降低损失,却学成一个与教师特征语义脱节的空间。它不是额外的逐 token 特征 MSE,也不是第二个教师。

关键是两条路径的输出都由同一个教师语言头解释。第一阶段结束时学生权重仍完全没变,所以不能把“桥接模块已经对齐”当成“学生性能已经提高”;原文表 9 的第一阶段检查点确实与基线完全相同。

3. 蒸馏与独立微调:把辅助路径的收益留在学生里

第二阶段沿用重校准后的教师侧交叉熵与 KL 监督,同时增加学生自己的答案交叉熵。正文明确此时训练学生 VLM-body,表 9 则将可训练项概括为 Recalibrator + Student。教师保持冻结;教师语言头对混合路径的学习信号经过 Recalibrator 回传至学生问题特征,使学生主干朝更有利于教师解释的方向更新。学生自己的语言头路径则保证它仍能用自身 tokenizer 表达答案。

第三阶段移除教师与 Recalibrator,只对学生执行监督微调(SFT),训练除视觉编码器之外的全部学生参数。它既包含学生原有语言主干和语言头,也包含视觉投影器;作用是把蒸馏后的表示进一步适配到独立指令跟随。最终部署保留学生原架构,而不是携带一个“小模型 + 转接器 + 大模型头”的混合系统。

一个完整示例

以图表问答为例:给定一张柱状图和“哪一年的数值最高?”,参考答案是“2020 年”。以下只说明信息流,不是论文新增实验样本,也不假设具体 tokenizer 会怎样切分这几个字符。

  1. 教师和学生各自编码图像、问题及参考答案;两边的问题和答案 token 数可以不同。
  2. Recalibrator 接收学生问题特征,以及投影到学生维度的教师答案特征;输出经 Proj-post 后由教师语言头预测教师答案标签。
  3. 第一阶段只让 Recalibrator 学习这种条件生成关系,同时用教师自身路径维持教师侧参照。第二阶段开放学生主干学习,并要求学生自己的输出也预测其自身答案标签。
  4. 第三阶段只微调学生;部署时仅输入柱状图和问题,由学生自行生成“2020 年”,无需预先提供参考答案或查询教师。

损失函数 / 训练策略

下面按正文算法 1 与算法 3 概括混合路径的损失。其中 \(p_l\) 是教师原始答案分布,\(p_r\) 是重校准特征经教师语言头得到的答案分布,\(y_l\) 是教师 tokenizer 下的真实答案标签;第二阶段额外使用学生原生分布 \(p_s\) 与学生标签 \(y_s\):

\[ \mathcal{L}_{\mathrm{bridge}} = \mathrm{CE}(p_r,y_l) + D_{\mathrm{KL}}(p_l\Vert p_r),\qquad \mathcal{L}_{\mathrm{stage2}} = \mathcal{L}_{\mathrm{bridge}} + \mathrm{CE}(p_s,y_s). \]

第一阶段另将算法 2 的教师自身路径损失与混合路径一起优化。上述是算法级概括,不补写缓存未给出的温度、正则化权重或 token 移位实现;尤其不根据损坏的式 (1) 猜补精确公式。正文称附录 H 进一步说明正则化,但当前缓存止于参考文献,未含该附录。

前两阶段各使用完整 9M 数据,第三阶段正文称使用去除通用视觉问答后的 6M 数据。训练采用 AdamW、DeepSpeed ZeRO-3 和 128 张 A100 80GB,每阶段学习率从 \(10^{-4}\) 线性衰减至 \(10^{-5}\);梯度累积 16 步,第一和第三阶段总 batch size 为 8192,第二阶段为 4096。正文报告三个阶段分别约需 2–4、8–11、4–6 小时,取决于模型规模。

需要保留一个复现边界:表 10 的数据规模分析把第三阶段描述为第二阶段数据的随机约 70% 子集,与正文“去除通用视觉问答”的选取规则不同。本笔记不将两种描述擅自合并为同一配方,复现时需以作者实现核实。

实验关键数据

主实验

表 A 摘录原文表 1 的三个代表性指标。两种学生的 GenRecal 结果均使用 InternVL2.5-78B 教师;数值为论文报告的 benchmark 分数,越高越好,不混称为统一准确率。

学生模型 训练配置 MathVista MM-Vet MMMU
Qwen2-VL-7B 原始基线 58.2 62.0 54.1
Qwen2-VL-7B GenRecal 68.8 70.4 65.6
InternVL2.5-8B 原始基线 64.4 62.8 56.0
InternVL2.5-8B GenRecal 74.9 73.2 68.1

InternVL2.5-8B 在 MMMU 上提升 12.1 分,在 MM-Vet 上提升 10.4 分。不过原文表 2 的 InternVL2.5-78B 教师 MMMU 为 70.1,仍高于学生的 68.1;“部分任务超过教师”不能改写成“全面超过教师”。

消融实验

表 B 摘录原文表 5,固定 InternVL2.5-8B 学生和 InternVL2.5-78B 教师,比较是否包含重校准的自回归损失。Avg 为该表 11 项 benchmark 分数的平均值,而非下一张表的四项平均值。

配置 MathVista MM-Vet MMMU Avg(11 项)
原始基线 64.4 62.8 56.0 68.1
GenRecal,不含自回归损失,仅 KL 55.2 55.4 50.6 59.8
GenRecal,含自回归损失 74.9 73.2 68.1 77.1

表 C 摘录原文表 9 的阶段检查点,师生组合与表 B 相同。Avg 仅平均 MMB、MathVista、MM-Vet、MMMU 四项,用于区分收益发生在哪个阶段。

检查点 本阶段数据 MMB MathVista MM-Vet MMMU Avg(4 项)
原始基线 无 84.6 64.4 62.8 56.0 67.0
第一阶段后:仅对齐模块 9M 84.6 64.4 62.8 56.0 67.0
第二阶段后:蒸馏 9M 88.2 72.5 70.9 65.7 74.3
第三阶段后:完整 GenRecal 6M 89.5 74.9 73.2 68.1 76.4
仅 SFT 的独立基线 9M 86.5 65.2 65.0 59.9 69.2

关键发现

  • 硬目标监督不可替代。 表 B 中仅用 KL 的 11 项平均分为 59.8,低于原始基线 68.1;加入自回归监督后为 77.1,差值为 17.3 分。这支持“对齐必须明确预测正确答案”的解释,但不是所有蒸馏方法都需要同样损失配方的证明。
  • 收益在最终 SFT 之前已出现。 表 C 的第二阶段平均分 74.3 高于仅 SFT 的 69.2,最终 SFT 再把 74.3 提至 76.4。不过两者训练流程与计算预算不同,不能据此声称严格等算力优势。
  • 同 tokenizer 也有收益。 原文表 4 使用 Qwen2-VL-72B 教师和 7B 学生,GenRecal 的 MMMU 为 64.2,LLaVA-KD 为 58.2;这与表 A 更换为 InternVL2.5-78B 教师后得到的 65.6 是不同设置。

亮点与洞察

  • 用共同的预测接口替代直接索引匹配。 教师语言头保持不变,而学生上下文被重校准到其可解释的空间;这使跨词表迁移变成条件生成学习问题,而非先求一份完美 token 对照表。
  • 辅助模块先稳定,学生再学习。 教师自身路径为 Recalibrator 提供参照,第一阶段又避免学生同时漂移。这种“先训练桥接关系,再让源表示适应”的次序可启发其他异构表示迁移任务,但仍需任务专属验证。
  • 训练复杂度与部署复杂度分离。 Recalibrator 可以在训练期间承接异构性,最后被整体移除。代价并没有消失,而是集中到了训练阶段,适合有集中训练资源、需要小模型部署的场景。

局限与展望

  • 依赖可访问内部状态的教师。 正文明确需要开放权重教师的参数和隐藏特征,只有文本输出的闭源 API 不能直接运行该方法;SFT 是另一条可行路径,但不等价于 GenRecal。
  • 无新增推理模块不等于训练便宜。 论文使用 128 张 A100 80GB 和百万级数据;其训练时间与 FLOPs 对比只适用于报告设置,不能直接推断单卡复现成本或移动设备实测延迟。
  • 平均分不能替代逐任务检查。 学生并未在所有任务上超过教师;表 B 和表 C 的平均指标也覆盖不同任务集合,不能互相比较绝对值。
  • 复现细节仍待核实。 缓存中的部分公式和表 6 排版损坏,所引附录未附带,且最终 SFT 数据描述存在差异。本笔记只使用可明确读取的算法与表格,不猜补温度、权重、移位方式或缺失消融数值。
  • 后续方向。 作者提出把 Recalibrator 扩展到中间层,并探索多教师来源;值得进一步检验不同视觉 token 策略和训练域变化下的迁移稳定性,后者是本笔记建议而非已验证结果。

相关工作与启发

  • vs LLaVA-KD / MiniLLM / DistiLLM: 这些比较项在共享 token 类型时进行 logit 蒸馏,并采用不同 KL 或训练策略;GenRecal 额外学习教师头之前的表示转换。同 tokenizer 对照用于说明其收益不只是解决词表不匹配。
  • vs ULD / MOT: 原文将它们归为利用 Wasserstein 距离或最优传输的跨 tokenizer logit 匹配;GenRecal 则先对齐隐藏特征,再在教师词表上计算监督。区别在知识传递接口,不是 GenRecal 完全不用 KL。
  • vs 答案级 SFT: SFT 只需文本标签或教师生成答案,适用访问受限的教师;GenRecal 需要额外内部特征,但保留了教师分布监督和表示级迁移路径。

评分

  • 新颖性: 4/5。核心价值在跨 tokenizer 的教师头蒸馏及其稳定训练配方,而非发明新的 Transformer 模块。
  • 实验充分度: 4/5。覆盖多种师生组合、损失消融与阶段检查点,但开放权重和大规模训练预算限制了外推范围。
  • 写作质量: 3/5。主要信息流和算法清楚,数据选取描述存在需要核实的差异,文本缓存还损失了部分排版信息。
  • 价值: 4/5。对异构 VLM 的能力压缩有明确意义,尤其适合不愿为了蒸馏而统一 tokenizer 的场景。