0
| 本文作者: 陳淑瑜 | 2026-05-19 16:58 | 專題:CVPR 計算機視覺與模式識別會議 |

作者丨陳淑瑜
編輯丨岑 峰
如果把過去幾年多模態(tài)大模型在STEM領(lǐng)域的進展放在一起審視,會發(fā)現(xiàn)一個相當微妙的錯位。研究者們幾乎把全部精力都押在了推理能力的提升上,強化學習、思維鏈、自我糾錯……各種花式推理策略層出不窮,模型在文本推理基準上的得分也確實在節(jié)節(jié)攀升。
但一個尷尬的事實始終擺在那里:當模型被丟進一道需要看圖才能解答的幾何題時,它依然經(jīng)常給出讓人啼笑皆非的答案。
這中間到底出了什么問題?
過去,業(yè)界習慣性地把鍋甩給“推理能力不足”,認為只要把CoO做得更長、把RL獎勵設(shè)計得更精巧,模型自然能在視覺推理任務(wù)上迎頭趕上。于是大量的工作涌向推理鏈路優(yōu)化,視覺感知端卻幾乎被當成了一個“已經(jīng)夠用”的黑箱。
但上海交通大學人工智能研究院與Qwen團隊聯(lián)合提出的CodePercept(代碼驅(qū)動的視覺感知),則給出了一個截然不同的診斷結(jié)果:
當前階段,限制大模型STEM視覺推理的真正瓶頸,并非是推理能力,而是視覺感知。

論文地址:https://arxiv.org/pdf/2603.10757
開源代碼:https://github.com/TongkunGuan/Qwen-CodePercept
這不是一個隨意的猜想。團隊的診斷方式非常系統(tǒng),他們將STEM視覺推理任務(wù)解耦為“感知”和“推理”兩個階段,分別擴展其中一個能力、同時保持另一個能力不變。結(jié)果證明,擴展感知能力帶來的性能提升,始終優(yōu)于擴展推理能力。

圖1:擴展感知優(yōu)于擴展推理
換句話說,模型的“眼神”遠比我們想象的更差,而解決“眼神差”的問題,帶來的邊際收益遠超繼續(xù)優(yōu)化“腦子”。

01
一旦確認“感知才是短板”,接下來的問題就是:如何提升感知?
一個直覺方案是:用強大的閉源模型去生成圖像描述(Caption),然后做知識蒸餾。既然GPT-5和Claude看得懂,讓它們當老師不就行了?
但研究團隊在實際操作中發(fā)現(xiàn)了一個更深層的問題:自然語言是模糊的,表達能力存在上限,很難非常精準地描述一個場景。
想象一下,你要用文字去精確描述一個三維四面體的空間結(jié)構(gòu),包括每條棱的長度、每個面的傾斜角、輔助線的空間走向。即便你用上了“位于左下角45度方向、長度為3.2cm、與水平面夾角30度”這樣精確的語言,描述依然是模糊的。因為自然語言本質(zhì)上就是為“大概意思”而生的媒介,它天然缺乏數(shù)學層面的精確性。
更致命的是,這種描述的模糊性還會在被AI生成描述的過程中進一步放大。
團隊將這個問題概括為自然語言的“描述性失語”。
但如果說自然語言是“模糊”的,那什么語言才是“精確”的?
答案是代碼。
一段Python程序畫出的幾何圖形,每個坐標都是確定的、每個參數(shù)都是可驗證的、每個空間關(guān)系都是可執(zhí)行的。
代碼不承認“差不多”,要么對,要么運行報錯。這種二值化的精確性,恰恰是STEM視覺感知最需要的。

