Skip to content

多模态大模型入门 (VLM Intro)

💡 学习指南:本章节无需深厚的计算机视觉背景,通过交互式演示带你理解 AI 是如何拥有“眼睛”的。我们将揭秘 GPT-4V、Qwen-VL 等模型背后的核心原理。

👁️ VLM 初体验:不只是看图说话
选择不同场景,体验多模态模型的多种能力。
🖼️
请先上传图片
等待图片上传...

0. 引言:给大脑装上眼睛

大语言模型入门 中,我们知道 LLM 本质上是一个被关在黑盒子里、只能通过文字来了解世界的“大脑”。

多模态大模型 (VLM) 的出现,相当于给这个大脑装上了一双眼睛

但这并不容易。因为:

  • 大脑 (LLM) 只懂文字(准确说是 Token ID)。
  • 眼睛 (摄像头) 看到的是像素(RGB 颜色数值)。

VLM 的核心任务,就是把“像素信号”翻译成“文字信号”,让 LLM 觉得看图就像读文章一样简单。


1. 第一步:把图片变成“单词” (Visual Tokenization)

想象一下,你正在电话里给朋友描述一副拼图。你不可能一口气说完,你得一块一块地描述。 计算机看图也是一样的道理。

1.1 切块 (Patchify) —— 制作视觉单词

LLM 习惯读单词。为了配合它,我们得把一张完整的图片切成一个个小方块(Patch)。

  • 图片 = 一篇文章
  • 方块 (Patch) = 一个单词

通常,我们会把图片切成 16×1616 \times 16 像素的小方块。一张 224×224224 \times 224 的图片就会变成 14×14=19614 \times 14 = 196 个方块。

🕹️ 交互演示:点击下方按钮,看图片是如何被“切”成单词的。

Step 1 / 4
1. 原始图片 (Original Image): 计算机看到的原始输入。

1.2 序列化 (Flatten) —— 排成一句话

切完后,我们得到的是一个 14×1414 \times 14 的方阵。但 LLM 只能读一行字(序列)。 所以,我们必须把这个方阵拍扁,变成长长的一串。

  • 原本:二维矩阵(有行有列)。
  • 现在:一维长条(只有前后)。

这样,图片就变成了一串“视觉单词序列”。

下面的演示展示了:一个 Patch 是如何被拍扁,并变成一个向量(计算机能读懂的数字列表)的。

1. Patch (16×16×3) (示意 / Toy)
16×16 像素 × 3 通道 = 768 标量值
2. Flatten
得到 1×768 向量 (Vector)
× W
3. Embedding
映射到 D 维 (示意 D=8;常见 D=768)

2. 第二步:跨物种翻译 (Projection)

现在我们有了一串“视觉单词”,但 LLM 还是读不懂。 因为这些“视觉单词”是像素特征(比如“这里是红色”、“那里有条线”),而 LLM 懂的是语义特征(比如“这是猫”、“那是树”)。

这就需要一个翻译官:Projector (投射器)

2.1 翻译官的作用

Projector 的工作就是把视觉特征向量(ViT 的输出)转换成文本特征向量(LLM 的输入)。

你可以把它理解为外语翻译器

  • 输入:视觉语言(ViT output)
  • 处理:翻译(矩阵变换)
  • 输出:LLM 语言(LLM embedding)
Visual Tokens (ViT)
256 Tokens
Linear Layer
直接映射 (1:1)
LLM Tokens
256 Tokens (保留全部细节)
Linear Projector: 简单高效。它像一个直译器,保留了所有的视觉信息,虽然 Token 数量多(计算量大),但对细节的把控更好。

2.2 不同的翻译流派

为了翻译得更好,科学家们发明了不同的翻译工具:

  1. 直译派 (Linear)

    • 做法:简单粗暴,通过一个矩阵乘法直接转换。
    • 特点:保留原汁原味,但废话多(Token 数量多)。
    • 代表:LLaVA。
  2. 意译派 (Q-Former/Resampler)

    • 做法:用一个小模型先读一遍图片,总结出几十个核心要点。
    • 特点:精简,Token 少,但可能会漏掉细节。
    • 代表:BLIP-2, Gemini。
  3. 折中派 (C-Abstractor)

    • 做法:把相邻的几个方块合并成一个,既压缩了长度,又保留了空间感。
    • 代表:Qwen-VL。

3. 第三步:合体 (The Architecture)

现在,零件都准备好了,我们把它们组装起来,就成了一个标准的 VLM。

3.1 VLM 的身体结构

