向阳乔木@vista8 · 5月1日61http://x.com/i/article/2049885174113185792
# DeepSeek新论文解读:让AI像人一样“用手指着图片思考”
DeepSeek 又在节前发论文了,真的顶不住。
过去几年,多模态领域,大家卷的方向一直是"看得更清":更高分辨率、更多视觉Token、动态裁剪。
但 DeepSeek 这篇论文角度完全不一样,觉得看清后的信息利用效率远远不够,能推理清楚才更重要,真正的瓶颈不在感知。
他们数据清洗做的很细致认真,比如把近 10 万数据用各种条件过滤到 3 万。
还有数据合成也特别有意思,比如大量迷宫题的设计,哈哈哈哈。
DeepSeek 视觉 Token 用量只有其他前沿模型的十分之一,但效果基本持平,甚至不少维度有超越,牛逼!
> Github: https://github.com/deepseek-ai/Thinking-with-Visual-Primitives
## 一句话总结
DeepSeek团队提出了一种全新的多模态推理框架。
核心思路是:让模型在推理过程中,像人类一样用"手指"指着图片上的具体位置来思考,用点和框这些视觉标记作为思维的最小单位。
模型规模284B总参数(13B激活),视觉Token用量只有其他前沿模型的十分之一,却在空间推理、计数、拓扑推理等任务上达到甚至超越GPT-5.4、Claude-Sonnet-4.6和Gemini-3-Flash。
## 这篇论文到底在解决什么问题?
当前的多模态大模型,虽然已经很强了,但有一个根本性的瓶颈:语言天生就不擅长精确描述空间位置。
举个生活中的例子。
你让朋友帮你从一堆杂物里找东西,光靠嘴说"就在那个红色的旁边,偏左一点,上面那个",说半天对方可能还是找不到。
但你手一指,"就这个",瞬间解决。
模型也面临同样的困境。
论文把这个问题定义为 "Reference Gap"(指代鸿沟)。
之前业界的主要努力集中在另一个问题上,叫"Perception Gap"(感知鸿沟),就是让模型"看得更清楚"。
比如用更高分辨率的图片、动态裁剪、多尺度patch等等。
但论文指出,看清楚了不等于能推理清楚。
即使模型把图片每个像素都看到了,当它需要在密集场景里数东西、做多步空间推理的时候,纯靠语言描述来追踪"我在说哪个物体",很容易就乱套了。
比如数一群人,模型用语言说"左边第三个穿蓝衣服的",说着说着就搞混了,到底数到哪了?哪些数过了?这种混乱会像多米诺骨牌一样传导下去,论文称之为"级联幻觉"。
之前也有一些工作尝试在思维链里加入边界框,但论文认为它们有三个局限:
1. 只是事后验证,把框当作辅助证据,没有真正融入思维过程本身
1. 主要解决的还是"看不清"的问题,集中在高分辨率场景
1. 依赖大量人工标注,扩展性差
1. 无法处理拓扑推理这类需要视觉标记作为思维媒介(而非仅仅作为证据)的复杂任务
## 核心方案:用"视觉原语"来思考
论文的解法非常直觉:既然语言不擅长指代空间位置,那就在思维链里直接嵌入坐标信息。
具体来说,模型在推理的时候,可以随时输出两种"视觉原语"(Visual Primitives,可以理解为视觉世界里最基本的标记单元):
- Bounding Box(边界框):用来框住某个物体,标记它的位置和大小
- Point(点):用来标记一个抽象的位置,比如路径上的某个节点、运动轨迹上的一个点
这些坐标信息直接穿插在模型的思维过程中。
模型一边用语言推理,一边用坐标"指"着图片上的具体位置。
论文把这叫做 "point-to-reason"(指着推理),灵感来自人类认知中的"指示性指代"(deictic pointers)。
走迷宫的时候用手指沿着路径划,数密密麻麻的东西时用手指点着数,这些都是人类降低认知负荷、保持逻辑一致性的本能策略。
看一个实际的例子就很好理解了。
比如数一张图里有多少只熊在地面上:
> 模型先扫描整张图,发现一只熊 [[452,23,804,411]] 抱在树上,排除掉。再看到一只熊 [[50,447,647,771]] 走在岩石上,算一个。又找到一只 [[380,645,868,961]] 在碎木头和泥土中间,也在地面上,再算一个。最终答案:2只。
每一步推理都有明确的坐标锚定,不会出现"我刚才说的是哪只熊来着"这种混乱。
## 模型架构:极致的视觉Token压缩
整体结构
模型采用类似LLaVA的标准架构:图片经过视觉编码器(ViT)提取特征,然后和文本指令拼接在一起,送入大语言模型生成回答。
- 语言骨干:DeepSeek-V4-Flash,一个MoE(Mixture-of-Experts,混合专家)架构的模型,总参数284B,推理时激活13B
- 视觉编码器:DeepSeek-ViT,自研的视觉Transformer,支持任意分辨率输入
压缩流水线
这里是整个架构最值得关注的地方。模型对视觉信息做了三级压缩:
第一级:ViT用14×14的patch(小方块)切图,生成patch token
第二级:ViT输出时做3×3空间压缩,把相邻的9个token沿通道维度合并成1个
第三级:进入LLM后,利用CSA(Compressed Sparse Attention,压缩稀疏注意力,DeepSeek-V4-Flash自带的机制)把KV Cache(模型推理时存储的中间状态)再压缩4倍
拿一张756×756的图片举例:
- 原始像素:571,536个
- ViT patch token:2,916个
- 3×3压缩后送入LLM:324个
- CSA压缩后KV Cache条目:81个
从原始像素到最终KV Cache,整体压缩比达到7,056倍。
为了平衡性能和计算成本,ViT输出的视觉token数量被限制在81到384之间。
超出这个范围的图片会在保持宽高比的前提下缩放。
对比一下各模型处理800×800图片需要的Token/KV条目数。
用最少的视觉Token,达到了前沿性能。
这个效率差距相当惊人。
## 预训练:大规模数据构建的工程细节
为什么优先大规模扩展Box数据?
论文给了三个很实在的理由:
一、标注确定性高
边界框紧紧包住物体,标注结果相对唯一。
但点标注就很模糊了,物体上任何一个位置都可以是合法的点。
极端情况下,如果物体被遮挡,你想标的背景物体上的点可能落在了前景遮挡物上,歧义非常大。
二、任务泛化性好
会输出框的模型可以轻松泛化到点格式,因为一个框本质上就是两个点(左上角和右下角)定义的。
三、信息量更丰富
点只提供位置,框还包含宽高等几何信息,能支持更复杂的下游推理。
数据采集与清洗
团队从互联网上大规模爬取目标检测相关数据。
以Huggingface为例,用官方API筛选标记为"Object Detection"或"Grounding"的数据集,按热度排序做初筛,严格排除所有验证集和测试集防止数据泄露。
还用LLM Agent自动解析各数据集的README文件,把五花八门的数据格式统一转换成预定义格式。
爬取去重后,得到97,984个与框标注相关的数据源。
人工抽检发现类别非常丰富,从常见目标(人、脸)到专业领域(CT扫描中的病灶区域、特定动漫角色)都有。但原始标注质量参差不齐,需要进一步过滤。
两步过滤流水线
第一步:语义审查。
用MLLM自动检查标签的语义质量,过滤三类致命缺陷:
1、无意义的机器编码
很多数据集保留了内部开发代码,比如标签就是"0"或"1"。强迫模型学这种映射会严重损害语言生成能力。
2、不可泛化的私人实体
比如"MyRoommate(我的室友)"或"ID_Card_1"。模型没法从几个样本里学会某个非公众人物的视觉特征。
公众人物则保留。
3、模糊缩写和主观评价
比如工业检测里的"OK"或"NG"(Not Good)。
一个"OK"标签,对应"完好的苹果"和"完好的电路板",视觉上毫无关联。
具体做法是:每个数据集抽3张图,让模型打0到10的质量分,输出"KEEP"或"DISCARD"决定,并附上理由。
这一步从97,984个数据源筛到43,141个。
第二步:几何质量审查。
检查框标注的物理精度:
1、严重漏标(低召回率)
图里明明有很多同类物体,只标了几个。抽样时漏标率超过50%的直接丢弃。
2、严重截断和偏移
框没有合理包住目标。
稍微松一点(包含少量背景噪声)可以接受,但严重截断关键视觉特征(比如切掉头或车轮)绝对不行。
3、巨型框问题
框覆盖了图片90%以上面积,通常是图像分类数据被强行转成检测数据。
偶尔出现算噪声,如果三张抽样图都这样,直接丢弃。
这一步从43,141个筛到31,701个。
类别均衡采样
为了防止某些类别过度主导,团队设计了按类别采样的策略:
每个数据集的每个类别最多随机抽1,000张图,不足1,000张的全保留。由于一张图可能属于多个类别,采样后做全局去重。
最终得到超过4,000万高质量样本。
统一的数据格式
框标注和点标注都有统一的格式规范。
框标注的提示模板类似:"Locate TARGET in this image and report its bounding box coordinates." (请在该图像中定位目标,并报告其边界框坐标)
回复格式用特殊token包裹:<|ref|>TARGET<|/ref|><|box|>[[x1,y1,x2,y2],...]<|/box|>。
坐标归一化为0到999的离散整数,多个实例按从左到右排序。
点标注的提示模板类似:"Help me find TARGET. Give me the center point for each instance." (帮我找到目标。请给出每个实例的中心点)
回复格式:<|point|>[[x1,y1],[x2,y2]...]<|/point|>。
注意点格式的回复不需要输出物体名称,这是刻意设计的,目的是让点标记能扩展到更抽象的概念,比如用一串点表示一条轨迹。
整个预训练阶段消耗了数万亿(trillions)多模态token。
## 后训练:四类核心任务的冷启动数据
预训练让模型具备了输出视觉原语的基础能力,但后训练需要一小批高精度的冷启动数据来引导模型学会"在推理过程中使用视觉原语"。
冷启动数据有两个关键要求:
(1)有明确的监督目标(来自标注或程序生成)。
(2)尽可能配备自动验证器(比如规则检查器)来减少标签噪声。
团队选了四类最能体现视觉原语价值的任务。
1. 计数(约10,000个冷启动样本)
为什么计数特别需要视觉原语?
人类数东西的时候会用"扫描并累加"的策略,一个一个点着数。
但语言模型在物体数量多的时候,很难建立精确的一一对应关系。
用框来锚定每个被数的物体,就像给每个物体贴了个编号。
粗粒度计数
比如"数图里有多少只狗"。
从多个密集检测数据集聚合数据,经过三重过滤(避免物体过于密集、确保框足够大能看清、确保标注召回率高)。
然后让MLLM按三步协议生成思维内容:
(1)意图分析,识别目标类别
(2)批量定位,一次性用视觉原语标记所有候选物体(团队发现批量定位比逐个枚举更高效,因为它能利用模型本身的定位能力,避免重复列举)
(3)统计求和。还有一个严格的验证机制:确保思维内容中所有框坐标与元数据严格对齐、符合预定义语法、且与最终数字一致。
细粒度计数
比如"数图里有多少只在地面上的熊"。
公开数据集太少,团队自建了一套数据构建流水线。
先利用GQA数据集的图片和场景图(scene graph,记录了图中物体及其属性、关系的结构化数据),让MLLM生成细粒度计数问题,记录正确物体ID、排除的负样本ID和构题理由。
然后以这些信息为输入,引导MLLM合成带视觉原语的推理链。
跟粗粒度计数不同的关键点在于:细粒度计数要求模型做逐个扫描,系统性地检查场景中每个可能的物体是否满足指定的细粒度约束条件。
团队还专门构建了答案为零的负样本,增强模型对幻觉的抵抗力。
2. 空间推理与通用视觉问答(约9,000个冷启动样本)
论文把空间推理和通用VQA(视觉问答)合并为一个类别。
核心假设是:在空间推理任务中培养出的"用视觉原语思考"能力,会自然泛化到更广泛的VQA场景。
1、自然场景数据
同样基于GQA的图片和场景图,让MLLM设计以空间关系和物体交互为核心的问题,配合意图分析、物体定位、关系推理的结构化思维内容。
在拥挤场景中,模型被指示选择有区分度的物体,并结合多种属性约束(比如同时用动作和属性)来唯一指定目标。
但GQA的关系结构相对简单,很难大规模生成复杂的多跳推理样本。
2、合成场景数据
为了突破这个限制,团队用CLEVR工具链生成多跳推理数据。
CLEVR支持可控的场景生成(不同物体密度)、问题生成、以及可编程的执行轨迹(每个推理步骤都映射到具体的物体ID)。
团队把3D物体坐标投影为2D边界框作为监督信号,然后让MLLM合成包含意图分析、任务分解、多跳定位推理的思维链。
3、负样本增强
专门构建查询物体或关系不存在的训练样本。
在这种情况下,模型被训练为基于视觉证据给出"忠实拒绝"(faithful refusal),而非编造回答。
3. 迷宫导航(约460,000个冷启动样本)
这是最有意思的任务,也是数据量最大的一个。
为什么迷宫导航特别适合视觉原语?
纯语言的思维链根本没法准确描述不规则形状的路径走向。
但用点坐标就很自然,模型可以一步步标记"我现在在哪,我要往哪走"。
迷宫生成方法:
用三种经典算法(DFS深度优先搜索、Prim、Kruskal)生成可解且有难度的迷宫。
这三种算法的共同特点是:任意两个格子之间只有少数路径,确保解不能被轻易猜到。
三种拓扑结构:
矩形网格、由同心环和角扇区组成的圆形迷宫、六边形(蜂巢)网格。
不可解迷宫的精心设计:
先生成一个可解迷宫,获取解路径,然后在路径中段(避开起点和终点附近)故意放几面墙,打断连通性。
这样迷宫乍一看像是能走通的,但实际上需要完整搜索才能确认无解。
这个设计非常巧妙,逼模型真正去搜索而不是凭直觉猜。
视觉风格多样化:
渐变色和加粗墙壁、多种背景图案、多种标记类型、随机小角度旋转,防止模型对特定视觉模式过拟合。
图片分辨率随机化,宽高比连续采样,网格尺寸按比例调整。
难度控制:
通过改变网格大小来控制。
网格越大,模型需要解析更多格子、在更长距离上追踪连通性、处理更多需要回溯的死胡同。
简单迷宫只需要几步局部连通性检查,噩梦级迷宫需要持续链接数百个视觉原语操作,同时不丢失对已探索区域的记忆。
每个难度级别都有最低分辨率阈值,确保视觉原语在最难的配置下仍然可感知,让任务难度来自推理复杂度而非视觉模糊性。
思维内容合成:
设计多种自然语言模板来描述基于DFS的探索过程,包括前进探索和回溯。
每一步探索都通过点坐标锚定到图片上,把视觉原语操作(检查某个格子的墙壁连通性、前进到相邻格子、从死胡同退回)显式转化为语言化的推理链。
最终输出迷宫是否可解,如果可解则提供验证过的解路径。
4. 路径追踪(约125,000个冷启动样本)
任务是:给一堆缠绕在一起的曲线,指定一条线的起点,问它连接到哪个终点。
数据生成:
用多条贝塞尔曲线(Bézier curves,一种用控制点定义的平滑曲线)生成图片,每条线连接一个有标签的起点和终点。
核心挑战在于交叉点消歧:两条线交叉的地方,模型必须判断哪条分支是目标曲线的延续。
为了确保这个能力被真正测试,团队做了两个关键约束:
(1)任何终点都不能与无关线条重叠或交叉,违反的配置直接丢弃重新生成
(2)专门设计了统一风格模式,所有线条颜色和粗细完全相同,剥夺颜色捷径,强迫模型只能依靠曲率连续性来判断,直接测试路径追踪能力是否被真正内化。
难度控制:
随线条数量和曲率幅度自然增长。
简单实例是几条平缓曲线、稀疏交叉。
困难实例是大量紧密缠绕的曲线,交叉点密集。图片分辨率、宽高比、视觉风格(调色板、线条样式、端点标记、背景)全部随机化。
思维内容合成:
把路径追踪过程表示为沿目标曲线采样的坐标序列。
从定位起点开始,经过一系列中间路径点,最终识别到达的终点。
关键细节是:路径点的密度会自适应曲线的局部几何形状。
直线段用较少的点,高度弯曲或交叉密集的区域用更密集的坐标,模拟人类"在视觉复杂区域放慢速度仔细看"的行为。
## 后训练流水线:专家分治再合并
整个后训练采用"先训专家,再合并"的策略,分四个阶段。
阶段一:Specialized SFT(专项监督微调)
训练数据由70%通用多模态和纯文本数据 + 30%专项"用视觉原语思考"数据组成。
关键设计:分别用box数据和point数据训练两个独立模型,得到FTwG(Thinking with Grounding,用框思考)和FTwP(Thinking with Pointing,用点思考)。
分开训练是为了防止模式冲突,当专项数据量相对较小时,两种模式混在一起会互相干扰。
阶段二:Specialized RL(专项强化学习)
对FTwG和FTwP分别做强化学习,使用GRPO(Group Relative Policy Optimization,组相对策略优化)算法。
一个重要的设计决策:RL阶段不显式监督思维过程中的视觉原语。
因为冷启动数据中的视觉原语已经经过严格验证,模型在SFT阶段已经学会了基本的使用方式。
RL阶段只需要图片、问题和最终答案,这大大拓宽了可用数据的范围,增强了RL训练的可扩展性。
三层奖励模型
每个任务从三个维度同时提供监督:
Format RM(格式奖励):
基于规则,输出0到1的分数。
检查视觉原语的表示格式是否正确。
对于框模式,还额外检查输出冗余,比如生成重复的边界框,有效缓解SFT模型陷入无限循环生成框的问题。
Quality RM(质量奖励):
基于LLM的生成式奖励模型(GRM),评估五个方面:
- 回复是否冗余
- 思维内容与最终回复是否一致
- "用视觉原语思考"过程中是否自相矛盾
- 输出框时指代的物体是否是有意义的实体
- 模型是否存在"奖励黑客"行为,比如在回复中强行编造一个与自己预测一致的假标准答案来欺骗奖励模型
输出三档分数(0.0、0.5、1.0),并附上评分理由。
Accuracy RM(准确性奖励):
针对每个任务单独设计。
计数任务的准确性奖励:
用平滑指数衰减代替简单的对错判断。
预测值和真实值的相对误差越小,奖励越高;差得越多,奖励衰减越快。
分母加了真实值,使得在物体数量多的场景下,差一两个的容忍度更高。
实践中衰减参数经验性地选择,确保学习信号稳定平滑。
空间推理和通用VQA的准确性奖励:
用LLM-based GRM,把模型的思维内容、最终回复、用户问题和标准答案一起输入,分别对思维过程和回复打分,取平均。
迷宫导航的准确性奖励:
拆成五个维度的加权组合,这是所有任务中设计最精细的:
- 因果探索进度:按顺序处理模型的探索步骤,遇到第一次穿墙违规就截断后续所有探索(因为后续推理因果上已经无效了),然后计算已探索区域到终点的最短距离占最优路径长度的比例。只用于可解迷宫。
- 探索完整性:对于不可解迷宫,模型必须穷举探索所有可达区域才能证明无解。计算已探索区域占所有可达区域的比例。只用于不可解迷宫。
- 穿墙惩罚:独立于因果截断,扫描整个探索轨迹,统计每一次穿墙违规。确保穿墙行为永远有代价,即使发生在探索后期。
- 最终路径有效性:当模型声称迷宫可解时,验证给出的解路径中相邻格子是否合法连通、路径是否从起点到终点连续。可解迷宫的二元分数,不可解迷宫保持为1。
- 答案正确性:模型的可解性判断是否与真实答案一致的二元分数。
这种分解确保奖励信号是密集且有信息量的:模型在每个正确应用视觉原语的步骤都能获得奖励,而非只看最终的二元答案。
路径追踪的准确性奖励:也是多维度加权组合:
- 轨迹准确性(双向评估):正向,对每个预测点计算它到真实曲线任意线段的最小距离,取平均,惩罚偏离真实路径的点;反向,对每个真实路径点计算它到预测折线任意线段的最小距离,惩罚不完整覆盖(模型跳过了曲线的某些部分)。最终取两个方向的平均。单看正向会允许模型只在起点附近输出几个安全的点,单看反向不会惩罚虚构的绕路。两个方向结合才能逼模型完整且准确地追踪整条曲线。
- 端点准确性:分别验证模型是否正确识别了起点和终点位置。计算预测坐标与真实边界框中心的距离,超过容忍阈值分数降为零。
- 轨迹连续性惩罚:如果模型轨迹的最后一个点和它声称的终点之间距离超过阈值,施加固定惩罚。防止模型输出一段不完整的轨迹然后"跳"到一个猜测的终点。
- 答案正确性:模型最终回答中的终点标签是否与真实答案匹配。
RL数据的难度分级
RL训练前,用SFT冷启动模型对数据池做N次rollout(让模型对同一个问题生成N个回答),根据奖励模型打分,把数据分成三个难度级别:
- Easy:N次全对
- Normal:1到N-1次正确
- Hard:N次全错
只选Normal级别的数据做RL训练,确保模型能从中获得有价值的学习信号。
全对的太简单学不到东西,全错的太难也学不到。这个策略在GRPO训练中非常关键。
经过Specialized RL(专业强化学习),得到两个专家模型:ETwG(框专家)和ETwP(点专家)。
阶段三:Unified RFT(统一拒绝微调)
前面两个阶段分别训练出了"框专家"和"点专家",各自在自己的领域很强,但它们是两个独立的模型。
这个阶段的目标是:把两种能力合并到同一个模型里。
怎么合并?核心思路是"让专家出题,让新模型学":
第一步:用专家模型生产高质量训练数据。
让框专家和点专家分别对大量问题生成多个回答,然后用奖励模型打分,按之前的难度分级策略筛选——保留所有 Normal 级别数据(模型有时对有时错,最有学习价值),再加入 5% 的 Easy 级别数据(模型全对的简单题,掺进去是为了防止模型在简单场景上"退化")。
第二步:从头训练一个新模型。
这里有一个反直觉的设计。
不是在框专家或点专家的基础上继续训练,而是回到最初的预训练基座模型,用第一步筛选出的这批更大、更多样的数据重新做一遍SFT。
> SFT解释:预训练阶段的模型只是学会了"语言的规律",像一个读了很多书但没上过课的学生。SFT 就是拿一批"标准问答对"来教它怎么正确回答问题
为什么要"回到原点"重新来?因为专家模型已经在各自的专项数据上训练过,参数里带有偏向性。
如果在它们的基础上继续训练,一种能力的参数可能会覆盖另一种。
从干净的基座重新出发,用同时包含框数据和点数据的混合数据集训练,模型能更均衡地学会两种能力。
训练的超参数和流程与最初的 SFT 冷启动阶段完全一致,唯一的区别就是训练数据更好了。
因为这些数据是由已经很强的专家模型生产并经过严格筛选的。
> 超参数(Hyperparameters) 是训练开始之前由人为设定的配置项,它们控制着"模型怎么学习"。打个比方:如果把训练模型比作做菜,那超参数就是火候、时间、翻炒频率这些你在开始做菜前就要决定好的东西,而不是食材本身。
这一步得到的统一模型称为 模型 F。
阶段四:On-Policy Distillation(在策略蒸馏)
虽然统一模型F比冷启动模型有了大幅提升,但跟各自领域的专家模型相比仍有差距。
为了弥合这个差距,采用OPD(On-Policy Distillation)。
核心思路是:让学生模型基于自己生成的轨迹来学习教师模型的输出分布。
用反向KL散度作为损失函数,对两个教师模型(ETwG和ETwP)的输出分布做加权蒸馏。
> 反向KL散度让近似分布宁可只抓住真实分布的一个峰也不乱猜,追求"说得少但说得准",而不是"面面俱到但不精确"。
采用全词表logit蒸馏,也就是在整个词表上对齐概率分布,而非只看top-k。
## 训练的工程细节
"用什么工具、怎么省算力"来完成这么大规模的训练?
训练框架:使用 HAI-LLM,这是一个基于 PyTorch 的分布式训练框架,可以把训练任务拆分到大量 GPU 上并行执行。
序列长度(模型一次能"看"多长的内容):
- 预训练阶段:64K token——相当于一次能读大约5万字
- 后训练阶段:扩展到 256K token——因为"用视觉原语思考"的推理链很长,模型需要在一次推理中输出大量坐标,所以必须把"视野"拉长4倍
数值精度(用多少位数字来表示模型参数):
这是省算力的关键手段。
正常的浮点数用32位(FP32)表示,精度最高但最耗资源。
训练大模型时,业界会主动降低精度来换取速度和显存:
越到后面的训练阶段,用的数字越"粗糙",但因为任务性质允许,所以效果不受影响,算力成本却大幅降低。
这是工程上非常务实的取舍。
## 评估体系
公开基准
- 计数:CountQA、Pixmo-Count(使用官方测试集)
- 空间推理与通用VQA:SpatialMQA、CV-Bench、EmbSpatial、OmniSpatial、MIHBench
自建基准
公开基准的评估维度往往有限,无法充分捕捉"用视觉原语思考"的能力。
团队自建了三个维度的测试集:
DS_Finegrained_Counting(600个测试样例):
现有细粒度计数基准(如TallyQA)存在标注错误和歧义。
团队让MLLM生成受特定属性或空间位置约束的计数问题,刻意确保存在强干扰负样本(与目标同类别但不同属性的物体),经过严格人工验证。
DS_Spatial_Reasoning(2,000个测试样例):
从CLEVR验证集采样1,000个判断题和1,000个开放题,用MLLM为开放题生成干扰选项,转换为选择题格式,便于标准化自动评估。
DS_Maze_Navigation(2,000个测试样例)和DS_Path_Tracing(2,000个测试样例):
按照前述方法论构建。
## 实验结果
主要对比
所有模型通过各自API用完全相同的提示词评估。
对于支持可配置思考预算的模型(如GPT和Gemini-3-Flash),统一设置思考预算为low,确保公平。
计数任务:
Pixmo-Count上全场最高,细粒度计数也是最高。
CountQA上非常接近Gemini-3-Flash。
空间推理与通用VQA:
6个基准中4个最高,1个并列最高,1个极度接近最高。
拓扑推理:
这是差距最大的地方。
迷宫导航上,其他所有模型都在49到51之间徘徊(基本等于随机猜),只有本文模型达到66.9。
路径追踪上更夸张,第二名GPT-5.4只有46.5,本文模型56.7。
这说明当前主流模型在需要精确空间追踪的拓扑推理任务上存在系统性缺陷,视觉原语是目前最有效的解法。
论文特别声明:报告的分数只覆盖与本文研究重点直接相关的评估维度子集,不代表各模型的整体能力。
## 定性展示:模型实际表现
框作为视觉原语
跨领域知识融合:给一张金门大桥的照片,用中文问"这附近有NBA球队吗?"模型先用框标记金门大桥 [[0,134,882,795]],识别出这是旧金山,然后关联到金州勇士队,回答球馆大通中心就在旧金山。
反常识视觉推理:天平两端分别放着金属储物柜和彩虹小熊,模型通过框标记两个物体和两个托盘,观察天平倾斜方向,判断小熊更重。虽然违反日常直觉,但模型忠实于视觉证据。
实用场景指导:看到一台咖啡机,用中文问"如何制作拿铁"。模型逐一用框标记咖啡机 [[111,107,721,970]]、蒸汽棒 [[164,405,236,693]]、不锈钢奶壶 [[670,638,853,905]]、咖啡豆 [[810,438,995,885]]、拿铁按钮 [[408,219,444,261]]、咖啡杯 [[535,779,770,988]],然后给出具体操作步骤,每一步都有空间坐标对应。
密集场景计数:数一张29人合影里有多少人,模型一次性输出29个框,按前排坐地上的、中排蹲着的、后排站着的、两侧教练分组统计。
幽默理解:左边一块水果有天然的黑斑看起来像眼睛和鼻子,右边是一只表情忧伤的猫。模型用框分别标记水果上的"眼睛"和"鼻子"斑点,以及猫的真实眼睛和鼻子,解释幽默来自两者惊人的相似性。
密室逃脱推理:看到一个房间里有高处的钥匙、锁着的门和一把椅子,模型用框标记三个关键物体,推理出"把椅子搬到钥匙下面,踩上去拿钥匙,再去开门"。
宝可梦识别与计数:一堆混杂的玩偶里数宝可梦,模型用框标记6个宝可梦(皮卡丘、可达鸭、小火龙、妙蛙种子、胖丁、杰尼龟),同时明确排除了哆啦A梦、路飞、索隆、蜡笔小新等其他动漫角色
多语言能力:虽然视觉原语相关的后训练数据里没有任何中文语料,但模型可以用中文思考和回答,得益于底座模型的多语言能力自然继承。识别云南古镇照片时,模型用框标记木门框、方形灯笼、泥土墙壁、鹅卵石步道等细节,最终判断是丽江或沙溪古镇。
点作为视觉原语
迷宫导航:圆形迷宫,从绿色菱形到红色标签。模型先标记起点和终点坐标,然后用类似DFS的策略逐步探索。遇到死胡同就回溯到上一个分叉点,尝试另一个方向。整个探索过程有18步,最终找到一条15个节点的有效路径。
路径追踪:一堆缠绕的彩色线条中,追踪从皇冠图标出发的品红色线。模型输出了80多个坐标点,密密麻麻地沿着曲线走,最终确认连接到章鱼图标。
## 局限性
论文坦诚地指出了三个不足:
1、受输入分辨率限制
在极细粒度场景下视觉原语的精度还不够理想。
可能的解决方向是把本文框架与现有针对"感知鸿沟"的方法(高分辨率裁剪等)结合,取长补短。
2、需要显式触发词
这样才能激活"用视觉原语思考"的能力,还不能自主判断什么时候该用。
未来目标是让模型根据具体上下文自动决定是否调用这个机制。
3、拓扑推理的跨场景泛化能力有限。
用点作为视觉原语解决复杂拓扑推理仍然是一个艰巨挑战,当前模型在训练过的迷宫和路径追踪上表现好,但更广泛的场景还需要探索。
## 这篇论文为什么重要?
回到最开始的问题。
当前多模态AI的推理过程,本质上还是在纯语言空间里进行的。
输入是多模态的(图片+文字),输出也可以是多模态的,但中间的思考过程完全是语言。
这就像一个人看着一张复杂的地图,闭上眼睛纯靠脑子里的语言描述来规划路线。
能做到,但效率低、容易出错。
这篇论文的核心贡献是:让推理过程本身也变成多模态的。
模型的思维链不再只有文字,还穿插着精确的空间坐标。
这就像睁着眼睛看地图,手指沿着路线划,嘴里同时说着"这里左转,那里右转"。
眼、手、口协同工作,效率和准确性都大幅提升。
从技术路线的角度看,业界过去几年在多模态推理上的主要投入方向是"看得更清"(更高分辨率、更多视觉Token),这篇论文提出了一个互补的方向:"指得更准"。
而且实验证明,在视觉Token用量只有其他前沿模型十分之一的情况下,光靠"指得更准"就能达到甚至超越"看得更多"的效果。
这暗示着视觉信息的利用效率还有巨大的提升空间,关键可能不在于往模型里塞多少像素,而在于怎么用好已有的信息。
从更长远的视角看,这篇论文指向了System 2多模态智能的一个重要方向。
丹尼尔卡尼曼把人类思维分为System 1(快速直觉)和System 2(慢速深思)。
当前的多模态模型在System 1层面已经很强了(看一眼图就能大致描述),但在System 2层面(需要多步推理、精确追踪、逻辑链条不断裂)还有明显短板。
论文最后一句话说得很好:通往System 2多模态智能的道路,不仅仅在于"看更多像素",更在于构建一座精确、无歧义的桥梁,连接语言与视觉世界。
译DeepSeek团队提出全新多模态推理框架“Thinking with Visual Primitives”,核心是让模型在推理过程中像人类一样,使用“点”和“边界框”这类视觉原语来指代图像中的具体位置,以此作为思维的最小单位,旨在解决语言在精确描述空间位置时的“指代鸿沟”问题。模型采用DeepSeek-V4-Flash作为语言骨干,并设计了极致的视觉Token压缩流水线,将视觉Token用量压缩至其他前沿模型的十分之一。尽管视觉信息被大幅压缩,模型在空间推理、计数等任务上仍达到或超越了GPT-5.4、Claude-Sonnet-4.6等模型的性能。