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