跳到主要内容

十四堵墙 — 原书自己列的难题清单,以及哪几堵没人回来处理

这一章讲三件事: 想把图文模型做出来、用起来,一路会撞上哪些墙; 每一堵墙具体卡在哪儿;以及后面 16 篇论文里谁回来处理了它、谁没有它在全书链条里的位置是「问题地图」:前三章讲的是「这东西怎么造」, 从第 05 章起每一篇论文都在解其中一条——先看清清单,后面每一篇才知道该往哪儿归位。 最后那一节是我们自己做的结账,原书没有。

1. 顶层全景:一支八张卡的团队,和他们要撞的墙

原书第 1 章有一整节专门列难题,分成算法、算力、数据三类,一共十四条具名的墙1光看清单会读成流水账,所以我们拿一个具体的项目走一遍。

本章的主走查: 一支只有 8 张显卡的小团队,想做一个 「拍一张中文发票的照片,就能回答上面写了什么」的模型。手上有 2000 张标好答案的发票。

想从头训一个自己的图文模型
└→ 撞第 ① 堵(训练规模):书里说 GPT-4 级别要几千块卡跑几周、几百万美元。他们有 8 张。

那就拿现成的开源模型来微调
└→ 撞第 ⑦ 堵(下游数据太少):模型几亿个可调的数,他们只有 2000 张图。硬调 = 死记硬背。

发票上的字很小,那就把图切细一点看清楚
└→ 撞第 ② 堵(平方复杂度):块数从 196 涨到 1792,注意力那一步的开销涨约 83 倍。

干脆用闭源大厂的接口算了
└→ 撞第 ⑩ 堵(黑箱):不能适配、调试不了、归因不了,只能反复改那句话去试。

上线之后有一张发票认错了,老板问为什么
└→ 撞第 ⑧ 堵(看不懂它):现成的可视化只告诉你「它在看哪儿」,不告诉你「为什么」。

下个月税率改了,想让它学新格式又别忘了旧的
└→ 撞第 ⑨ 堵(学不动新东西):加新知识就要么忘旧的,要么内存和算力一路涨。

图说:**这六步撞上的六堵墙,书里都有具名的一节**;编号沿用下面第 2 到第 4 节的顺序
(①–④ 是算力那类,⑤–⑩ 是算法那类,⑪–⑭ 是数据那类)。
下面按这三类讲完十四条,并在最后一节逐条结账。
**83 倍这个数是我们按平方关系算的**((1792÷196)² ≈ 83.6),书里只说了「随序列长度呈平方增长」。

2. 第一类:算力那四堵墙

第 ① 堵:训练的规模,一开始就把大多数人挡在门外

书里给的数字很硬:训练 GPT-4 级别的系统,需要几千个加速器上跑几周, 成本达到数百万美元2

「加速器」指的是专门用来做这类计算的芯片,最常见的两种是 GPU(图形处理器, 本来是给游戏画面用的,后来发现它特别适合干这种「同一件事同时算几千遍」的活) 和 TPU(谷歌自己造的同类芯片)。

对照一下就知道这道门槛有多高: 我们那支团队有 8 张卡,书里那个数字是「几千个」—— 差了两到三个数量级。

书里也给了两个省钱方向,但都是缓解、不是解决。一个是训练时换一种更省内存的算法。

另一个是部署时把模型里那些数从「记得很精确的小数」换成「记得粗一点的小数」, 体积和显存都能小一大截——这个动作的名字叫量化2

第 ② 堵:序列一长,开销按平方涨

这堵墙是第 02 章那套注意力机制的直接后果。

回忆一下:每一块都要和每一块打一次分。块数翻倍,打分次数就翻四倍。 书里管这个叫「随序列长度的二次复杂度」——「二次」就是「平方」,同一件事的两种叫法, 本书统一说「平方」——并两次点名说它让 Transformer 在处理很长的序列时效率很低3

顺带把一个常见的错误说法挡掉:这不是「指数级」增长。 指数级是「每多一块,总量就乘一个固定倍数」,涨得比这猛得多; 平方级是「块数乘 n 倍,开销乘 n² 倍」——1792 比 196 多 9.1 倍,开销就是 9.1² ≈ 83 倍。 「注意力是指数级的」在业界是个流传很广的错话,你说对了会显得很专业。

