mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6mobile wallpaper 7
3275 字
9 分钟
CogVLM:17B 干翻 55B
2026-07-14

CogVLM 论文解读:17B参数干翻55B,视觉专家模块才是真功夫#

CogVLM: Visual Expert for Pretrained Language Models Wenyi Hong, Weihan Wang, Qingsong Lv, Jiazheng Xu, et al.(清华大学KEG实验室 + 智谱AI) 发表于 NeurIPS 2024

说实话,2023年底多模态圈子卷得飞起,大家都在想怎么把”看图”和”说话”这两件事缝合到一起。CogVLM的回答特别暴力——别缝合了,我直接在语言模型的每一层里塞一个”视觉专家”进去。结果呢?17B参数,14项评测拿了10个SOTA,把谷歌55B的PaLI-X按在地上摩擦。这篇论文,值得每个做多模态的人反复读三遍。

一、背景:多模态模型的”缝合焦虑”#

2023年那会儿,多模态大模型的设计思路基本就两条路:

第一条,浅层融合(Shallow Fusion)。把图像编码器输出的特征往语言模型前面一丢,加个适配器(Adapter)对齐一下维度,完事。代表选手:LLaVA、MiniGPT-4。优点是简单,缺点是视觉信息到了深层就被语言特征”稀释”了——你想想,一张图的信息就靠前面几层处理,后面几十层全是语言模型在”自说自话”,这能好吗?

第二条,交叉注意力(Cross-Attention)。在语言模型里插入额外的交叉注意力层,让文本token去”查询”视觉特征。代表选手:Flamingo。这条路理论上更优雅,但问题是——你得改架构、加参数、重新训练,工程代价巨大,而且交叉注意力的计算开销不是闹着玩的。

CogVLM说:我两条路都不走。我要走第三条路。

二、核心创新:Visual Expert,每层楼都住一个”眼科医生”#

CogVLM最核心的贡献,就是提出了视觉专家模块(Visual Expert)。

这个设计思路特别直觉:既然视觉信息和语言信息在”思维方式”上根本不同,那为什么非要让它们共享同一套参数?

具体做法是这样的:在预训练语言模型(Vicuna-7B-v1.5)的每一个Transformer层里,额外插入一套独立的参数:

  • Attention部分:给视觉token单独配一组Q、K、V投影矩阵。也就是说,视觉token在做自注意力的时候,用的是自己专属的”眼镜”去看世界,而不是跟语言token挤同一副眼镜。
  • FFN部分:同样,给视觉token配一个独立的前馈网络(MLP)。语言token走原来的FFN,视觉token走自己的FFN。

打个比方:一栋32层的办公楼(32层Transformer),以前所有人(视觉token和语言token)挤在同一个工位上干活。现在CogVLM说,每一层我都隔出一间独立办公室,专门给”视觉部门”用,配独立的电脑(QKV矩阵)和独立的文件柜(FFN)。两个部门在走廊里能交流(共享注意力计算),但干活工具是各用各的。

这个设计有几个妙处:

第一,深层对齐。 视觉信息不再只在前几层被处理,而是在每一层都有专门的参数来”消化”它。这就像你学英语,不是背完单词就完了,而是每一篇课文、每一次对话都在强化语感。

第二,不破坏语言能力。 语言模型的原始参数完全不动,视觉专家是”增量式”插入的。这意味着CogVLM的纯文本能力不会退化——你让它写诗、做数学,它照样行。

第三,参数效率。 听起来每层都加参数很奢侈?实际上视觉专家只占总参数的一小部分。整个模型17B参数里,视觉编码器占11B,语言模型7B,视觉专家模块的增量参数相对可控。

三、整体架构:三大件的精密配合#

CogVLM的完整架构由三个核心组件构成:

1. 视觉编码器(Visual Encoder):EVA2-CLIP-E

这是一个基于ViT(Vision Transformer)的巨型视觉编码器,参数量约11B。它负责把输入图像切成patch,编码成一系列视觉token。EVA2-CLIP-E在CLIP框架上做了大规模掩码图像建模(MIM)预训练,视觉表征能力极强。

2. 视觉语言适配器(Vision-Language Adapter)

视觉编码器输出的特征维度跟语言模型不匹配,需要一个适配器做”翻译”。CogVLM用的是一个相对轻量的线性投影层,把视觉特征映射到语言模型的嵌入空间。

3. 带视觉专家的语言模型(LLM with Visual Expert)

基座是Vicuna-7B-v1.5(LLaMA的微调版本),然后在每一层插入Visual Expert模块。最终语言模型部分约7B参数。

三者加起来,总参数量约17B(视觉编码器11B + 语言侧约6-7B)。

四、训练策略:两阶段,先对齐再融合#

CogVLM的训练分两个阶段,思路非常清晰:

阶段一:视觉-语言对齐预训练(Alignment Pretraining)

  • 数据:约15亿图文对(1.5 billion image-text pairs),规模相当恐怖
  • 目标:让视觉编码器的输出和语言模型的输入空间对齐
  • 训练方式:主要训练适配器和视觉专家模块,视觉编码器和语言模型大部分参数冻结
  • 任务:图文匹配、图像描述生成等

这一步的本质是”让两个说不同语言的人先学会对方的基本词汇”。

阶段二:端到端微调(End-to-End Fine-tuning)

  • 数据:高质量的多模态指令数据
  • 目标:让模型学会按照指令完成各种视觉理解任务
  • 训练方式:解冻更多参数,端到端优化
  • 任务:VQA、图像描述、视觉推理、视觉定位等

