跳到主要内容

Large Vision-Language Models — 全书拆解

30 秒导读: 这不是一本教科书,是一本论文合集——17 章 = 17 篇论文, 原书第 1 章是编者写的导游,其余 16 篇各自独立。 它们全都在回答同一个问题:

一个已经训好的、能同时看懂图和字的大模型摆在这儿。 怎么把它的本事取出来用在新任务上——而且不重新训练它?

为什么这个问题值得一本书:重训一遍要几百万美元, 而你手上通常只有每类几十张标好答案的图(这种「标好答案」的图,业内叫标注)。 全书 16 篇给出的答案高度一致,而且方向反直觉:最有效的几招都是减法—— 冻住主干只动外围一小块、删掉两层、只调两个数、甚至干脆不训练。

本组文档是我们重写的完整拆解,20 章。读完不必看原书。 不需要任何视觉或机器学习基础,遇到的每个专业词都在第一次出现时当场解释。

1. 先交代清楚:这是谁在什么时候写的

编者Kaiyang Zhou(香港浸会大学)、Ziwei Liu(新加坡南洋理工大学 S-Lab)、Peng Gao(上海人工智能实验室)
落款时间2024 年 12 月(前言署名),2026 年由 Springer 出版1
内容17 篇论文,每篇由原作者改写成一章;原书第 1 章是编者三人合写的综述兼路线图
供稿单位南洋理工、上海人工智能实验室、北京智源、清华、南京大学、香港中文大学、英伟达、苹果、加州理工、马里兰大学等

有两件事必须先说,否则会误读这本书。

第一件事:这不是中立的领域综述,是三个实验室的作品集

16 篇论文里有 11 篇署着编者三人之一的名字,而唯一那篇「导游」也是他们自己写的2。 代价是选材偏向他们自己走的那条路,别把它当成「这个领域的全景」。

好处则很实在:每一篇都由原作者亲自改写,细节、失败案例、 以及「把自己方法里的某个零件拆掉、别的都不动,看分数掉多少」的那种对照实验, 全都保留了下来——最后这种实验的名字叫消融实验,后面十几章会反复出现。

第二件事:时间戳停在 2024 年 12 月

书里对「开源模型差在哪三处」这类判断,是那个时间点的判断 (开源:模型内部那几亿个数公开、谁都能下载来自己跑;闭源:只给你一个网络接口,内部不给看)。 机制层面的讲解不会过时,但凡是带年份色彩的结论,读的时候要打个折。

2. 全书一条主线(读完这一节,你就懂了这本书)

这本书是一条从头贯到尾的推理链:每一步都是被上一步逼出来的。 下面把这条链完整走一遍——不看后面任何一章,只读这一节,你也能把这本书讲给别人听。

机制细节全部留给对应的章节,这里只讲「发生了什么、为什么只能这样」。

① 起点是一件已经做成的事:图和字被钉进了同一个空间

一张图和一句话,本来是两种彻底不同的东西,没法互相比较。

2021 年有人做成了这件事(年份不在书里,是通用知识): 拿网上现成的 4 亿对「图 + 配这张图的那句话」去训一个模型, 只教它一件事——配成对的那一对要靠近,没配成对的要推远3

这种「先拿海量通用数据整个训一遍、不针对任何具体任务」的训练,叫预训练。 本书书名里的 pre-training 就是它;全书 16 篇的起跑线,全都是「预训练已经做完了」。

做完之后出现了一个副产品,它比原任务重要得多:

分类不再需要训练分类器了。 想让它认柯基,你只要写一句「a photo of a corgi」,让它比比看这张图离哪句话更近。 换一批类名,就等于换了一个分类器——一次训练都不用做。

这个模型叫 CLIP本书后面 16 篇论文,大部分都建在它上面 (具体数目是我们自己数的,数法见第 20 章)。

② 第一个念头当然是把它做大

于是有三篇超大规模的系统论文,各自往一个方向推:

  • 做大、看得更清、听得懂中文——视觉那半边加到 60 亿个可调的数, 让分辨率跟着图的形状变(第 05 章);
  • 加上时间——让它看视频、听声音(第 06 章);
  • 加上「会画」——让它不只能回答,还能生成,而且看几个例子就会做新任务(第 07 章)。