这堵墙的杀伤力在于:凡是「想看得更清楚」的需求,都会撞上它。

想干什么序列变多长后果
把 224 的图切成 16 像素的块196 块基准线
把一张长文档截图切成 7 块 448 再各切 16 像素1792 块打分开销约 83 倍
分析一整部电影、或者一张十亿像素的医学影像更长书里明说这类输入「显著增加计算成本」

这堵墙后面有人回来处理: 第 05 章把每块的 1024 个 token 压成 256, 第 06 章干脆遮住 80% 不算,第 18 章换了一种不用两两打分的算法。

第 ③ 堵:延迟——算得完不等于来得及

很多场景不是「算不算得起」,是「等不等得起」。 书里点名了三个:自动驾驶、交互式助手、视频分析——它们要的是实时或者低延迟的响应, 而大模型的计算量常常导致延迟,让它们根本不适合这类对时间敏感的任务4

书里给的缓解办法有三个,而且明说它们各自会带来部署上的复杂性: 把结果缓存起来复用、根据情况决定算多细、把计算放到离用户近的设备上算4

第 ④ 堵:多机训练与联邦学习

这堵墙是第 ① 堵的技术版:几千张卡不是一台机器,它们要协同。

书里说,在多个计算节点上训练会带来协调、同步、通信开销上的挑战; 每次更新都要在节点之间高效地传递,大规模时常常成为瓶颈5

还有一种更麻烦的情形叫联邦学习:数据不许离开它原来待的地方—— 比如医院的影像、用户手机里的照片——训练要在各自本地做,只交换学到的东西,不交换数据。 书里说这对涉及敏感多模态数据的应用特别相关,但又加了一层复杂性5

3. 第二类:算法那六堵墙

第 ⑤ 堵:模态鸿沟——两种东西根本对不齐

这是第 01 章末尾那条边界的正式名字。

书里的说法是:图像和视频把空间与感知信息编码在像素里,而语言天生是符号化、抽象的; 要建立统一的表示,就得调和这两者的差别。而在数据本身含糊、或者某个概念的例子很少时,稳健的对齐仍然难以企及—— 它举的例子还是那个 jaguar:同一个词既是动物又是汽车,模型得靠画面和语言线索去分辨6

这堵墙的特点是:全书没有一篇论文正面解决它,但它反复以失败案例的形式冒出来。 第 12 章给检测器一个不相干的词「philosophy」,它会硬吐出一个框; 第 19 章给「树和极光」,它只理会「树」。

第 ⑥ 堵:架构设计本身

书里把「怎么设计一个能整合两种模态的结构」单列成一条挑战, 并指出 Transformer 让这件事变得容易了(不同类型的数据都能被摊成一条序列), 但它也带来了第 ② 堵那个平方复杂度3

这两条是同一枚硬币的两面:让一切都变成序列,好处是通用,代价是贵。

第 ⑦ 堵:下游数据太少——这是第 08 到 11 章全部的前提

这堵墙必须讲透,因为后面四章的默认设定都从它来。

书里说得非常直白:这类模型常常有数亿个参数,而下游任务的数据集通常只有中等规模, 更别说预训练数据和微调数据之间还有领域差距7

为什么「数据少 + 参数多」是个问题?

参数越多,模型能记住的细节越多。当训练数据只有几百上千张时, 它最省事的做法不是「学会怎么认发票」,而是把这几百张背下来—— 在训练集上表现完美,一换新图就露馅。这个现象的名字叫过拟合。

书里给出的应对是一整族做法:只训一小部分参数,把大部分冻住。 这一族的总称是参数高效微调,书里点名了其中两种: 调那句话(提示学习)和挂一个小模块(适配器)7

这一族就是第 08、09、10 三章的全部内容。 而它还带出了整条线的默认设定:既然数据少是前提,那实验就按「每类只给十几张标注图」来做—— 这个设定在第 07 章第一次出现时,我们会正式给它一个名字。

书里还先泼了一盆冷水:这些方法「常常因为泛化能力弱而受到批评」; 而测试时再调一次能改善泛化,但会增加计算开销7这两句话精确地预告了第 08 章的两个结论——那一章会用具体数字把它们兑现。