这一步是”让两个人不仅能对话,还能一起完成复杂项目”。

五、性能:14项评测,10项第一,这不是运气#

CogVLM在14个主流多模态基准测试上的表现:

  • 10项SOTA(State-of-the-Art):包括VQAv2、GQA、VizWiz、SQA、TextVQA、POPE、MME、MM-Bench等
  • 4项次席:仅次于当时最强的闭源模型

最震撼的对比:CogVLM(17B)在多个任务上超越或持平PaLI-X(55B)。参数量只有人家的三分之一,性能反而更强。

这说明什么?说明架构设计比暴力堆参数重要得多。你谷歌用55B参数硬怼出来的性能,我清华用一个精巧的Visual Expert模块就追平甚至超越了。

特别是在需要深层视觉理解的任务上(比如TextVQA需要识别图中文字、VizWiz需要理解复杂场景),CogVLM的优势更加明显。这恰恰验证了Visual Expert”每层都做视觉处理”的设计哲学。

六、为什么Visual Expert能work?一点技术分析#

我觉得Visual Expert成功的原因有三个层面:

信息论层面:视觉信息和语言信息的分布差异巨大。图像patch的语义密度、空间关系、纹理特征,跟文本token的序列依赖、语法结构完全是两码事。强行共享参数,等于逼一套参数同时拟合两种截然不同的分布,必然有损。

梯度层面:如果视觉和语言共享参数,反向传播时两种梯度会”打架”。视觉任务需要的参数更新方向,可能恰好损害语言能力。独立参数避免了这种梯度冲突。

表达力层面:每层都有独立的视觉处理通道,等于给模型增加了一条”视觉高速公路”。视觉信息可以从第一层一直”专线”处理到最后一层,不用在中间被语言特征淹没。

七、局限性与后续影响#

当然,CogVLM也不是完美的:

  • 视觉编码器11B参数太大了,推理成本高
  • 图像分辨率受限于EVA2-CLIP-E的输入尺寸(224×224),对细粒度理解有瓶颈
  • 不支持视频理解
  • 中文能力相对英文偏弱(毕竟基座是Vicuna)

但它的影响是深远的。Visual Expert这个架构思想被后续CogVLM2、CogAgent等模型直接继承,成了智谱AI多模态技术栈的”祖传架构”。更重要的是,它给整个社区指了一个方向:多模态融合的关键不在于”在哪里接”,而在于”融合多深”。

收尾:我的一点看法#

第一,CogVLM是我心目中2023年最优雅的开源多模态工作。不是因为它性能最强(那个位置属于闭源模型),而是因为它用一个极其简洁的设计思想——“每层加个专家”——就解决了一个困扰社区很久的问题。这种”四两拨千斤”的工作,比堆100B参数的暴力美学高级太多了。

第二,15亿图文对的预训练数据量说明一个残酷事实:好的架构设计能降低参数需求,但降不了数据需求。你设计再精巧,没有海量高质量数据喂着,也白搭。这也是为什么大厂做这个有天然优势。

第三,Visual Expert的思想其实跟MoE(Mixture of Experts)有异曲同工之妙——都是”不同的输入走不同的参数”。只不过MoE是动态路由,Visual Expert是静态路由(看你是视觉token还是语言token)。我甚至觉得,未来可以把这两者结合起来:视觉token内部也做MoE,不同类型的视觉信息走不同的专家。

第四,从工程角度看,CogVLM的”增量式”设计对产业界特别友好。你有一个训好的语言模型,不用推倒重来,只要”插”进去视觉专家模块就行。这大大降低了多模态化的门槛。

第五,回头看,CogVLM是智谱AI”Cog系列”多模态帝国的奠基之作。没有它,就没有后来的CogVLM2、CogAgent、CogVideo。一个好的架构选择,真的能吃好几代红利。

附:核心数据速查#

指标数值
总参数量~17B
视觉编码器参数~11B(EVA2-CLIP-E)
语言模型参数~7B(Vicuna-7B-v1.5)
预训练图文对~15亿(1.5B)
训练阶段2阶段(对齐 + 端到端微调)
评测基准数14项
SOTA数量10项
次席数量4项
对比标杆PaLI-X 55B(超越/持平)
发表会议NeurIPS 2024
输入分辨率224×224
开源协议可商用

关键概念清单#

术语英文解释
视觉专家模块Visual Expert在Transformer每层为视觉token插入的独立QKV矩阵和FFN,实现深层视觉处理
视觉编码器Visual Encoder将图像编码为token序列的模型,CogVLM使用EVA2-CLIP-E
适配器Adapter连接视觉编码器和语言模型的投影层,对齐特征空间
浅层融合Shallow Fusion仅在输入层拼接视觉和语言特征的做法
交叉注意力Cross-Attention让一种模态的token查询另一种模态特征的注意力机制
掩码图像建模Masked Image Modeling (MIM)遮住图像部分区域让模型预测的自监督预训练方法
视觉问答Visual Question Answering (VQA)给定图像和问题,模型生成答案的任务
端到端微调End-to-End Fine-tuning解冻所有参数联合优化的训练方式
图文对齐Image-Text Alignment让视觉特征和语言特征在统一空间中可比较
前馈网络Feed-Forward Network (FFN)Transformer中注意力层之后的全连接层
分享

如果这篇文章对你有帮助,欢迎分享给更多人!

CogVLM:17B 干翻 55B
https://mizuki-eaf.pages.dev/posts/glm/cogvlm17b-干翻-55b/
作者
无名之子
发布于
2026-07-14
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录