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 地图 07 | 4 个例子把分数从 33.5 抬到 67.0 | 07 §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 §8 | ResNet 缩 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,并被 16–19 直接使用 | ✓ |
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 回核。