这三步的共同代价是同一笔:几百张显卡跑几周。

③ 代价逼出了全书真正的问题——而这笔代价有两层

第一层人人都知道:算力——说白了就是「几块显卡 × 跑多久」。书里说训一个 GPT-4 级别的系统, 要几千块加速卡跑上几周,花掉数百万美元4

第二层更要命,也更少被提起:你根本没有那么多数据。 模型有几亿个可调的数,而你手上那个具体任务往往只有中等规模的数据集—— 不够撑住这么多参数,硬调就是死记硬背了这几十张图5

所以这条线的默认设定从一开始就是:每个类别只给十几张标注图。 既然重训不起,问题就变成了:怎么把已经训好的本事取出来?

第一个尝试朴素得可笑——改喂给它的那句话。而这一招被人调到了荒谬的地步: 在一个常用数据集上,只是给类名前面加一个「a」,准确率就涨了 5 个点以上6

④ 那就让机器自己去学那句话

既然人靠试错能试出好句子,那就把那几个词换成可以被训练调整的数, 让机器自己去调;模型本体一个参数都不动。这一招管用,而且在换画风时确实更稳: 同一批类别换成素描版、艺术画版,它比什么都不学还高一点,作者明说学出来的那句话 「有很强的泛化能力」7

⑤ 但「换环境」有两级台阶,第二级是塌的

第一级台阶(同一批类别换个画风)它扛住了。第二级台阶是换一个数据集、换一批类别:

在通用图像集上学出来的那句话,搬到 10 个细分领域的数据集上,平均 56.18; 而什么都不学的原始模型是 55.82几乎什么都没带过去。 其中纹理数据集上是 37.29,反而低于什么都不学的 40.37

换一个更极端的组合:在纹理集上学出来的那句话拿到花卉集上,只剩 33.41%, 而什么都不学是 61.75%8

这是全书最有冲击力的一个反例:学到的东西没搬过去,好几个数据集上还不如不学。

⑥ 于是有了一个很聪明的绕法:不用训练集,用测试图本身

既然「学训练集」是病根,那就干脆不用训练集: 拿此刻要预测的那一张图当场学——把它随机裁剪、变换出几十个版本, 逼模型对这些版本给出一致的判断,只调那句话,只调一步。

代价也很实在:每张图都要多跑一遍,推理变慢。(第 08 章)

⑦ 还可以根本不动那句话,改动别的地方

三条并列的路,谁都不是全胜:

  • 在冻住的模型后面外挂一个小网络(冻住 = 训练时不许改它内部那些数), 再把这个小网络的意见和原模型的意见按比例混合;
  • 连训练都不要:把那几十张样例图各自变成的那串数直接存成一张表,来了新图就查表加权(第 09 章);
  • 塞进模型每一层内部——挂在原有的数旁边,或者往输入里塞几个人造的块(第 10 章)。

三种都有人试过,结果是:19 个数据集上没有任何一种全胜。 于是有人干脆把三种全塞进去,让机器自己搜哪一层该留哪一种(第 10 章)。

⑧ 到这里比的都是准确率。有一章问了个不一样的问题

调完之后,它说「我有九成把握」,还算不算数?

不算。调完之后,它对没学过的新类别反而更自信——与直觉正相反; 而且现成的补救办法用在新类别上,比不补救还差。(第 11 章)

⑨ 以上全是分类。挪到别的视觉任务上,同一个障碍反复出现

这个模型只见过「整张图配一句话」,所以它不知道东西在哪儿。

三章各想各的办法绕:检测那一章把「这是第几类」改写成「这个框和这个条件配不配得上」, 绕开新类别没有标签(第 12 章);分割那一章干脆删掉最后那层里的两个零件, 分数从 8.3 跳到 18.5(第 13 章);3D 那一章把立体的点云画成一张灰度图, 骗这个模型当普通照片来认(第 14 章)。

⑩ 后半本从「认」转向「造」,而它从主角退成了打分器

画画交给另一类模型(扩散模型:先把图一步步加噪声毁掉,再学着一步步擦回来), CLIP 只负责说一句「像不像你要的那句话」。