第 ⑧ 堵:看不懂它——可解释性

这堵墙后面一次都没有人回来处理,所以要写清楚它到底卡在哪。

书里先分了两个词:可解释性是「设计一些机制,说明模型内部怎么处理和整合多模态信息」; 可说明性是「为预测生成人能读懂的理由」8

然后是很硬的一句:这条线的研究远远落后。

具体落后在哪? 书里点了现成办法的名:显著图—— 就是在图上高亮出「模型最关注的区域」的那种热力图。 书里说它对这类模型不可靠,因为那种可视化除了「模型在看哪儿」之外什么都没解释, 它回答不了「为什么这块区域被认为重要」8

这堵墙在后面不但没被推倒,还被反向撞了一次: 第 08 章那篇论文学出了一套「机器自己写的提示词」,作者拿词表去反查它到底是什么意思, 得到的是一串连不成句的碎片,他明说自己没法下任何结论

第 ⑨ 堵:学不动新东西——持续学习

这堵墙后面也一次没人回来。

书里的例子很具体:一个装在自动驾驶车上的模型,必须持续更新它对新路牌、 基础设施变化、环境变化的理解——而且不能忘掉以前学会的东西9

难在哪?书里列了三条: 增量更新时算力和内存需求会一路涨、扩展性难保证、 新旧数据之间的不平衡不好处理9

第 ⑩ 堵:闭源黑箱

这堵墙的后果是连锁的,书里一条条列了出来10:

后果具体是什么
不能适配拿不到模型内部那些数,就没法针对特定领域改造它
只能靠试错只能反复改喂进去的那句话去碰运气——这件事的名字叫提示工程,第 08 章整章在讲它的第一节
调试不了出了问题看不到中间过程
归因不了连它有什么偏见都查不出来

书里把这称为「黑箱式的机器学习」:用户只能通过接口和模型打交道, 看不到内部参数,也看不到中间计算10

这堵墙是第 05 章那篇论文的直接动机:它开篇第一句就是「开源和闭源之间有明显差距」, 然后列了三处具体的差距去追。

4. 第三类:数据那四堵墙

这四堵墙的共同点是:它们都不是技术问题,而技术手段也解决不了它们。

第 ⑪ 堵:数据偏向哪些人

书里说,大多数公开数据集偏向特定的地理区域、文化或领域, 并直接点名了「以西方为中心的图像」;这种偏向会让模型在代表性不足的场景里失灵11

第 ⑫ 堵:量大就意味着脏

这一条第 03 章已经点过,这里给它一个位置: 书里说 LAION-5B 这类数据集 从各种来源聚合而来,配文可能有噪声、不完整,甚至和图片无关; 而大规模地清洗和过滤这类数据本身就不简单,要么靠稳健的自动流水线,要么靠大量人工,两者都很费11

这堵墙有人回来处理: 第 05 章那篇论文的六个过滤条件,就是一条「稳健的自动流水线」的实例—— 60.3 亿对进去,49.8 亿对出来。

第 ⑬ 堵:长尾——罕见的东西学不到

「长尾」说的是这样一种分布:少数几个概念占了绝大部分数据, 剩下成千上万个概念每个只出现几次。

书里的例子是野生动物照片里的罕见物种、科学文献里的小众术语: 要认得它们,训练时就得见过;而数据分布不均,模型往往在常见概念上过拟合、在罕见概念上表现很差12

书里给了三个可能的方向(数据增广、平衡采样、合成数据), 但都是「潜在的解法」,没有一篇论文回来做

第 ⑭ 堵:伦理与隐私

这是清单上最后一条,也是唯一一条书里给出行动建议的。

书里说得很直接:多模态数据的收集常常涉及从互联网上抓取内容, 数据集里可能无意中包含了敏感或私人信息——个人照片、位置信息、受版权保护的材料, 而且往往没有得到明确许可13

书里的建议是两条: 为数据收集与标注建立清晰的规范; 通过详细的数据集文档来提高透明度13

5. 结账:哪几堵后面回来了,哪几堵没有

这一节是我们做的,原书没有。

