你把一张猫的照片发给豆包,问「这是什么动物」,它几乎马上能答上来。这背后第一步,是把图片变成大模型能读懂的数字序列,干这件事的部件就叫视觉编码器——多模态人工智能的「眼睛」。没有这一步,再聪明的语言模型也只认得文字,对图像一筹莫展。
从像素到向量,它具体在做什么
一张图在计算机里就是一大堆像素点,每个点带着红、绿、蓝三个数值。视觉编码器先把图切成许多小方块,再把每个方块压缩成一个向量,这个向量概括了该区域的颜色、边缘和纹理,业内常把它叫作图像 token。最后得到的这一排向量,就是后面语言模型能「接住」的图像表示。换句话说,它把「看图」改造成了「读数」:DeepSeek、Kimi 这类模型处理你上传的截图时,读的正是这些向量,而不是原始像素。
一个贴切的类比:只记要点的速记员
把视觉编码器想成会议速记员:两小时的原片,他只留下一页要点,事后大家靠这一页也能还原讨论的主线。图像也是同理,几百万个像素被浓缩成几百个向量,关键信息还在,体量小了一大截,后面的计算才跑得动。这个类比在「压缩」这一点上很贴切,但有一处会失灵:速记员漏掉的细节,你还可以追问着补回来;视觉编码器丢掉的信息却找不回来——如果切块太粗,图上的小字、细线可能在浓缩阶段就被抹掉了。
三者的差别,集中在细节怎么留、丢了能不能补:
| 对象 | 处理方式 | 细节怎么取舍 | 丢掉的部分能否补回 |
|---|---|---|---|
| 视觉编码器 | 静态图切成小块,逐块压成向量 | 几百万像素浓缩成几百个向量,只留要点 | 补不回,切块太粗时小字、细线在浓缩阶段就被抹掉 |
| 速记员 | 两小时的原片记成一页要点 | 只留讨论主线,其余略过 | 能补,漏掉的细节还可以追问 |
| 人眼 | 连续成像,能转动视线 | 按需补细节,不主动丢弃 | 能补,再看一眼即可 |
为什么语言模型自己不看图
语言模型天生只处理文字序列,让它直接看图,就像请一位只懂盲文的读者去赏画。视觉编码器干的正是「转写」的活:把画转写成盲文,格式对了,理解才谈得上。转写完成后,还要靠跨模态对齐把图和文接到同一个语义空间里,两边才真正「说得上话」。这也解释了一个常见现象:不少模型能看懂图却画不出图,因为理解与生成走的是两条不同的路,各自有各自的部件和训练方法。
带走一个判断:切片粗细决定眼神好坏
判断一个多模态模型「眼神」好不好,可以先看两个硬指标:给一张图切多少块、用多高分辨率。切块多、分辨率高,小字和表格线更容易看清,但计算量和等待时间也水涨船高;切块太少,模型就会「近视」。另外,这套「眼睛」的本事并非天生的,来自海量图文对训练——见过足够多的图和配文,它才知道什么值得记进要点、什么可以略过。
落到日常使用,还有两点值得知道。其一,同一张图在不同模型里看到的「要点」可能不同,因为各家的编码器结构、切块策略、训练数据都不一样——你问它图里偏左还是偏右,答案不同未必是谁错了,是它们记的要点本来就有出入。其二,编码只负责「看见」,不负责「记得住」:聊天里发过的图,隔了很多轮再追问,要看上下文里还留不留那些向量,超出了就等于没看过。遇到「刚才那张图再说一遍」它答不上来,多半不是傲慢,是账本翻篇了。
速查清单
- 第一步:图片切成小块,逐块压成向量
- 向量越多细节越全,计算开销也越大
- 小字认不清,多半是切块太粗
- 带图问答变慢,编码环节往往占了大头
一句话带走:它决定模型看得见什么;图和文怎么接上,是下一步的事。
关于视觉编码器的三个常问问题
- 它和人眼是一样的吗?:不一样。人眼连续成像、还能转动视线补细节,它是对静态图切块浓缩,会主动丢弃一部分信息。
- 既然向量丢细节,为什么还要压缩?:不压缩的话,一张图就是上百万个数字,语言模型根本算不动。压缩是在「看得清」和「算得起」之间取平衡。
- 同一个模型,为什么有时看错图?:常见原因是切块粒度不够、图片被压缩得太狠,或者图里的东西超出了它训练时见过的范围。


