第 12 章 · 进阶
多模态与收束:把知识连成系统
看懂图像怎样接入语言模型,并用一张完整数据流图收束全套知识。
学习准备与本章目标
- 开始前
- Transformer 主干 · 预训练与对齐
- 学完后
- 画出视觉语言模型结构 · 理解模态对齐 · 用端到端链路复盘大模型系统
本章路线图
最后一章先解释视觉、音频等模态怎样接入语言模型,再把前十一章重新连接成一个端到端系统。目标不是记住所有多模态架构,而是能沿张量和数据流定位任何新模型。
图片怎样变成语言模型能读的表示
视觉编码器把图片切成 patch 并编码成视觉特征;Projector 再把视觉维度映射到语言模型隐藏空间。映射后的视觉 Token 与文本 Token 一起进入语言模型,从而生成描述或回答。
常见连接方式有线性层、MLP、Q-Former 或 Cross-Attention。设计要平衡视觉信息保留、Token 数、训练成本和是否需要细粒度交互。
多模态训练在对齐什么
第一阶段常让视觉表示与语言空间对齐,例如图文对、描述生成或对比目标;之后用多模态指令数据学习问答、对话格式与任务遵循。高质量数据需要覆盖文字识别、图表、空间关系和真实场景。
视觉幻觉可能来自图像分辨率不足、编码器丢失细节、训练偏见或语言先验压过视觉证据。评测不能只看回答流畅度,还要确认结论确实来自图片。
用端到端链路复盘全部章节
一个真实系统可以这样串起:用户输入经模板与 Tokenizer 编码;必要时检索知识或调用工具;模型在 Prefill 中处理上下文,在 Decode 中借助 KV Cache 生成;安全层检查输入与动作;日志进入离线与线上评测。
模型本身又经历数据治理、预训练、SFT、偏好对齐、量化与部署。分布式训练解决“怎样训练得动”,推理系统解决“怎样服务得起”,RAG 与 Agent 解决“怎样连接外部世界”。
面对新名词时怎样不再迷路
遇到任何新模型或论文,先问五个问题:输入输出是什么;主干结构改了哪里;训练数据和目标是什么;推理成本怎样;证据来自哪些评测。这样能把新名词放回已有地图,而不是重新背一遍宣传词。
再追踪三种边界:它在哪些数据上有效、与什么基线比较、失败案例是什么。对大模型的真正理解,不是记住所有缩写,而是能沿数据流解释每个取舍。
下一步:从学习转向练习
现在回到任意一章,闭卷画出数据流,并用三分钟讲给一个完全没接触过的人。讲不清的地方,就是下一轮要补的知识。
随后进入问道录,用 30 秒回答对应题目;若想把机制变成代码,再走 PyTorch 实践课。学习笔记、动手实验和面试表达会形成闭环。
图片怎样切成 Patch Token
Vision Transformer 通常把尺寸为 H × W 的图片切成 P × P patch。若尺寸可整除,patch 数约为:
每个 patch 展平后经过线性投影得到视觉向量,再加入位置。分辨率提高时 patch 数按面积增长,因此计算和语言模型上下文占用会快速增加。
视觉编码器输出可能包含一个全局 token 和一组局部 patch 特征。不同层包含的纹理、物体和语义程度不同,架构会选择某层或多层特征供语言模型使用。
Projector、Cross-Attention 与融合方式
视觉编码器维度通常与语言模型隐藏维不同,Projector 用线性层或 MLP 映射到同一空间。最简单的做法是把视觉 Token 当成一段特殊前缀,与文本 Token 拼接后进入 Decoder-only LLM。
另一类架构使用 Query Transformer 或 Cross-Attention,让有限可学习查询从大量视觉特征中抽取信息。这样能压缩视觉 Token,但也可能丢失细节。融合位置决定计算成本和语言模型能访问视觉信息的方式。
多模态训练的三个阶段
常见训练可分为:
- 模态连接预训练:冻结大部分组件,训练 Projector,使视觉特征落入语言空间。
- 多模态指令微调:使用图文问答、描述、OCR、图表和多轮数据学习任务格式。
- 偏好与安全对齐:优化回答质量、拒答、视觉风险和交互风格。
实际方案可能联合训练或解冻视觉编码器与语言模型。解冻范围越大,适配能力越强,训练成本和遗忘风险也越高。
动态分辨率、切图与坐标
固定低分辨率会丢失小字和细节。动态分辨率方案可按原图比例切成多个 tile,再加入缩略图或全局视图。这样保留细节,却增加视觉 Token 和跨 tile 关系难度。
若任务需要框选、点选或文档布局,模型还要表达坐标与阅读顺序。坐标可离散成 Token,也可由专门检测头输出。缩放、裁剪和旋转必须同步更新标注。
OCR、文档与图表为什么更难
自然图像问答偏重物体与场景,文档理解还需要小字 OCR、二维布局、表格结构和跨页关系。图表任务则要求识别图例、坐标轴,再执行数值比较。
仅生成流畅描述容易掩盖读字错误。评测应拆分文字识别、区域定位、结构恢复、计算和最终回答。对于精确金额、编号和表格,结合 OCR 或确定性解析器通常更可靠。
音频与视频怎样接入
音频模型可把波形转换为时频特征,再由音频编码器生成表示;语音任务还涉及说话人、韵律和时间戳。视频本质上增加时间维,若逐帧编码会产生巨量 Token,因此需要抽帧、时序压缩或分层建模。
音画对齐、长视频定位和流式延迟是额外难点。不能把“支持输入视频”直接等同于理解每一帧细节,必须明确采样率与时间覆盖。
多模态数据质量
图文对可能来自网页弱标注、人工问答或模型合成。网页 alt 文本常描述不完整,合成答案则会继承教师幻觉。数据要检查图片可见性、文字与图像对应、重复、版权、隐私和敏感内容。
负例也很重要:相似图片、不可见文字、问题与图片无关、证据不足。没有这些样本,模型容易在看不清时仍自信回答。
多模态评测怎样拆解
按能力分桶:通用问答、OCR、图表、空间关系、计数、定位、文档、多图比较和视频时序。自动 benchmark 之外还要检查提示模板、图像预处理和答案解析,因为它们会显著改变结果。
常见幻觉包括描述不存在的物体、读错小字、混淆左右、错误计数和忽略图片只靠语言先验回答。可通过遮掉图片或替换图片做对照,判断模型是否真正使用视觉输入。
多模态推理与部署成本
视觉编码器增加 Prefill 计算,视觉 Token 占用上下文和 KV Cache。动态切图会让同一张图产生不同数量 Token,导致请求时延和显存波动。
服务端还要限制文件类型、尺寸、像素数与解压后容量,防止恶意文件和资源耗尽。图片可能包含提示注入文字,也需要作为不可信输入处理。
用端到端项目串起十二章
假设构建“带引用的多模态学习助手”:
- Tokenizer 与视觉处理器把问题、图片转成表示。
- Transformer 处理文本与视觉 Token。
- 模型来自预训练与多模态后训练。
- 训练使用分布式并行与完整评测。
- 推理服务管理权重、KV Cache、并发和量化。
- RAG 检索教材并提供可验证引用。
- Agent 调用计算器或代码执行器,并受权限控制。
- 评测覆盖正确性、引用、视觉使用、安全、延迟和成本。
任何失败都能映射回链路:读图错查视觉编码,引用错查 RAG,算术错查工具,超时查推理调度,越权查权限层。
阅读新模型或论文的固定框架
遇到新架构时按以下顺序阅读:
- 输入输出与目标任务是什么?
- Token 或模态表示怎样构造?
- 主干网络改了哪一层,形状怎样变化?
- 使用哪些数据与训练目标?
- 训练和推理成本如何报告?
- 与什么基线在相同条件下比较?
- 消融实验说明哪一项真正有效?
- 已知失败案例与部署边界是什么?
这套问题能把新名词放回共同坐标,避免只记论文结论。
一份可执行的复习计划
- 第一轮:每章画一张数据流,只追踪组件与形状。
- 第二轮:为每章实现或运行一个最小实验。
- 第三轮:闭卷回答章末问题,再完成对应面经。
- 第四轮:选择一个小项目,写出数据、训练、服务、评测全链路。
- 第五轮:整理错题和失败案例,而不是重复阅读已掌握段落。
章末检查
- 能否从原始文本画到 logits,并标注关键形状?
- 能否解释一个模型从预训练到在线服务的全部阶段?
- 能否为 RAG 或 Agent 错误定位具体链路,而非笼统归因模型?
- 能否给出质量、延迟、成本和安全的独立指标?
- 能否阅读一份新模型配置并估算参数、注意力和 KV Cache 的主要成本?
延伸资料
本章进阶内容
原理专题与代码实践
完成主教材后,按顺序阅读原理专题、完成代码实践,并用掌握标准复查本章内容。
- 01
把文本主线迁移到图像、音频与视频
- 02
深入编码器、对齐、连接器与多模态幻觉
- 03
比较早期融合、晚期融合与统一序列方案
- 04
用跨章节问题做第一次综合复盘
代码实践
本章术语
六个关键词
- Vision Encoder
- 把图像 patch 转成视觉特征序列的网络。
- Patch Token
- 由局部图像块投影得到的视觉表示。
- Projector
- 把视觉特征映射到语言模型隐藏空间的模块。
- Cross-Attention
- 一组表示以另一组表示作为 K/V 的注意力。
- Visual Grounding
- 把语言描述与图像中的具体位置对应。
- Dynamic Resolution
- 按输入尺寸动态切图并分配视觉 Token 的方案。
章节记录