同一套减法继续有效: 一个小 30 倍的网络,就能让两个已经训好的画图模型 逐像素分工合作(第 15 章);把画图模型内部两条路重新配比, 不训练、不加算力、不加显存,白捡一截质量(第 16 章)。

⑪ 但打分器有天花板:它只看得懂单张图

所以生成数字人要另外补人体骨架和渲染方法(第 17 章), 生成动作要另外补动作库(第 18 章)——因为它判断得了「一张图像不像一句话」, 判断不了「一段动作像不像一句话」,也判断不了动作顺不顺。 生成场景则连配对数据都没有,只好把图片变成的那串数加点噪声、假装成一句话变成的那串数来训(第 19 章)。

⑫ 落点:16 篇在说同一句话

16 篇里至少 11 篇的核心动作是同一个:冻住主干,只动外围一小块。 而且最有效的几招都是减法——删两层、调两个数、干脆不训练。

(这 11 篇和第 1 节那 11 篇不是同一批,只是数目碰巧一样: 那边数的是「作者行里有编者名字」的,这边数的是「冻住主干只动外围」的。)

这本书真正在回答的不是「怎么造一个更强的模型」, 而是「本事已经在那几亿个训好的数里了,怎么把它取出来」 (那些数的正式名字叫权重——你在任何一份模型文档里都会撞见它)。

(这个数目是我们自己数的,清单和数法见第 20 章。)

3. 二十章地图

这张表不用记任何术语——每一章后面写的是「读完你能回答什么问题」。

读完你就能回答
01 图和字怎么进同一个空间它一个物体名字都没学过,凭什么认得出柯基?为什么换一批类名就等于换一个分类器?
02 打开那两个编码器一句话和一张图进去之后,分别被切成了什么?「每块去看别的块」到底在算什么?
03 三种架构、三种出题法为什么有的图文模型只会打分、不会说话?这一章是后面 16 篇的地图,别跳
04 绕不过去的十四堵墙这条路上真正的难题是哪些?哪几个书里点了名、16 篇一次都没回来处理?
05 把它做大(InternVL)开源模型追不上闭源,差在哪三处?一张长文档截图怎么被喂进去还不撑爆?
06 加上时间维(InternVideo2)视频比图片多出哪两件麻烦事?为什么加声音有用、加语音反而有害?
07 从看懂到会做(Emu2)同一个模型怎么会既能答又能画?给它 4 个例子,分数从 33.5 跳到 67.0 是怎么回事?
08 那句话可以被学出来全书转折点。 换个数据集就废,为什么?没有训练数据还能怎么办?
09 改编码器外面零训练怎么可能赢过训了 14 小时的? 一张表就能当分类器用?
10 塞进每一层,以及让机器去搜三种改法各挂在哪个零件旁边?没有一种全胜的时候怎么办?
11 九成把握还算数吗调完之后它为什么对没学过的类反而更自信?只用类名就能修好,凭什么?
12 让它指出东西在哪新类别连一个标签都没有,怎么训一个检测器?为什么接上 CLIP 会卡在第一步?
13 每个像素都要答案删掉两个零件为什么能让分数翻倍? 按常规做法微调为什么会全废?
14 认没见过的立体一次 3D 训练都不做,怎么让它认点云?为什么第二版把力气全花在「画得像不像照片」上?
15 扩散模型怎么画画它学的到底是什么?一次只能听一个条件,怎么让它同时听文字和一张区域图?
16 白捡的质量不训练、不加算力,只调两个数,凭什么能提质量?训练时有用的东西,推理时为什么可能有害?
17 一句话长出数字人根本没有「3D 人体–文本」配对数据,这事怎么可能做成?CLIP 在动作上为什么直接失效?
18 让动作跟着文字走一段动作在计算机里是什么?为什么「检索一段相似动作来参考」做不好还不如不检索?
19 造一整个世界生成一张能直接当光源用的全景图,难在哪四处?分数低为什么不等于结构对?
20 回头看16 篇的共同动作是什么?五种适配办法摆在一起,该选哪个? 三笔代价是什么?

推荐顺序: 01 → 02 → 03 → 04 是地基,必须按序读; 05–07 是「怎么造」,08–11 是「怎么用」,12–14 是「挪到别的识别任务」, 15–19 是「用来生成」,20 是落点。

