多模态大模型

语言模型预测下一个 token。多模态大模型把图像、视频、声音也变成 token,送进同一个序列。会说话的部分往往仍是一个已经训好的语言模型。新的工作是让它看见、听见。

三种接法

早期不是从头训练一个什么都能吃的模型,而是把已经训好的视觉模型和已经训好的语言模型接起来。接法决定了后来的工程差别。

接法代表发生了什么
对齐到同一个空间CLIP(2021,OpenAI)图和文成对出现时,嵌入被拉近。它负责「这张图和这句话是不是一回事」,本身不生成长文本
用交叉注意力看图Flamingo(2022,DeepMind)视觉编码器冻结。Perceiver Resampler 把不定长的视觉 token 压成固定长度。门控交叉注意力插进冻结的语言模型层之间。少量例子就能做视觉问答
把图变成语言模型的 tokenLLaVA(2023);BLIP-2 的 Q-Former(2023)视觉特征通过一个小连接器,映射成语言模型嵌入空间里的向量,当作前缀 token。BLIP-2 用一组可学习的 query 做信息瓶颈,两边的大模型都可以冻结

LLaVA 的配方后来被反复使用,因为它短:CLIP 的 ViT 抽出图块特征,一层线性层或一个小 MLP 做投影,再接到 LLaMA 一类的语言模型上。第一阶段只训练连接器,第二阶段用图文指令数据把语言模型调成「看图说话、按指令回答」。视觉指令微调是这一页要记住的词。

Flamingo 的另一头也很值得记。它从 Chinchilla 这种已经训好的语言模型出发,视觉侧单独预训练并冻结,中间才是新参数。门控从 0 开始,训练初期语言模型的行为先被保住,再慢慢打开对图像的注意。交错的图和文可以放进同一次提示,少样本因此从纯文本扩到了视觉。

从外挂到原生

2023 年,GPT-4V 把视觉放进已有的 GPT-4 使用方式里。同年 12 月,Gemini 被描述为从训练开始就吃进多种模态,而不是事后粘上一个视觉塔。2024 年 5 月的 GPT-4o 被描述为在一个模型里处理文本、图像和声音。这些模型的内部配方没有完全公开。笔记里记下公司的说法,结构细节等论文或技术报告再补。

开放模型把 LLaVA 那条线做长了。Qwen-VL、InternVL 以及 2024 年 Allen AI 的 Molmo,都是「视觉编码器 + 连接器 + 语言模型」可以自己复现的版本。比较它们时,先看三件事:视觉 token 有多少、连接器是线性层还是重采样、语言模型有没有解冻。分数排行变化很快,这三件结构事实更耐放。

视频通常是更多的图像 token,再加上时间。token 数量会爆。所以 Flamingo 的 resampler、BLIP-2 的 Q-Former 会重新变得重要:在送进语言模型之前,把视觉信息压进固定预算。声音则可以走 Whisper 式的编码器,或先变成离散音频 token,再和文本 token 排在一起。

和前面章节接在哪里

  • 图块怎样变成向量:嵌入里已经有多模态嵌入的入口。CLIP 是那一页的具体例子。
  • 语言模型怎样「看见」另一段向量:交叉注意力。Flamingo 把交叉注意力插进每一层,LLaVA 则把视觉向量直接当成前缀,让自注意力去混。
  • 训练数据从纯文本变成图文对、交错文档、指令数据:数据来源里的多模态数据源从这里接上。
  • 指令微调的目标没有换,只是输入多了一种模态。后训练那一章的方法还适用。

读的时候抓住的判断

多模态延展的是词汇表和感知前端,延展之后的生成头仍然常常是语言模型。所以一个会看图的模型,推理、工具调用、对齐,仍要回到第 3 章。视觉塔再强,语言模型不会听话,产品还是不能用。

它还没有自动变成世界模型。看懂一张图、回答一个问题,和「如果我把杯子推一下,下一帧怎样」是两件任务。后一件在世界模型。把图、视频和三维物体做出来,是第三件任务,写在多模态生成。

还想补

  • 自己跑一个小的 LLaVA 式连接器:冻结的视觉编码器,只训练线性层,看图文是否对齐。
  • 同一张图,数一数不同模型送进语言模型的视觉 token 数。这个数直接决定显存。
  • 原生多模态的技术报告,谁先把音频离散化和视觉 token 的比例写清楚,就补进时间线。