🧠
Pure LLM (纯文本)Multimodal VLM (多模态)
Text-only tokens flow into the LLM. (只有文字 Token 流入大模型。)
Text Path (文字路径)
⌨️Prompt (提示词)
🔤Embed (向量化)
Text Tokens (文字 Token)
t1t2t3
Token Sequence (输入序列)
Text (文字)
t1t2t3
Only [Text Tokens] (只有文字 Token)
🧠LLM Backbone (大模型)
💬Response (回复)

Standard LLM Flow (标准大模型流程)

Prompt → Embedding → Token Sequence → LLM → Response。

一个典型的 VLM(如 LLaVA)由三个部分组成:

  1. 眼睛 (Vision Encoder)

    • 负责看图。
    • 通常直接借用现成的、训练好的视觉模型(如 CLIP, SigLIP)。
    • 它就像视网膜,负责感光。
  2. 视神经 (Projector)

    • 负责传输和翻译信号。
    • 这是 VLM 训练的重点。
    • 它连接眼睛和大脑。
  3. 大脑 (LLM)

    • 负责思考和回答。
    • 借用现成的强大 LLM(如 Vicuna, Qwen)。
    • 它负责理解看到了什么,并组织语言回答。

4. 它是怎么学会看图的?(Training)

刚组装好的 VLM 其实是“瞎”的,因为视神经(Projector)还没连通。我们需要分两步教它。

阶段一:认物 (Feature Alignment)

这一阶段就像教婴儿认卡片。

  • 给它看:一张“猫”的照片。
  • 告诉它:这是“猫”。
  • 目标:让 Projector 学会把“猫的照片特征”翻译成“猫这个字的向量”。
  • 状态:冻结眼睛和大脑,只训练视神经 (Projector)
阶段一:特征对齐 (Feature Alignment / Pre-training)
目标:让 Projector 学会“翻译”图像语言。
做法:冻结 ViT 和 LLM,只训练 Projector。
🖼️
图片
(猫)
📝
标题
("一只猫")
❄️ 冻结
👁️
ViT
🔥 训练
🔌
Projector
❄️ 冻结
🧠
LLM
🟢
向量 V
Loss
V ≈ T
🔵
向量 T
准备就绪。点击按钮开始模拟一次训练迭代。

阶段二:对话 (Visual Instruction Tuning)

这一阶段是教它根据图片回答复杂问题。

  • 用户问<图片> 图里的猫在干什么?
  • 教它答:它在睡觉。
  • 目标:让大脑 (LLM) 学会处理视觉信息,并结合常识进行推理。
  • 状态:通常会同时微调 ProjectorLLM
👤
🐱
这只猫在做什么?

5. 进阶:看得更清 (Advanced Tricks)

基础的 VLM 有个大问题:视力不好。 传统的 ViT 只能看 224×224224 \times 224336×336336 \times 336 分辨率的图。这就像透过一个低清摄像头看世界,小字根本看不清。

现在的模型(如 Qwen-VL, LLaVA-NeXT)用了一些聪明的方法来解决这个问题:

5.1 动态分辨率 (Dynamic Resolution)

简单说,就是“拼图法”

如果图片很大(比如 1000×10001000 \times 1000),模型不会强行把它缩小,而是:

  1. 把它切成好几张 336×336336 \times 336 的小图。
  2. 分别看这些小图(看细节)。
  3. 再把全图缩小看一遍(看全貌)。
  4. 最后把所有信息拼起来。

这就好比你用手机拍全景照片,分段扫描,最后合成一张高清大图。

5.2 换个大眼睛

还有一种暴力美学:直接换一个更强的视觉模型。 比如 InternVL,直接用了一个 60 亿参数的超大视觉模型(InternViT-6B)。 这相当于从“手机摄像头”升级到了“哈勃望远镜”,不用切图也能看得一清二楚。


6. 总结

多模态大模型 (VLM) 并没有什么魔法。它只是做了一件事:

把“图像”这种外语,翻译成了“文本”这种母语,然后喂给了 LLM。

只要理解了这一点,你就理解了 VLM 的一切。


7. 名词速查表 (Glossary)

名词全称解释
VLMVision-Language Model多模态大模型。能看懂图的 GPT。
ViTVision Transformer视觉模型。VLM 的“眼睛”,负责把像素变成向量。
Patch-图像块。图片被切成的小方块,相当于“视觉单词”。
Projector-投射器/翻译官。连接眼睛和大脑的桥梁。
Alignment-对齐。让图像特征和文本特征在同一个空间里“互相听得懂”。