只想拿结论的话: 读本页第 2 节 + 第 04 章 + 第 20 章就够。 只关心怎么把现成模型用起来的话: 01 → 08 → 09 → 10 → 11,五章成一条完整的线。

4. 这本书覆盖什么、不覆盖什么

覆盖(而且讲得比多数材料实在)——读完你能回答:

  • 图和字怎么被钉进同一个空间,以及为什么这件事让「零样本分类」成为可能;
  • 把这类模型做大时,参数、分辨率、语言、数据清洗各要付什么代价(带真实数字);
  • 一个已经训好的模型,有几种适配到新任务的办法,各自的准确率、训练时长、 回答一次要等多久、占多少显存分别是多少——这是全书最实用的部分;
  • 这些办法各自在什么情况下失效,以及失效的原因;
  • 把它挪到检测、分割、3D、生成、动作、场景上,各要补哪一块;
  • 大量失败实验与自陈局限——有一章专门先写「我们按常规做法试了,全废」, 这类坦白比结论更值钱。

不覆盖(别指望在这本里找):

缺什么说明
CLIP 自己是怎么训出来的全书大部分章节拿它当地基,却没有一章讲它的训练过程;最详细的一处也只有三段。我们在第 01、02 章补上了
两套核心机制的原理一套是「每一块去看别的块」(它的名字叫注意力),一套是扩散模型;各章直接给公式,默认读者已经懂。我们在第 02、15 章补上了
工程落地怎么部署、怎么服务化、真实产品里怎么评测——一个字没有
安全这一侧诱导模型说出不该说的话(业内叫越狱)、有害内容过滤,一概不提;只有三章各写了一小段社会影响与偏见
横向比较原书第 5 到 9 章五种方法各自用的底座模型、样例数、评分口径都不一样,书里没有一张可直接对比的表。我们在第 20 章自己排一张,并写死「设定不同,不可直接比较」
2025 年之后时间戳是 2024 年 12 月

还有一件事必须说清:这本电子书的后附材料是坏的。 书尾三个文件的内容来自另一本讲模拟电路芯片的书(打包时混进来的), 所以这本书自己的索引和总参考文献是缺失的。我们的拆解一律不引这三个文件; 各章自己的参考文献在各章内部,不受影响。

5. 我们的判断

判断(我们的,不是书里的): 这本书今天最大的价值不在「讲清了什么是 VLM」—— 那部分只有原书第 1 章,而且是综述口径。真正的价值在原书第 5 到 9 章(我们的第 08–11 章)那组成本数字上: 同一个任务、同一块显卡、同一套样例数,五种适配办法的准确率、训练时长、 推理时延、显存被摆在了一起。这种数据在论文里几乎从不出现,因为它对论文的卖点没帮助。 如果错,会错在: 如果读者关心的是「怎么从头训一个更强的模型」, 那这本书的价值排序就要倒过来——05、06、07 三章才是重点,而那三章的做法更新得很快。

判断(我们的,不是书里的): 全书最该带走的一条思维方式是**「先做减法」**。 分割那一章删掉两个零件让分数翻倍,画质那一章只调两个数就白捡一截质量, 缓存那一章干脆不训练就赢过训了 14 小时的对手。 共同点是:先去搞清楚这个已经训好的模型内部原本就有什么,再决定要加什么。 这三处都是先理解、后动手的结果,不是调参调出来的。 如果错,会错在: 这三个例子都发生在「这个已经训好的模型,远强于你手上那点数据」的场景里。 如果新任务和它当初见过的东西差得极远(书里也承认这种情况下自动搜索会不稳), 减法就不够了,还是得往上加东西。

判断(我们的,不是书里的): 读这本书要当心它的选材偏向。 16 篇里 11 篇有编者署名,而且大量互相引用、互相当对照。 一个具体后果是:「把喂给模型的那句话换成可训练的数」这一路被反复当成主要靶子来打, 五章里有四章拿它当对照——这既是因为它确实是那几年的代表做法, 也因为它正好是编者自己的论文,数据现成、复现方便。 如果错,会错在: 如果那几年这一路确实就是公认的最强基线, 那这就不是选材偏向,而是合理的对照——但书里没有交代选材标准,我们无从判断。