数法: 把这十四堵墙逐条对照后面 16 篇论文,只要有一篇把它当成要解决的问题 (而不只是顺带提一句、或者当成自己的局限报出来),就算「回来了」。

#那堵墙后面谁回来处理
训练规模与成本部分:第 09、10 章给了成本对照表,第 16 章做到零额外成本
序列长度的平方开销:第 05 章压 token、第 06 章遮 80%、第 18 章换算法
延迟与实时没有。只在第 08、12 章被当成自己方法的代价报出来
多机训练与联邦学习没有。全书一次没提
模态鸿沟没有。只反复以失败案例的形式出现
架构设计部分:第 03 章那三种架构就是答案,但没人比较过它们
下游数据太少。第 08、09、10、11 四章全部
可解释性没有。第 08 章反而给出了一个「学出来的东西读不懂」的反例
持续学习没有。全书一次没提
闭源黑箱:第 05 章整篇就是在追赶闭源
数据偏向西方没有。第 06、17、19 章各报告了自己的偏见,但都没有处理
数据噪声:第 05 章的六个过滤条件
长尾与罕见概念没有。第 19 章报告了「罕见景象生成不了」,但当成局限而非课题
伦理与隐私没有方法。第 15、17、19 章各写了一段社会影响与偏见声明

合计:6 条被正面或部分处理(①②⑥⑦⑩⑫),8 条一次没回来。

判断(我们的,不是书里的): 这张结账表暴露了这本书真正的边界—— 它是一本关于「怎么把已有模型用好」的书,不是一本关于「怎么让这类系统可信、可维护」的书。 没回来的那八条里,有五条(延迟、联邦学习、可解释性、持续学习、伦理) 恰恰是把模型真正部署进生产系统时最先撞上的如果错,会错在: 这是编者的选材决定,不是领域的空白—— 这八条在别的地方当然有人研究。判据是:如果你能在别处找到同期同质量的工作, 那就说明这是这本书的取舍,而不是这条路线的缺口。

6. 作者的判断与证据

书里给了证据的:

说法证据
训 GPT-4 级别要几千加速器、几周、几百万美元引了 GPT-4 的技术报告
显著图对这类模型不可靠给了理由:它只说明在看哪儿,不说明为什么;但没有做实验
参数高效微调泛化能力弱引了一篇专门研究这个问题的工作,并且第 08 章用整章数据兑现了它

属于作者的判断、书里没有给证据的:

  • 「这条线的研究远远落后」(指可解释性)——这是一句领域判断,没有量化;
  • 十四条难题的分类与排序本身是编者的整理,不是任何调查或实验的结论;
  • **「量化能促进部署」「边缘计算能降低延迟」**这类缓解办法,书里只是列举, 没有任何一处给出效果数字。

7. 边界与局限

① 这一节在原书里是纯文字,没有一个实验、一张图、一个数字表。 唯一带数字的是「几千个加速器、几周、几百万美元」那一句,而且它引自别人的报告。 所以这一章的走查是我们编的场景(那支八张卡的团队),不是书里的案例—— 唯一的真数字是那句训练成本,以及我们自己按平方关系算的 83 倍。

② 这份清单的时间戳是 2024 年 12 月。 其中「闭源模型不给权重」这一条, 以及第 05 章据此展开的「三处差距」,都是那个时间点的判断。

③ 书里没有给这十四条排优先级。 它们是并列列出的,没有说哪条最要命。 第 5 节那张结账表是我们排的,它反映的是这本书的选材,不是领域的共识。

8. 可带走的

  1. 原书自己列了十四堵墙,分算法(6)、算力(4)、数据(4)三类,占原书第 1 章正文的三成;
  2. 算力那堵墙的具体数字:几千个加速器、几周、几百万美元——对照之下, 一支八张卡的团队差了两到三个数量级;
  3. 「想看得更清楚」永远是平方级涨价:块数从 196 涨到 1792(9.1 倍), 打分开销涨约 83 倍(9.1²);
  4. 真正卡住大多数人的不是算力,是下游数据太少:几亿个参数配上几千张图, 硬调的结果是把训练集背下来(过拟合);
  5. 应对办法是一整族:冻住大部分、只训一小部分,总称参数高效微调——第 08 到 10 章讲的就是它;
  6. 书里预先泼了两盆冷水:这类方法泛化弱、测试时再调会变慢——两句都在第 08 章被兑现;
  7. 闭源的后果是连锁的:不能适配、只能试错、调试不了、归因不了;
  8. 「看不懂它」这条,书里明说研究远远落后,而现成的显著图只说明「在看哪儿」;
  9. 数据那四堵墙技术手段解决不了:偏西方、噪声大、长尾、伦理与隐私;
  10. 我们的结账:14 条里 6 条有人回来处理,8 条一次没回来—— 没回来的那批里有五条恰恰是真上线时最先撞上的。

