做产品 PMaker
空格的键盘空格的键盘
大模型

多模态:图片怎么被读懂

多模态:图片怎么被读懂 | 大模型 | 做产品

多模态:图片怎么被读懂

多模态是加装上去的,不是天生的。加装的方式是把图切成小块、编成向量,接到文字序列后面。所有能力和所有毛病都由这个方式决定。

你会遇到的现象

  • 发一张整屏截图让它找按钮,它把界面描述得头头是道,按钮位置说错了

  • 发一张表格图,大标题读得准,表格里的小字全读串了

  • 换个模型,同一张图一个读得出、一个读不出,你不知道差在哪

图是怎么进去的

流程是这样的:图片先被缩放到模型能接受的尺寸,然后切成一格一格的小块(patch),每一块交给一个视觉编码器,变成一串向量。这些向量再经过一层映射,变成和文字 token 同一个空间里的东西,接到文字序列里一起进模型。

关键在最后一步:**接进去之后,模型不再区分哪些来自文字、哪些来自图片。**它照样是在那条序列上一个一个往下猜 token。你问它图里有什么,它是在「接话茬」,只不过接话的依据里多了几百个来自图片的向量。

这也就解释了几件事。第一,它读图和读字用的是同一套推理能力,所以文字理解上的毛病——会编、会记串、会顺着你说——读图时一个不少。第二,图片是要占上下文的,占的还不少。第三,它看到的细节上限,在缩放和切块那一步就已经定死了,后面再怎么问都补不回来。

于是它有这些边界

做不好的事机制上的原因 读清楚小字图被缩放过,小字在 patch 里已经糊了 给出精确坐标它只知道大致在第几块,不知道第几个像素 数清楚数量数数本来就是它的弱项,切块之后更难对齐 判断细微的颜色和间距差异压缩过程中这些差异最先被抹掉 看懂超长截图要么被压得更狠,要么被切成很多块,两头不讨好 可靠地读手写体、复杂表格语料里这类样本本来就少

前两行决定了一件事:不要让它做「基于像素的判断」。要它定位元素,靠的应该是你给的结构化信息(比如页面的 DOM 或元素清单),不是让它盯着截图看。

反过来,它做得好的也很清楚:**看整体、看关系、看语义。**这张图在讲什么、布局有没有明显问题、两版设计的差别在哪、图表反映的趋势是什么——这些不依赖像素级精度的任务,它相当可靠。

它看到的细节上限,在缩放那一步就已经定死了

整屏截图直接发

缩放

小字糊成一片,后面再怎么问都补不回来

裁出你关心的那一块

原尺寸

小字就能读了——所有技巧里最有效的一条

图片是给它看结构和布局的,不是给它读字的 图里的数字、字段名、报错内容,能贴文字就贴文字。要它定位元素,靠的应该是页面的 DOM 或元素清单。 对精度有硬要求就别用通用模型:读发票、认车牌、扫条码,专门的 OCR 又准又便宜。

它做得好的是看整体、看关系、看语义——这张图在讲什么、布局有没有问题、两版设计差在哪。凡是需要「基于像素的判断」的,都该换个做法。

怎么给它图

  • **裁剪,不要缩放。**你关心哪一块就把哪一块裁出来单独发。整屏截图会被压得看不清细节,而裁出来的局部按原尺寸进去,小字就能读了。这一条是所有技巧里最有效的。

  • **关键信息用文字补一遍。**图里的数字、字段名、报错内容,能贴文字就贴文字。图片是给它看结构和布局的,不是给它读字的。

  • **一次一张,别铺一堆。**多张图会互相干扰,而且每张都在吃上下文。要对比两张,明确说清楚哪张是 A、哪张是 B,再问具体的差异点。

  • 问具体的问题。「这张图有什么问题」得到的是一堆泛泛而谈。「这张图里的主按钮和次按钮,视觉权重是不是反了」才能得到有用的回答。

  • **算上图片的成本。**一张图通常折算成几百到上千个 token,高分辨率模式下更多。做多图场景之前先估一遍账,别等上线才发现贵。

最后一条判断给做产品的人:**如果你的功能对精度有硬要求,别把识图这一步交给通用模型。**读发票、认车牌、扫条码,这些有专门的 OCR 和检测模型,又准又便宜。通用多模态模型的位置是理解和串联,是在你把结构化信息取出来之后,帮你判断这些信息意味着什么。

接着看

大模型的运作原理 图片接进序列之后,接下来发生的还是同一件事:猜下一个 token。

Token 与计费单位 图片也要折算成 token 计费。先搞清楚这个单位怎么算。

参考锚点 给它图最有价值的用法:拿一张参考图当目标,让它照着做。