判断(我们的,不是书里的): 这本书对「失败」的记录密度异常高, 这是它区别于普通论文集的地方:分割那一章先写常规做法全废、 那句话那一章承认「学出来的东西读不懂」并且拒绝下结论、 检测那一章照实写慢 6 倍以上、3D 那一章照实写检测的绝对分只有 11.53。 拿它当「这条路走到哪儿了」的实况来读,比当教科书读更划算。 如果错,会错在: 这些坦白多数出现在作者自己已经拿到好结果的章节里, 属于「赢了之后才敢说的失败」;真正卡死没发表的路子,这本书里同样看不到。

6. 许诺兑现表

这份拆解里每一处「第 N 章讲」「后面会讲」,都在这里记一行。 核的是两件事:那一章真的讲了吗?讲的是不是许诺的那件事,而不是同名的另一件事。

许诺在哪许诺了什么应兑现在哪核过了吗
本页 §2 ③为什么「数据太少」和「算力不够」是两笔账04 §2、§3
本页 §2 ⑤换数据集就废的那组数字08 §6
本页 §2 ⑦零训练怎么赢过训了 14 小时的09 §3、§4
本页 §2 ⑧调完之后为什么对没学过的类反而更自信、补救为什么更差11 §3、§4
本页 §2 ⑩扩散模型是什么、小 30 倍的网络怎么让两个模型分工15 §2、§5
本页 §3 地图 074 个例子把分数从 33.5 抬到 67.007 §2
本页 §3 地图 13删掉两个零件为什么让分数翻倍13 §4、§5
本页 §4我们在 01、02 章补了 CLIP 与注意力的来历01 §1、§6;02 §4
本页 §5五种方法的横向对照表20 §1
01 §1预训练那一遍到底有多贵04 §2(第 ① 堵)
01 §3图和字「对不齐」这件事有一整堵墙04 §3(第 ⑤ 堵)
01 §5微调之后那个温度已经不合适,有一种按类别单独调它的办法11 §5、§6
01 §6那个「一次把整句话摊开算」的模型内部到底怎么算02 §4
01 §6网爬数据那笔账算到小数点后一位05 §8
01 §7边界一(分不清 jaguar)被处理成「那句话该怎么写」08 §2、§3
01 §7边界二(不知道东西在哪儿)后面怎么处理12 §5、13 §5、14 §3
01 脚注 12原书那一整节的十四条难题会被讲完04 §2、§3、§4
02 §3一张图切出来的小块太多,会把语言模型撑爆05 §7
02 §4「块数翻倍、开销翻四倍」这笔账正面算04 §2(第 ② 堵)
02 §5「把一堆块汇成一串数」那一层后面会被拆掉(q/k/v 就是被删的那两个)13 §4、§5
02 §8ResNet 缩 32 倍、ViT 只缩 16 倍,这个差别什么时候要紧13 §9
03 §2文本那半边可以预先算好,于是快 29 倍09 §6
03 §4要生成就必须换训练目标07 §1、§4
03 §6网爬数据噪声大,谁去清洗05 §8
04 §3书里预告的两条:这类方法泛化弱、测试时再调会变慢08 §6、§10
04 §3「每类只给十几张图」这个默认设定从哪来07 §2、08 §3
04 §5哪几堵墙 16 篇一次没回来处理04 §5 就地结完,20 §5 再汇总一次
05 §1那种最基础的小网络(MLP)后面还会原样出现19 §8
05 §5「冻住一部分只训另一部分」后面会反复出现07 §7、09 §2、10 §6
07 §5扩散模型怎么把一串数变回一张图15 §2、§3
08 §4学出来的东西读不懂这件事,后面怎么结账20 §5「代价二」
08 §10「2024 年 12 月之后怎么样了」记在时间戳一节20 §6⚠️ 见下方注
09 §1为什么「学那句话」这一路回答一次要慢 29 倍09 §6 就地讲完
09 §2嵌在每一层里的那一族适配办法10 全章
09 §10这个外挂小网络会被原样搬到 3D 上用14 §4
12 开头「不知道东西在哪儿」后面两章各用另一种办法处理13 §5(删两层)、14 §3(投影成深度图)
13 §3「微调破坏图文关联」有三处互相独立的证据,后面汇合20 §4
15 开头扩散的机制,后面第 16–19 章都建在它上面15 §2、§3,并被 1619 直接使用
17 §12作者自己说这套该被什么取代(扩散 + 分数蒸馏)15(那类模型的机制)、18(文生动作那条路)
18 开头第 17 章点名的「拿配对数据训一个文生动作模型」那条路18 全章
19 §3「没有配对数据」的第二种解法(与第 17 章对照)19 §6

