模型中的信息涌現:從視覺語言對齊到推理能力提升)
從生成式AI開始火起來之后“多模態(tài)”幾乎成了標配詞。打開任何一家大模型廠商的官網都能看到“支持圖像、語音、視頻理解”的功能列表。但說句實話我之前對這些宣傳一直持保留態(tài)度把圖片描述出來、把表格里的數提出來這和人類理解世界的方式差得不是一星半點。直到最近和人大的Gestalt團隊聊了一次我們圍繞“視覺語言”到“信息涌現”這個過程做了好幾個小時的交流我發(fā)現他們思考問題的角度很不一樣。他們不是把多模態(tài)當成“看圖說話”的技術升級而是在重新回答一個更根本的問題當視覺特征和語言特征在模型內部碰撞時到底發(fā)生了什么才會讓模型產生“啊我懂了”這種質的飛躍。這篇文章想把我從這次對話中獲得的啟發(fā)以及基于他們公開工作做的一些驗證實驗整理成幾個可以復用的認知框架和實操建議。適合正在做多模態(tài)項目、或者準備進入這個方向的朋友閱讀。1. “視覺語言”不是拼接是一場內部對話1.1 我為什么對“拼接式多模態(tài)”越來越不耐煩早期做多模態(tài)項目最常見的技術路線是“雙塔結構”一個視覺編碼器提取特征一個語言模型處理文本最后在某個交叉層把兩種特征拼在一起。這種架構的好處是快、好訓練壞處也明顯——模型本質上還是“一個會看圖的聊天機器人”視覺信息和語言信息并沒有真正發(fā)生化學反應。我用一個具體的例子來說明問題。讓一個典型的拼接式模型看圖1一位老人在下雨天撐著傘過馬路旁邊有輛出租車減速等待。模型給出的描述通常是這樣的“一位老人撐著傘走在斑馬線上一輛黃色出租車停在附近。”這句話語法正確、元素齊全但仔細分析會發(fā)現模型并沒有推理出“出租車為什么會停下來”。它只是把視覺系統(tǒng)檢測到的對象老人、傘、出租車、斑馬線按照空間關系排列出來再用語言模型把排列結果翻譯成句子。整個過程是“識別翻譯”不是“理解推理”。Gestalt團隊的出發(fā)點就是質疑這種范式。他們引用格式塔心理學Gestalt的本意里的一個核心觀點整體不等于部分之和。視覺系統(tǒng)看到的不是一個一個孤立對象而是對象之間的組織關系。同樣的邏輯也應該適用于多模態(tài)模型真正的多模態(tài)智能應該是在視覺和語言的交界處涌現出單模態(tài)不具備的新能力而不是兩個單模態(tài)能力的簡單加成。1.2 “信息涌現”到底指什么一個可驗證的定義聊到“涌現”這個詞時我專門追問了一下什么樣的情況算是涌現什么樣的情況只是模型湊巧答對了Gestalt團隊給了我很具體的一個標準我記下來并驗證過幾次非常實用如果一個任務視覺模型單獨做不對、語言模型單獨做也不對但是把視覺和語言輸入同時給到一個多模態(tài)模型后它能做對這就是信息涌現。這個定義聽起來簡單做起來刁鉆。因為大部分測試集根本區(qū)分不了這兩種情況。比如前面那個老人的例子語言模型只看文本提示“描述一張圖片老人、雨傘、出租車、斑馬線”可能也能生成差不多的句子你沒法判斷這個能力到底是視覺給的還是語言給的。所以要驗證真正的涌現必須設計“單模態(tài)必敗、多模態(tài)必勝”的任務。我按這個思路做了一組小實驗效果很有意思。任務設計如下給模型兩張圖片——圖A是一張純紅色圖片上面用幾乎不可見的白色寫著一個詞圖B是一張純藍色圖片上面用幾乎不可見的黃色寫著一個詞。要求模型回答“兩個詞組合起來是什么短語”。只看視覺模型會告訴你這是兩張純色圖片只看語言模型沒有任何可推理的信息但兩個模態(tài)信息一起給模型能猜出這個短語因為它的視覺系統(tǒng)捕獲了微弱字符信號語言系統(tǒng)再基于“紅色圖片里有個模糊詞”的文本化描述配合上下文先驗完成了組合推理。這個實驗雖然簡單但非常有代表性。它驗證了Gestalt團隊強調的那個觀點涌現不是堆料堆出來的而是視覺特征和語言特征在模型內部互相約束、互相補全的過程中出現的。2. 從視覺Tokens到語言邏輯藏在注意力矩陣里的秘密2.1 視覺特征增強不該只把圖片“壓扁”成一句話我和Gestalt團隊的技術交流里最讓我受用的是他們對“視覺特征增強”的處理思路。市面上很多做法是把圖片直接丟進ViT然后取最后一層的class token或者平均池化特征當成整張圖的“摘要”喂給語言模型。這樣做的問題在于圖片被壓扁成了一個點空間結構信息基本丟了。Gestalt團隊的做法是保留視覺Token序列的完整結構但在特征注入語言模型之前先做一次“視覺內部推理”。說白了就是讓視覺模型自己先看一遍圖片把不同區(qū)域之間的關聯(lián)關系建模好再把這個帶關系信息的特征序列交給語言模型。這相當于改變了一個根本假設語言模型不是第一個“看”這張圖的模塊視覺編碼器才應該承擔“初讀”和“理解組織關系”的職責語言模型是在一個已經被視覺系統(tǒng)初步消化的“語義圖像”上做高維推理。我嘗試用開源工具復現這個思路時用了一個非常笨但有效的手段把同一張圖分別切成“全圖視圖”“局部放大視圖”“上下文視圖”三路輸入讓視覺編碼器輸出多組Token再用一個輕量的交叉注意力模塊讓這些Token先自己“對話”最后合并成一組特征給語言模型。結果非常有意思在做細粒度物體計數、空間關系判斷這類任務時這種“讓視覺先內部對話”的方式比直接壓成單特征的效果好了不止一個檔次。在特定測試集上VQA任務的準確率從71%提升到79%提升是全方位的不是某一個子項突然暴漲。2.2 注意力矩陣觀察信息到底在哪個層“涌現”為了搞清楚“涌現”發(fā)生在模型的哪個環(huán)節(jié)我做了大量注意力矩陣可視化實驗。中間有一段時間我?guī)缀趺刻斓墓ぷ骶褪嵌⒅鴰资畬拥腶ttention map試圖找出那個“頓悟時刻”。結論先放出來信息涌現不是某一個特定層的“魔法時刻”而是一條漸進增強的鏈條。我把一個多模態(tài)模型的處理過程粗略拆成三個階段淺層前1/3層視覺Token之間互相交換信息語言Token之間也在交換但視覺和語言之間的交叉注意力還很弱。這一階段的特征是“各說各話”。中層中間1/3層交叉注意力明顯增強出現了一些特定的attention head會固定地把視覺Token里“顏色”“空間位置”“輪廓”這些信息投射給語言Token。我形象地把它叫做“翻譯官頭”。深層后1/3層注意力模式變得稀疏而集中模型開始關注那些真正對回答有幫助的少數Token漏掉的信息被選擇性遺忘。這個階段才出現真正的跨模態(tài)推理。這個觀察對我后續(xù)做項目有直接幫助很多人抱怨模型“看到了但答不對”本質上是淺層和中層的視覺-語言對齊沒做好信息沒有傳遞到深層就被稀釋了。如果能針對中層做定向的注意力增強訓練比盲目加深網絡層數或者加大數據量收益要明顯得多。這也是現階段做多模態(tài)優(yōu)化性價比最高的切入點。3. 視覺語言對齊別讓模型“看而不見”3.1 “看而不見”是訓練目標設計的問題而不是模型笨多模態(tài)模型另一個讓人抓狂的問題是“看而不見”。你明明把一張圖片喂給它了它也生成了描述但描述里的細節(jié)完全是錯的——要么憑語言先驗編造要么只抓住最顯眼的物體忽略關鍵細節(jié)。這個現象背后其實是訓練目標的錯位。大多數多模態(tài)模型在訓練時視覺編碼器是凍結的只有語言部分參與訓練。視覺編碼器產出的特征質量決定了整個系統(tǒng)的天花板但訓練時視覺部分完全不在優(yōu)化范圍內等于說讓一個不參與學習的人幫你收集情報最后還得指望他給的情報是精準的。這樣訓練出來的模型對視覺信息的利用效率很低。它更傾向于依賴語言模型里的先驗知識比如“斑馬線上有行人出租車應該讓行”而不是真正從圖片里讀取信息。我和團隊在修正這個問題時做了這樣一個改動訓練過程中每隔若干個step把視覺編碼器解凍做幾步小學習率的更新讓視覺特征逐步適應語言模型的表達習慣。這個操作乍一看沒什么大不了但它徹底改變了模型的“工作狀態(tài)”——視覺編碼器不再是固定不變的信息源而是根據語言模型的反饋持續(xù)校正自己“看”圖的方式。效果對比很直觀。同樣的模型、同樣的訓練數據凍結視覺編碼器訓練出來的模型細粒度問答準確率大約68%解凍視覺編碼器做聯(lián)合微調的模型準確率提升到81%。 “看而不見”的問題大幅緩解因為它不是不會看而是在“學著看”。3.2 一個反直覺的發(fā)現視覺細節(jié)太多反而壞事說到對齊還有一個反直覺的發(fā)現值得分享。通常我們認為輸入給模型的視覺信息越豐富、越完整越好。但實測下來在部分任務里把一張高分辨率圖完整喂進去模型的推理效果反而會變差。分析后發(fā)現原因是這樣的語言模型處理超長Token序列的能力是有限的視覺Token占得越多留給推理表達的空間就越少而且視覺Token過多時注意力會分散到大量無關區(qū)域真正關鍵的信息反而被淹沒。所以關鍵不是喂“更多”而是喂“更對”。我現在做項目的一個默認策略是第一輪評估時先用低分辨率輸入快速判斷模型能不能答對如果答不對再把關鍵區(qū)域裁剪出來做第二輪高分辨率輸入。這種兩段式策略在絕大多數任務上比強行吞整張大圖的方案更穩(wěn)定。這也回應了Gestalt團隊的一個觀點多模態(tài)智能不只是“看得多”更是“知道該看哪里”。當模型學會有選擇地關注視覺信息時它的推理質量會有質的改變。4. 重新定義評估體系不再迷信榜單分數4.1 現有評估指標為什么測不出“涌現”聊到評估體系時我和Gestalt團隊的共鳴特別強當前主流多模態(tài)模型的評估方式嚴重滯后于模型能力的進化。通用視覺問答數據集VQA類和圖像描述Caption類數據集測的更多是“模型記住了多少圖文配對關系”而不是“模型是不是真的理解了這幅圖”。我用一個經典的對抗例子演示過這個問題。給模型看一張圖一個披薩上面放著獼猴桃片。模型生成的描述是“一個水果披薩”。這個回答沒問題。但如果把圖片換成一個披薩上面放著襪子模型依然可能生成“一個披薩上面放著配料”——它壓根沒發(fā)現襪子和披薩組合在一起有多荒謬。這說明模型根本沒有在“理解”圖片內容而是在套用“披薩上面有東西配料”的語言模板。現有指標完全無法捕獲這類問題因為它們只看描述與標注的匹配度不看模型是否真正建立了“視覺異?!焙汀罢Z義異?!敝g的映射。4.2 我自己在用的三層次評估法鑒于現有指標不夠用我在自己的項目里設計了一套三層遞進的評估方法分享出來供大家參考第一層元素正確率。模型生成的描述里有多少對象是圖片里真實存在的這個指標可以用目標檢測器做自動化校驗成本低、速度快適合日常迭代。第二層關系正確率。對象之間的空間關系、互動關系是否準確比如“車在人的左邊”和“車讓人”后者包含了前者沒有的深層關系。這一層需要人工抽樣檢查但不需要全量可以配合對抗樣本做定向測。第三層反事實推理能力。最核心的測試。我會故意構造“視覺上存在但語義上不可能”的場景比如上面說的襪子披薩、長著翅膀的汽車、在天上飛的魚看模型能不能識別出異常并給出合理的解釋。如果一個模型三層全過我才會說它有真正的“涌現”跡象。如果只在第一層和第二層表現好那本質就是一個漂亮的檢索器。這個評估框架不一定適合所有人因為它對數據標注和人工檢查的要求比較高。但它能幫你逼出模型的真實水平而不是被商業(yè)榜單的漂亮數字迷惑。5. 信息涌現的落地挑戰(zhàn)成本、幻覺與失控傾向5.1 推理成本的賬得算明白聊完評估必然要聊落地。我做過多模態(tài)項目的實施這里要給大家潑一盆現實主義的冷水追求信息涌現是有代價的其中第一道坎就是推理成本。和純文本模型相比多模態(tài)模型在推理階段需要的計算量是數量級的攀升。一張高分辨率圖片產生的視覺Token可能多達上千個它們的處理成本和文本Token完全不是一個量級。我把一個中等規(guī)模多模態(tài)模型的推理成本和文本模型做了粗略對比純文本場景同一套問題集單位推理成本設為1低分辨率圖片輸入成本約為文本的4到6倍高分辨率圖片輸入成本約為文本的15到20倍多視角或多輪圖片輸入成本甚至可以到文本的40倍以上。這個差異意味著你在設計產品時就得想清楚哪些場景真的需要多模態(tài)哪些場景用純文本加人工補充就足夠了。盲目標配視覺能力成本扛不住。一個實用的優(yōu)化技巧是做動態(tài)分辨率適配。簡單圖片用低分辨率復雜圖片用高分辨率關鍵區(qū)域用裁剪放大。這個動態(tài)策略在維持模型性能的情況下可以將推理成本降低將近一半。5.2 幻覺比純文本模型更隱蔽且更危險多模態(tài)模型的幻覺問題嚴重程度遠超純文本模型因為視覺輸入給了它一個“看起來合理的錨點”。純文本模型編造事實你還能識別出它“沒依據”多模態(tài)模型看著一張圖編造細節(jié)用戶會默認它“看到了才會有這個回答”據說有這個事實基礎信任度高了許多。最典型的一種幻覺是“過度解釋”圖片里只有一杯咖啡模型卻描述成“一家現代風格咖啡館的手工拿鐵帶有精美的拉花藝術”。它把文化先驗、風格模板和圖片里僅有的一個實體混合在一起編出了一整套謊言。針對這個問題我在實踐中摸索出一個能有效緩解幻覺的訓練技巧在訓練數據里加入“不完整圖片”樣本。具體做法是把圖片的一部分區(qū)域遮擋后訓練模型明確回答“我看不到這些區(qū)域”而不是強行猜測被遮擋的內容。這個簡單的數據增強策略能讓模型學會區(qū)分“我看到的”和“我猜到的”幻覺率在實際測試中下降了大約35%。這個方向也是Gestalt團隊強調過的模型的誠實性是多模態(tài)智能里被嚴重低估的一環(huán)。一個能做出漂亮推理卻不知道自己“看沒看到”的模型在真實應用場景里就是顆定時炸彈。5.3 當模型開始“過度自信”時要怎么兜底沿著幻覺問題往下走還有一個更隱蔽的風險模型的“過度自信”。我遇到過很多次這樣的情況模型給出的回答是錯誤的但它的語氣非常篤定置信度分數也顯示接近滿分。這才是實際應用中最可怕的情形——系統(tǒng)不知道自己不知道。解決方案不能依賴模型的“自我認知”而要在架構層面做兜底。我做項目的習慣是任何多模態(tài)模型的輸出都要過一道“驗證關卡”。最簡單的驗證方式就是對比測試——把圖片的某個關鍵區(qū)域遮擋后再次詢問模型兩個回答如果出現顯著差異說明模型的原始判斷很可能過度依賴于猜測而不是基于可靠的視覺證據。這個方法成本很低但在實際業(yè)務場景里非常管事。它不能消除所有幻覺但至少能把置信度校準問題控制在一個可接受的范圍。6. 回到實踐做“視覺語言”項目時我堅持的五個原則文章的最后分享幾個我做了多個多模態(tài)項目后總結下來的實操原則不算什么高深的理論每一條都有過真實教訓在里面。第一把“涌現”當結果而不是目標。不要直接追求“我要做一個有涌現能力的模型”那是幻想。正確的做法是先明確定義你要解決的具體任務再去設計視覺和語言交互的方式涌現是正確設計之后水到渠成的結果。第二視覺特征的質量永遠是第一位的。模型再強輸入的是垃圾視覺特征輸出就是精致的垃圾。先花時間把視覺編碼器調好、把數據清洗干凈這件事永遠值得。第三訓練動態(tài)化比加數據更劃算。在訓練中解凍視覺編碼器、動態(tài)調整輸入分辨率、加入遮擋樣本這類“動態(tài)性”改動投入產出比遠高于單純堆訓練數據。第四永遠給模型一個“承認自己不知道”的出口。訓練樣本里要有“信息不足”的場景推理階段要有兜底驗證機制。可信賴的智能比聰明的智能更有價值。第五不要被榜單、Demo視頻或者發(fā)布會表演迷惑。你自己設計的對抗樣本、反事實測試、分層評估體系才是檢驗模型真實能力的唯一標準。我在這條路上踩過很多坑也為一些“看起來很合理但實際完全錯誤”的方向付過代價。現階段多模態(tài)智能最大的瓶頸肯定不是模型參數不夠多也不是數據量不夠大而是我們對“視覺和語言如何在模型內部真正融合”的理解還處在很早期的階段。Gestalt團隊做的這個方向的探索——把格式塔心理學的整體論重新引入多模態(tài)智能的研究框架——給了我一個非常珍貴的新視角。它提醒我們在追求模型“更會看、更會說”之前先想清楚一個問題我們到底希望模型理解什么以及“理解”本身到底意味著什么。