9. 原文地图

主题原书章原文位置
难题清单总起(算法/算力/数据三类)1. Foundations of VLMstext/07-ch01-1-foundations-of-vision-language-models-concepts.txt:115(搜「Navigating the Complexities」)
模态鸿沟与 jaguar1. Foundations of VLMstext/07-ch01-1-foundations-of-vision-language-models-concepts.txt:123(搜「jaguar」)
架构设计与平方复杂度1. Foundations of VLMstext/07-ch01-1-foundations-of-vision-language-models-concepts.txt:127(搜「quadratic complexity in sequence length」) · text/07-ch01-1-foundations-of-vision-language-models-concepts.txt:155(搜「gigapixel medical imagery」)
下游数据太少、参数高效微调、两盆冷水1. Foundations of VLMstext/07-ch01-1-foundations-of-vision-language-models-concepts.txt:131(搜「datasets of moderate scales」)
可解释性、显著图不可靠1. Foundations of VLMstext/07-ch01-1-foundations-of-vision-language-models-concepts.txt:135(搜「saliency maps」)
持续学习1. Foundations of VLMstext/07-ch01-1-foundations-of-vision-language-models-concepts.txt:139(搜「without forgetting previously acquired knowledge」)
闭源黑箱与试错式提示工程1. Foundations of VLMstext/07-ch01-1-foundations-of-vision-language-models-concepts.txt:143(搜「trial-and-error prompt engineering」)
训练成本:几千加速器、几周、几百万美元1. Foundations of VLMstext/07-ch01-1-foundations-of-vision-language-models-concepts.txt:151(搜「weeks of computation across thousands」)
延迟与实时1. Foundations of VLMstext/07-ch01-1-foundations-of-vision-language-models-concepts.txt:159(搜「real-time or low-latency inference」)
分布式与联邦学习1. Foundations of VLMstext/07-ch01-1-foundations-of-vision-language-models-concepts.txt:163(搜「Federated learning adds another layer」)
数据偏西方、噪声大1. Foundations of VLMstext/07-ch01-1-foundations-of-vision-language-models-concepts.txt:171(搜「Western-centric imagery」) · text/07-ch01-1-foundations-of-vision-language-models-concepts.txt:175(搜「the captions can be noisy」)
长尾与罕见概念1. Foundations of VLMstext/07-ch01-1-foundations-of-vision-language-models-concepts.txt:179(搜「rare species in wildlife images」)
伦理与隐私1. Foundations of VLMstext/07-ch01-1-foundations-of-vision-language-models-concepts.txt:183(搜「without explicit consent」)