注: 全书 20 章已写完,本表逐行核过一遍。 唯一没有兑现到底的一处: 第 20 章 §6 那段「2024 年 12 月之后走向」的补充, 我们这一轮没有联网核对,所以只写了方向、没有给具体的模型名、日期和数字。


拆解写于 2026-08-29,依据 2026 年 Springer 英文版。原始书籍文件不入库, 本组文档是我们自己的重写;每条引用都可用 node scripts/book-verify.mjs large-vision-language-models-pre-training 回核。

Footnotes

  1. 出处:「Preface」第 21 段(text/03-fm-preface.txt:21,搜「December 2024」)。三位编者的落款地分别是香港九龙、新加坡、上海。前言里把书名写成「Foundations of Vision-Language Models: Concepts and Roadmap」——那其实是第 1 章的标题,前言是给那篇路线图写的序。

  2. 我们自己数的,数法:逐章看首页的作者行,统计三位编者(Kaiyang Zhou / Ziwei Liu / Peng Gao)是否署名。结果:原书第 5、7、8、9、10、12、13、14、15、16、17 章共 11 篇有;原书第 2、3、4、6、11 章共 5 篇没有。第 1 章的作者行见「1. Foundations of Vision-Language Models: Concepts and Roadmap」第 7 段(text/07-ch01-1-foundations-of-vision-language-models-concepts.txt:7,搜「Kaiyang Zhou」),三位编者本人。

  3. 出处:「1. Foundations of Vision-Language Models: Concepts and Roadmap」第 189 段(text/07-ch01-1-foundations-of-vision-language-models-concepts.txt:189,搜「400 million image–text pairs」)。原文还给了成功归因的三件事:transformers、对比学习、网络规模的多模态数据集;并指出「共享表示空间」这个想法十多年前就有人研究过。

  4. 出处:「1. Foundations of Vision-Language Models: Concepts and Roadmap」第 151 段(text/07-ch01-1-foundations-of-vision-language-models-concepts.txt:151,搜「weeks of computation across thousands」)。原文:训练 GPT-4 级别的系统需要「数千个加速器上数周的计算,成本达到数百万美元」。

  5. 出处:「1. Foundations of Vision-Language Models: Concepts and Roadmap」第 197 段(text/07-ch01-1-foundations-of-vision-language-models-concepts.txt:197,搜「insufficient for full-parameter fine-tuning」)。同一章第 131 段(text/07-ch01-1-foundations-of-vision-language-models-concepts.txt:131,搜「datasets of moderate scales」)把这件事说得更直白:模型常有数亿参数,而下游任务的数据集只有中等规模,还要加上预训练与微调之间的领域差距。

  6. 出处:「5. Differentiable Prompt Learning for Vision-Language Models」第 41 段(text/26-ch05-5-differentiable-prompt-learning-for-vision-lang.txt:41,搜「increases accuracy by more than 5」)。同一段还说,在纹理数据集上把上下文换成与任务相关的「texture」也能明显提升。

  7. 出处:「5. Differentiable Prompt Learning for Vision-Language Models」第 285 段(text/26-ch05-5-differentiable-prompt-learning-for-vision-lang.txt:285,搜「learned prompts possess strong generalization capabilities」)。这句话管的是同一批类别换画风这一级台阶,不能推广到换数据集——两级台阶的差别是第 08 章的主线。

  8. 出处:「6. Test-Time Prompt Tuning for Vision-Language Models」第 293 段(text/32-ch06-04-6-4-experiments.txt:293,搜「33.41」)与第 395 段(text/32-ch06-04-6-4-experiments.txt:395,搜「56.18」)。前者是原书举的例子(源数据集是纹理集,目标是花卉集),后者是表 6.2 里 10 个数据集的平均值。原文对这张图的总结是:少样本提示词方法的平均改进「永远是负的」。