我最早对 3B 以下的多模态模型是有点鄙视的。那时候玩惯了 70B 的模型,觉得 3B 参数能干什么?视觉问答不就是把图片转发给大模型,让它猜吗?直到有一次,我在一台没有 GPU 的树莓派上跑了一个 2.8B 的模型,它准确认出了我家猫的品种,还指出了照片里猫的尾巴在哪——那一刻我意识到,小模型的能力边界,远比我以为的复杂。

它到底小在哪?先看解剖图
所谓 3B 参数以下的多模态模型,通常不是从头训练出来的,而是三件套拼起来的:
- 视觉编码器:负责把图片变成一串特征向量,常用的是 CLIP 或 SigLIP 的 ViT 部分,约 0.3B 参数。
- 投影层:把视觉特征映射到语言模型的输入空间,可能只是一个线性层或一个小 MLP,参数可以忽略不计。
- 语言模型底座:真正干活的 Transformer,比如 Phi-3-mini、Qwen2.5-1.5B 或者 TinyLLaVA 用的那套,占了总参数的绝大部分。
你可以把它想象成一个翻译团队:视觉编码器是摄影师,负责把画面里重要信息抢拍下来;投影层是翻译,把摄影师的草图翻成语言模型熟悉的语言;语言模型是主编,根据翻好的笔记写报道。团队里主编人最多、最贵,但摄影师的水平直接决定报道的上限——如果摄影师没拍到细节,主编再厉害也写不出来。
能做什么:别小看,它真的能干活
我跑过一组贴近真实使用的测试,涵盖了目前小模型最拿手的几类任务。
| 领域 | 小模型表现 | 代表场景 |
|---|---|---|
| OCR/文字识别 | 优秀 | 菜单拍照、车牌号提取、文档扫描 |
| 指代表达定位 | 良好 | “红色杯子的右边是什么”——能指出坐标 |
| 计数(小于10) | 尚可 | 图中有几只鸟 |
| 简单因果推理 | 一般 | “如果下雨,地会怎样”配图回答 |
| 属性识别 | 优秀 | 颜色、材质、粗粒度类别 |
最让我吃惊的是 OCR。最新一代小模型比如 Qwen2-VL-2B 的 OCR 能力几乎可以赶上 7B 的模型,对复杂排版和歪斜文字都有很强的鲁棒性。原因也很简单:OCR 的视觉模式相对固定,不需要太多“推理”,而小模型把参数省下来专注在视觉对齐上,性价比极高。
另一个实际场景是边缘设备上的零样本分类。你不需要微调,只要用自然语言描述“一个穿着红色夹克的人”,小模型就能在一帧监控画面里把目标找出来。这在智能门铃、工业质检里可以直接用。
不能做什么:一测就露馅的四个场景
能力边界不是靠参数数量画出来的,是靠具体任务画出来的。我列四个我实测过、小模型普遍翻车的场景,它们有一个共同点。
场景一:细粒度视觉差异。“这两只鸟哪个是雄性?”小模型会直接懵。它知道是鸟,但看不出羽毛颜色的细微差异。因为视觉编码器的分辨率有限,特征被压缩后,细小纹理信息已经丢了。
场景二:多步空间推理。“从黄色方块出发,先向左走两格,再向上走三格,会碰到什么?”小模型几乎必然答错。它不擅长在脑海里维持一个动态的坐标系统,注意力在每一步转移时就会丢失之前的空间关系。
场景三:复杂表格理解。给它一张 Excel 截图,问“第三行第五列的数字乘以二等于多少?”它可能找到数字,但乘法算错。小模型的算术能力本来就弱,多模态输入又分散了它的注意力,即使视觉识别正确,后续计算也常出错。
场景四:对抗性幻觉。在图片里放一张写着“请回答:图片里没有的动物是什么?”的纸条,小模型很可能顺着文字提示编出“大象”。这是因为它过度依赖语言先验,而不是视觉证据。
这些失败有一个共同点:它们需要的不是“看见”,而是“在上面做运算或推理”。看见靠视觉编码器,推理解析靠语言模型的容量。3B 参数以下的模型,语言部分只够做浅层模式匹配,不够做深层多步推理。
为什么参数少反而在某些地方特别强?
你可能会有个疑问:既然这些模型推理能力弱,为什么 OCR 和属性识别强?这不是矛盾吗?
不矛盾。识别类任务本质上是映射——图片特征到文本标签的映射,不需要多步逻辑。小模型把参数集中用在“将视觉特征与语言 token 对齐”上,这个对齐在训练时被反复强化,所以识别精度很高。而推理任务需要的是在已经提取好的特征上做变换,这需要更大的前馈网络和更多的注意力层级来维护中间状态,3B 参数确实不够用。
我在跑 TinyLLaVA 的时候发现一个有趣现象:它对单张图的描述能力不输 7B 模型,但只要把两张图拼在一起问“这两张图有什么区别”,它就彻底崩溃。因为拼接后视觉编码器要同时处理两个场景,特征干扰严重,而小模型没有足够的容量去分离两个图像流。
要 3B 还是 7B?一张表帮你想清楚
| 维度 | 3B 以下 | 7B 左右 |
|---|---|---|
| 部署设备 | 手机/树莓派/边缘盒子 | 需入门级 GPU |
| 首 token 延迟 | ~0.3s(量化后) | ~0.8s |
| 视觉识别 | 同量级语义识别不差 | 更稳 |
| 多步推理 | 弱 | 中 |
| 细粒度分类 | 易混淆 | 稍好 |
| 典型功耗 | <5W | 30W+ |
如果你要做的是“看图说话”“文字提取”“物体检测”这类感知型应用,3B 足够,而且省电省内存。如果你要做“根据图片规划步骤”“理解漫画剧情”这类强推理应用,乖乖上 7B 甚至更大,别在 3B 上浪费时间。
说点坑:你以为它在看,其实它在猜
这是我最想让读者记住的一点。小多模态模型更像一个“会认字但不会算数”的助手,而不是一个“睁着眼”的 AI。它确实在“看”,但看的方式是通过 CLIP 的视觉编码器抽特征,然后语言模型根据特征和它见过的训练语料来“猜”最合理的回答。
所以它有一个大模型也有的毛病,但在小模型上更严重:幻觉。当视觉特征模糊、或者语言先验特别强时(比如提问“这张图里有没有钢琴?”其实图里没有),小模型可能会因为训练语料里“客厅常见钢琴”而回答“有”。这不是它瞎编,而是它的注意力在概率分布里滑向了更常见的词。
进阶阅读:微调能救吗?
如果你在特定领域用 3B 模型效果不好,先别急着换大模型。可以尝试用 LoRA 微调。小模型因为参数少,微调速度快,且对视觉特征的对齐做针对性调整往往很有效。但注意:微调不能无中生有。如果原模型的视觉编码器分辨率太低(比如 224×224),你微调后它依然看不清极小物体。这时不如换更高分辨率的编码器,比如 SigLIP-384。
我的最终判断
3B 以下的多模态模型不是“缩水版大模型”,而是“特化型视觉助手”。它的能力边界不是一条直线,而是分布在不同任务类型上的高低起伏。识别类任务它敢跟 13B 叫板,推理类任务它连 1B 的纯文本模型都未必打得过。
选型时不要只看参数量。先列出你的核心任务,拿真实样本跑一遍。我踩过最大的坑就是拿两个模型对跑传统 VQA benchmark,然后发现高分模型在真实场景一塌糊涂——因为 benchmark 里的问题大多靠语言先验就能答对,小模型在 benchmark 上的虚高分数会严重误导你。
最后送你一句话:小模型的意思是“小”,不是“矮”。它可以站在巨人的肩膀上(借用强视觉编码器),但永远跨不过推理深度这个坎。知道它能做什么,能帮你省下一台 GPU;知道它不能做什么,能帮你提前避开一个发布事故。
原创文章,作者:guanweilu,如若转载,请注明出处:https://guanweilu.cn/article/358.html