02
基于這一洞察,研究團隊提出了一個全新的范式——CodePercept(代碼驅(qū)動的視覺感知),其核心思想可以用一句話概括:讓代碼成為視覺感知的“第二語言”。
團隊從兩個維度系統(tǒng)性地用代碼重新定義了視覺感知任務(wù):
第一個維度:代碼驅(qū)動的描述生成(Code-Grounded Caption Generation)。
傳統(tǒng)Caption生成的做法是“看圖說話”,模型看了圖,生成一句自然語言描述。但CodePercept的做法變成了“看圖→寫代碼→用代碼驗證描述”的三段式。
可執(zhí)行代碼被當作圖像描述的“絕對真理”,代碼中寫明的坐標、數(shù)量、幾何關(guān)系,無一不是對原始圖像的精確轉(zhuǎn)錄。模型通過生成可執(zhí)行的代碼來“驗證”自己對圖像的理解是否正確。
第二個維度:STEM圖像到代碼轉(zhuǎn)錄(STEM Image-to-Code Translation)
這比前一個步子邁得更大。
團隊直接引導模型學習從圖像到代碼的端到端映射,給大模型一張幾何圖,讓它直接生成能夠重現(xiàn)這張圖的Python代碼。這不是讓模型去“描述”圖,而是讓模型去“復現(xiàn)”圖。
這個任務(wù)的精妙之處在于它的可驗證性:代碼是唯一一種可以“執(zhí)行后驗證”的表達形式。你描述一張圖,沒人知道你描述得對不對;但你寫一段代碼,運行之后渲染出來的圖一比對,對就是對,錯就是錯。沒有中間地帶。
由于模型必須真正理解“觀測特征”與“代碼片段”之間的內(nèi)在映射法則,才能生成正確的重建代碼,所以這種二值化的確定性反饋,反過來又迫使模型得以建立更精確的視覺理解。

圖 2. CodePercept 的總體流程圖
Part 01:構(gòu)建高質(zhì)量圖像-代碼對 Part 02:代碼驅(qū)動的描述生成、STEM圖像到代碼轉(zhuǎn)錄 Part 03:形成 ICC-1M數(shù)據(jù)庫。

03
新范式的落地,需要與之匹配的訓練數(shù)據(jù)。但問題是,代碼驅(qū)動的視覺感知數(shù)據(jù)在現(xiàn)實中幾乎不存在,無法僅靠簡單地爬取網(wǎng)頁就得到“圖像-描述-代碼”三元組。
為此,研究團隊構(gòu)建了ICC-1M數(shù)據(jù)集,包含100萬個高質(zhì)量的三元組(Image-Caption-Code),并通過三條創(chuàng)新的合成流水線實現(xiàn)了從零到百萬的數(shù)據(jù)生產(chǎn):
第一條:圖像復現(xiàn)(Image Reproduction):將現(xiàn)有的STEM圖像精準轉(zhuǎn)化為可執(zhí)行的Python代碼。
這相當于給每張圖配上一段“源代碼”,確保代碼與圖像之間形成嚴格的對應(yīng)關(guān)系。
第二條:圖像多樣化(Image Diversity):提取種子圖像的核心STEM原理,在不改變數(shù)學本質(zhì)的前提下,通過參數(shù)變化在不同的視覺語境中重新實例化,從而生成大量視覺上不同但原理一致的新圖像。
第三條:立體幾何合成(Solid Geometry Synthesis):基于模板的立體幾何代碼生成,能夠產(chǎn)生大量包含三維空間變換、多面體交叉和輔助線體系的訓練樣本。
這三條流水線突破了當前MLLMs在立體幾何空間關(guān)系上的集體短板,也為新范式的出現(xiàn)搭建了強硬的數(shù)據(jù)底座。

圖3:從圖像復現(xiàn)到圖像多樣化到立體幾何合成

04
有了數(shù)據(jù),接下來就是訓練策略的問題。
CodePercept的獨特之處在于,它沒有簡單地在ICC-1M上做一輪SFT(監(jiān)督微調(diào))就收工,而是設(shè)計了一套兩階段漸進式訓練策略,完整覆蓋了“學會”到“精通”的全過程。
第一階段:CodePercept-S1(監(jiān)督微調(diào))
既然描述和代碼本質(zhì)上都是對同一視覺信息的表達,為什么不把“看圖寫描述”和“看圖寫代碼”當作兩個并行任務(wù)來聯(lián)合優(yōu)化?
于是,團隊在SFT階段同時優(yōu)化 Image2Caption 和 Image2Code 兩條任務(wù)路徑,讓模型在同一套視覺編碼器上建立雙通道的感知能力,既學會生成自然語言描述,也學會生成精確的復現(xiàn)代碼。
兩條任務(wù)共享視覺特征提取過程,相互促進、相互補充。
第二階段:CodePercept-R1(強化學習)
SFT能讓模型“學會”寫代碼,但離“寫對”還有距離。
原因在于,代碼生成是一個容錯率極低的任務(wù)。Caption寫錯一個數(shù),讀者大概還能猜出原意。代碼寫錯一個坐標,渲染結(jié)果就完全走樣了。
為了從“差不多對”跨越到“精準對”,團隊引入了GRPO(Group Relative Policy Optimization)強化學習,并設(shè)計了三層遞增的獎勵機制:
格式獎勵:語法必須正確,代碼至少能跑起來。
內(nèi)容執(zhí)行獎勵:運行結(jié)果必須與目標圖像在關(guān)鍵指標上匹配。
圖碼相似度獎勵:重構(gòu)圖像與原始圖像之間的感知相似度。
GRPO讓模型在不斷的自我試錯中,逐漸學會“什么樣的代碼才能精確還原圖像”。這種從SFT到RL的遞進,本質(zhì)上就是從“知道怎么干”到“知道怎么干對”的質(zhì)變。