Footnotes

  1. 出处:「1. Foundations of Vision-Language Models: Concepts and Roadmap」第 115 段(text/07-ch01-1-foundations-of-vision-language-models-concepts.txt:115,搜「Navigating the Complexities」)。这一节下分三个小节:算法挑战(6 条)、算力挑战(4 条)、数据挑战(4 条),每条各有一个小标题。十四这个数是我们数的,数法就是数这些小标题。

  2. 出处:同上第 151 段(text/07-ch01-1-foundations-of-vision-language-models-concepts.txt:151,搜「weeks of computation across thousands」)。原文还提到两个缓解方向:训练时用零阶优化器减少内存占用,部署时用量化技术压缩权重。「GPU 本来是给游戏画面用的」这句是补充(不在书里,来自通用知识)。 2

  3. 出处:同上第 127 段(text/07-ch01-1-foundations-of-vision-language-models-concepts.txt:127,搜「quadratic complexity in sequence length」)与第 155 段(text/07-ch01-1-foundations-of-vision-language-models-concepts.txt:155,搜「gigapixel medical imagery」)。原文两处都点了同一件事;第 155 段举的例子是分析一整部电影或处理十亿像素的医学影像。「196 → 1792 块,开销约 83 倍」是我们按平方关系算的((1792÷196)² ≈ 83.6),书里没有这个数;1792 这个块数来自第 05 章那篇论文的真实配置。 2

  4. 出处:同上第 159 段(text/07-ch01-1-foundations-of-vision-language-models-concepts.txt:159,搜「real-time or low-latency inference」)。原文点名的三个场景是自动驾驶、交互式助手、视频分析;三个缓解办法是模型缓存、自适应推理、边缘计算,并说它们「也会在部署上引入复杂性」。 2

  5. 出处:同上第 163 段(text/07-ch01-1-foundations-of-vision-language-models-concepts.txt:163,搜「Federated learning adds another layer」)。原文对联邦学习的定义是:去中心化的训练,数据留在本地设备上以保护隐私;并说它对医学影像、个人照片这类敏感的多模态数据特别相关。 2

  6. 出处:同上第 123 段(text/07-ch01-1-foundations-of-vision-language-models-concepts.txt:123,搜「jaguar」)。原文说这是「视觉-语言建模中最根本的挑战之一」,而在数据模糊或稀疏时,稳健的对齐「仍然难以企及」。

  7. 出处:同上第 131 段(text/07-ch01-1-foundations-of-vision-language-models-concepts.txt:131,搜「datasets of moderate scales」)。原文的完整链条:参数多、下游数据中等规模、还有领域差距,所以有过拟合风险;流行的解法是参数高效微调,例如提示学习或适配器微调;但这些方法「常常因泛化能力弱而受批评」,测试时调提示词能改善泛化却会增加计算开销。最后这两句精确预告了第 08 章的两个结论。 2 3

  8. 出处:同上第 135 段(text/07-ch01-1-foundations-of-vision-language-models-concepts.txt:135,搜「saliency maps」)。原文原话是这条线的研究「largely lags behind」,而显著图这类传统方法对这类模型不可靠,因为可视化除了「模型在看哪里」之外什么都没解释——它回答不了「为什么某个图像区域被认为重要」。 2

  9. 出处:同上第 139 段(text/07-ch01-1-foundations-of-vision-language-models-concepts.txt:139,搜「without forgetting previously acquired knowledge」)。自动驾驶那个例子是原文举的:必须持续更新对新路牌、基础设施变化、环境变化的理解。 2

  10. 出处:同上第 143 段(text/07-ch01-1-foundations-of-vision-language-models-concepts.txt:143,搜「trial-and-error prompt engineering」)。原文点名了 GPT-4o 等商业系统不公开权重与架构细节,并说这催生了对「黑箱机器学习」技术的兴趣;开发者「不得不依赖昂贵的、试错式的提示工程,既费时又常常得不到最优结果」。 2

  11. 出处:同上第 171 段(text/07-ch01-1-foundations-of-vision-language-models-concepts.txt:171,搜「Western-centric imagery」)与第 175 段(text/07-ch01-1-foundations-of-vision-language-models-concepts.txt:175,搜「the captions can be noisy」)。后一段还说,大规模清洗与过滤本身就不简单,需要稳健的自动流水线或大量人工监督,两者都很消耗资源 2

  12. 出处:同上第 179 段(text/07-ch01-1-foundations-of-vision-language-models-concepts.txt:179,搜「rare species in wildlife images」)。原文给的三个潜在方向是数据增广、平衡采样、合成数据生成。「长尾」这个词指的是「少数概念占了绝大部分数据、剩下成千上万个概念每个只出现几次」这种分布形状,这个解释是补充(不在书里,来自通用知识)。

  13. 出处:同上第 183 段(text/07-ch01-1-foundations-of-vision-language-models-concepts.txt:183,搜「without explicit consent」)。原文还说,不加约束的数据集有传播偏见或冒犯性内容的风险,在医疗、执法这类敏感应用里会导致有害输出;并「强烈建议」开发者建立清晰的数据收集与标注规范,并通过详细的数据集文档提高透明度。 2