多模态大模型怎么工作?

图片进得去,但模型真的"看懂"了吗?
上篇我们聊了图片是怎么变成 Token 送进模型的。
你可能还记得那张示意图:一张猫的照片被切成一堆小块,每块变成一串数字,浩浩荡荡地走进大语言模型。
问题来了:进去之后,模型到底是怎么"看"懂这张图片的?它怎么知道这是猫不是狗?当你问"这只猫在干什么",它又是怎么结合图片来回答的?
这就是今天的主题——多模态大模型的工作原理。

一个翻译官的工作:把不同语言"翻"成同一种意思
多模态模型要解决的问题说简单也简单:让 AI 同时理解文字和图片。
但做起来确实麻烦。
文字是一维的,一句话从头读到尾就完了。图片是二维的,每个像素都有自己的位置,而且没有"先后顺序"。
这两种完全不同的信息,怎么让同一个模型处理?
答案是找个"中间人",把它们都翻译成同一种语言。
这个中间人叫"语义空间"。你可以理解为一个巨大的概念仓库,里面存的不是具体的单词或像素,而是"意思"。
"猫"这个字的意思存在里面。"一只橘色猫躺着晒太阳"这张图的意思也存在里面。它们用的是同一套编码系统,所以能对上话。
就像一个精通多国语言的翻译官,不管你说英语、日语还是画一幅画,他都能翻译成自己的母语。多模态模型也是这样,不管输入是文字还是图片,都能变成语义空间里的向量,然后统一处理。
这个过程就是"多模态融合"。

视觉编码器:AI 的眼睛是怎么工作的?
图片和文字要变成同一种"语言"才能对话,这步是怎么实现的?靠的是视觉编码器。
早期的主流方案是用 CNN,就是那个擅长处理图像的卷积神经网络。它的工作方式很像人眼看东西:一层层地从细节到全局,先看到边缘,再看到轮廓,最后理解这是什么。
后来出了个新选手叫 ViT,视觉 Transformer。这名字听着眼熟吧?就是之前讲注意力机制时提到的那个 Transformer。
ViT 把图片切成一小块一小块(就是上篇说的 Token),然后用注意力机制来分析它们之间的关系。这和 CNN 走的路子完全不同——CNN 是一层层往下卷,ViT 是直接看全局。
我之前用 ViT 处理过一些图片分类任务,说实话在大数据集上确实表现更好。它能更好地理解物体之间的关系,而不只是认出来"这是什么"。
举个例子,CNN 像是只看局部细节的专家,一个像素一个像素地扫描。ViT 更像是站在高处俯瞰全局,一眼就看出各个部分之间的联系。
这两种技术现在都在用,各有各的优势。具体用哪个,要看任务需求。

对齐:文字和图片是怎么"对上号"的?
光有视觉编码器还不够。
模型学会了把图片变成向量,但它怎么知道这个向量对应的是"dog"还是"cat"?
这里就要靠对齐技术了。
对齐的本质很简单:让"狗的图片"和"dog"这个单词在语义空间里离得近,让"猫的图片"和"cat"离得近。
CLIP 模型给出了一个很好的答案。它用了 4 亿对图文数据来训练——这些数据直接从网上爬的,不需要人工标注。训练方式很有意思:给模型看一堆图片和一堆文字,让它猜哪些图片配哪些文字。
一开始它随便猜,猜错了就调整参数。训练得越多,它就越能准确地把图片和对应的文字匹配起来。
这跟小孩学认东西的过程很像。妈妈指着狗说"狗狗",指着脸说"脸脸",说多了孩子就记住了。多模态模型也是这么学会图文对应的。
对齐做得好不好,直接影响模型能不能准确理解图片内容。对齐差,问它图片里有什么,它可能答非所问。

视觉问答:大语言模型是怎么"看图说话"的?
现在模型既能把图片变成向量,也能把文字变成向量,还知道它们之间的对应关系。
那视觉问答是怎么实现的?你问它"这只猫在干什么",它怎么结合图片来回答?
这里就要请出大语言模型了——LLM 就是多模态模型的"大脑"。
视觉编码器负责"看",LLM 负责"想"和"说"。
拿 LLaVA 这个模型举例。它的结构分三块:视觉编码器负责提取图片特征,连接器负责把图片特征翻译成 LLM 能懂的格式,LLM 负责根据问题和图片信息生成回答。
具体流程是这样的:图片先进入视觉编码器,变成一堆特征向量。然后连接器把这些向量"翻译"成 LLM 认识的 Token 格式。接着,问题和这些图片 Token 一起送进 LLM,LLM 就开始"思考"该怎么回答。
这个过程有点像你看图说话考试。先仔细看图,然后读题目,再根据图片内容和题目要求组织语言回答。
LLM 的推理能力在这里特别重要。我之前试过用不同的大语言模型搭配同一个视觉编码器,效果差别很明显——一个好的 LLM,能准确理解问题的意图,从图片信息中提取相关部分,组织出流畅合理的回答。
这就是为什么现在厉害的多模态模型,背后都得有个强力的大语言模型。眼睛再好使,脑子不好使也白搭。

边界:它真的"看懂"了吗?
说了这么多多模态模型的厉害,但它的局限也很明显。
空间关系理解是弱项。你问它"杯子在书的左边还是右边",它经常答错。给它一张复杂的场景图,问物体之间的精确位置关系,它就犯迷糊。
图像质量的影响也很大。光照不好、遮挡严重、分辨率太低,这些都会让识别准确率大幅下降。人类看到一张模糊的照片,努努力还能认出来,模型可能就直接瞎了。
复杂推理更是短板。你问它"如果把这本书从桌上拿开,杯子会不会掉下去",它可能一脸懵。多步骤的因果推理、常识推理,模型做起来还是很吃力。
还有一个有意思的问题:模型是真的"理解"了图片,还是只是在"模仿"理解?
它能说出"图中有一只猫在窗台上",但它有"猫"的概念吗?它知道窗台是什么吗?它理解"在...上"这个空间关系吗?
这个问题到现在也没有标准答案。也许它只是学会了文字和图片之间的统计规律,并没有真正的理解。
但话说回来,就算只是"模仿",能做到这种程度也已经很惊人了。

下一步:专门的事情交给专门的人
多模态大模型做视觉问答很在行,但有些任务用通用模型反而费劲。
比如你想从一张发票里提取信息,直接问通用模型效果可能不理想。你想理解一张复杂的图表,让它数一数柱状图里最高的那根,它可能还得掰着手指头算。
这些场景需要更专门的解决方案——OCR、图表理解、文档理解。这些技术和通用多模态模型是什么关系?它们是竞争关系还是互补关系?
下回我们好好聊聊这个。