圖4 CodePercept-S1 模型和CodePercept-R1 模型的訓練曲線

05
在傳統(tǒng)的評測體系里,感知能力往往是通過最終的解題正確率來反推模型感知好不好。但這種評估方式存在一個根本性漏洞:模型可能答對了題,但根本沒看懂圖(比如僅憑文本提示就猜出了答案),也可能看懂了圖但推錯了解題步驟。
簡而言之,傳統(tǒng)評估無法將“感知”和“推理”真正解耦。
為了解決這個問題,團隊推出了STEM2Code-Eval,這是一個包含1000張經(jīng)過人工精校圖像的感知評測基準。
它的評測邏輯簡單而苛刻:模型必須生成能夠100%還原原始圖像的Python代碼,然后用代碼渲染結(jié)果與原圖進行像素級精確度比對。
基于STEM2Code-Eval,研究團隊得以充分驗證代碼能不能跑、跑出來像不像。

圖5 STEM2Code-Eval 基準的流程
在這個基準上,團隊以Qwen3-VL為基座模型進行了全面測試,結(jié)果相當震撼:
在Captioner-Solver評測模式下,CodePercept-8B-S1僅用80億參數(shù)就超越了Qwen2.5-VL-72B(優(yōu)勢達6.2%),甚至逼近了Claude-Opus 4.1-Thinking和GPT5-Thinking這樣的閉源前沿模型。
而在純粹考查感知的圖像還原任務(wù)(STEM2Code-Eval)上,經(jīng)過強化學習優(yōu)化的CodePercept-8B-R1斬獲63.56分,全面超越了Seed 1.6-Vision和Qwen3-VL-Plus等超大參數(shù)規(guī)模的旗艦?zāi)P汀?/span>

圖 6. 在 STEM2Code-Eval 上使用 1k 樣本的性能評估
這些數(shù)據(jù)指向了一個反直覺的結(jié)論:參數(shù)的堆砌并不能彌補感知能力的缺陷,而代碼驅(qū)動的感知訓練,即使在小參數(shù)模型上,也能產(chǎn)生超越量級的感知躍遷。

06
把CodePercept放在CVPR 2026的大背景下看,它的意義遠遠不止是“又一個新SOTA”。
過去幾年,多模態(tài)大模型領(lǐng)域有一個默認的“升級路徑”,參數(shù)越做越大、數(shù)據(jù)越堆越多、推理鏈越走越長。這條路徑的隱含假設(shè)是: 視覺感知已經(jīng)足夠好了,只要能推理,就能解決問題。
但CodePercept用系統(tǒng)的實驗證據(jù)證明,這個假設(shè)可能從一開始就是錯的。當模型的“眼神”連一個簡單幾何圖形的坐標都讀不準時,再強的推理能力也無從發(fā)揮。
更值得關(guān)注的是它的方法論轉(zhuǎn)向:用代碼作為視覺感知的錨點。 這是對“視覺理解”這件事本身的重新定義。
如果視覺理解的最終目標是“能夠精確復現(xiàn)所看到的東西”,那么代碼比自然語言天然更具優(yōu)勢,因為它自帶可驗證性。
而Qwen團隊的加持,更意味著這一范式有強大的工程底座作為支撐。從Qwen3-VL的視覺編碼能力到GRPO在代碼生成場景的落地,這套技術(shù)棧的成熟度遠非一個純學術(shù)原型可比。
也許未來,更多團隊會重新審視“感知vs推理”的權(quán)重分配,更多研究者會將代碼納入視覺理解的標準工具箱。“給大模型裝上基于代碼邏輯的火眼金睛”,正在成為一條真實可行的技術(shù)路線。(雷峰網(wǎng)(公眾號:雷峰網(wǎng)))
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。