高效微調(diào)讓模型真正看圖答題)
VQA高分是在看圖還是在記答案這個(gè)問(wèn)題不是抬杠。很多視覺(jué)問(wèn)答模型在標(biāo)準(zhǔn)測(cè)試集上分?jǐn)?shù)很漂亮可一旦換掉問(wèn)題分布、遮住關(guān)鍵視覺(jué)區(qū)域、甚至把圖片換成不相關(guān)的干擾圖能力立刻縮水。這說(shuō)明一部分高分本質(zhì)上是“記住”了訓(xùn)練數(shù)據(jù)里的答案分布而不是真正理解圖片。ReKey這個(gè)方向給出的對(duì)策很直接——不要全量微調(diào)不要重新訓(xùn)練整個(gè)多模態(tài)模型只更新決定答案的那一小塊參數(shù)把模型從“背答案”拉回到“看圖答題”的路徑上。這篇文章不打算復(fù)述論文而是拆解三件事VQA評(píng)測(cè)中的高分為什么可能失真ReKey“只更新那一小塊參數(shù)”的思路到底在更新什么以及這套方法在 vqa任務(wù) 里怎么做驗(yàn)證、怎么落地。對(duì)多模態(tài)模型測(cè)評(píng)、參數(shù)高效微調(diào)和數(shù)據(jù)洞察感興趣的讀者這篇可以直接看下去。1. 核心能力速覽先給一張速覽表把這個(gè)問(wèn)題和方法的關(guān)鍵信息列清楚。能力項(xiàng)說(shuō)明研究對(duì)象VQA視覺(jué)問(wèn)答模型的高分來(lái)源與推理可靠性核心問(wèn)題模型是在看圖推理還是依賴訓(xùn)練集中答案分布的先驗(yàn)記憶方法思路ReKey只更新與答案預(yù)測(cè)直接相關(guān)的一小部分關(guān)鍵參數(shù)其余凍結(jié)主要收益降低微調(diào)成本、提升分布外泛化能力、增強(qiáng)答案決策的可解釋性適配模型多模態(tài)大模型如 Qwen3-VL 等支持視覺(jué)問(wèn)答的開(kāi)源模型更新范圍需要基于模型內(nèi)部參數(shù)重要性分析確定通常遠(yuǎn)小于全量參數(shù)批量任務(wù)支持批量評(píng)測(cè)和批量微調(diào)適合做多組對(duì)照實(shí)驗(yàn)API 能力取決于所選基座模型可用于構(gòu)建自動(dòng)評(píng)測(cè)服務(wù)落地門檻中等需要理解注意力機(jī)制、梯度分析和參數(shù)凍結(jié)操作先說(shuō)結(jié)論ReKey 這類方法的價(jià)值不在刷高分布內(nèi)分?jǐn)?shù)而在于回答“高分到底怎么來(lái)的”。如果模型離開(kāi)訓(xùn)練分布就失效那高分就是記憶偽影如果模型在圖片被干擾后仍然能正確回答才說(shuō)明它真的在“看圖”。2. VQA 評(píng)測(cè)中的“高分陷阱”2.1 什么是 VQA 任務(wù)VQA 任務(wù)全稱 Visual Question Answering要求模型輸入一張圖片和一個(gè)自然語(yǔ)言問(wèn)題輸出對(duì)應(yīng)答案。例如給一張“貓?jiān)谏嘲l(fā)上”的圖片問(wèn)“貓?jiān)谀睦铩闭_答案是“沙發(fā)上”。這看起來(lái)是典型的視覺(jué)語(yǔ)言推理任務(wù)但實(shí)際評(píng)測(cè)中有一個(gè)長(zhǎng)期存在的隱患模型可以通過(guò)語(yǔ)言先驗(yàn)來(lái)“猜答案”而不完全依賴視覺(jué)內(nèi)容。早期 VQA 數(shù)據(jù)集中很多問(wèn)題的答案分布高度偏斜。例如“球是什么顏色”這類問(wèn)題答案集中在“白色”“紅色”“黑色”等少數(shù)顏色詞問(wèn)“這是白天還是晚上”絕大多數(shù)場(chǎng)景的答案是“白天”。模型不需要仔細(xì)看圖片只要根據(jù)問(wèn)題類型從高頻答案里選一個(gè)就能拿到不低的分?jǐn)?shù)。2.2 記答案的模型長(zhǎng)什么樣“記答案”不是指模型用檢索數(shù)據(jù)庫(kù)的方式記住單個(gè)樣本而是指模型學(xué)會(huì)了利用訓(xùn)練集中的統(tǒng)計(jì)規(guī)律完成任務(wù)。在訓(xùn)練階段模型看到大量“問(wèn)題—答案”對(duì)語(yǔ)言解碼器會(huì)學(xué)到一種捷徑某些問(wèn)題模式后面往往跟著某類答案。這種捷徑在分布內(nèi)測(cè)試集上依然成立因?yàn)闇y(cè)試集和訓(xùn)練集來(lái)自同一數(shù)據(jù)分布高頻答案仍然高頻。但在真實(shí)場(chǎng)景里用戶不會(huì)按訓(xùn)練分布提問(wèn)。一旦問(wèn)題變得更具體、圖片中出現(xiàn)罕見(jiàn)組合或者答案分布反轉(zhuǎn)依賴先驗(yàn)記憶的模型就會(huì)暴露出“不看圖”的本性。2.3 為什么“分布內(nèi)高分”不能說(shuō)明模型能看圖這里有一個(gè)關(guān)鍵邏輯VQA 的高分由視覺(jué)理解和語(yǔ)言先驗(yàn)共同貢獻(xiàn)。要判斷模型是否真正看圖需要拆解這兩個(gè)貢獻(xiàn)。一個(gè)更嚴(yán)格的評(píng)測(cè)方式是改變訓(xùn)練集與測(cè)試集的答案分布使兩個(gè)分布不一致。如果模型仍然依賴訓(xùn)練分布的先驗(yàn)分布外分?jǐn)?shù)就會(huì)顯著下降如果模型主要依靠視覺(jué)推理則分?jǐn)?shù)下降幅度較小。ReKey 這類方法要解決的就是讓模型在答案分布變化時(shí)更少依賴先驗(yàn)、更多依賴圖像證據(jù)。而“只更新決定答案的那一小塊參數(shù)”本質(zhì)上是在調(diào)整模型的答案預(yù)測(cè)路徑迫使它把注意力從“記憶中的答案”轉(zhuǎn)向“圖片中的證據(jù)”。3. ReKey 的核心思路只更新決定答案的那一小塊3.1 參數(shù)不是一樣重要的現(xiàn)代多模態(tài)大模型有幾十億甚至上百億參數(shù)。但并非所有參數(shù)都參與答案決策。視覺(jué)編碼器負(fù)責(zé)提取圖像特征語(yǔ)言模型負(fù)責(zé)生成文本跨模態(tài)注意力負(fù)責(zé)將圖像信息注入文本生成過(guò)程。真正決定“最終輸出哪個(gè)答案 token”的往往是一小部分與解碼路徑直接相關(guān)的參數(shù)。ReKey 的取名很直觀Re 是重新調(diào)整Key 既指 Transformer 注意力中的 Key 矩陣也隱喻“關(guān)鍵參數(shù)”。從標(biāo)題和現(xiàn)有公開(kāi)信息來(lái)看ReKey 的核心主張是找到并只更新那些決定答案輸出的一小塊參數(shù)其余參數(shù)全部?jī)鼋Y(jié)。這樣既避免全量微調(diào)帶來(lái)的災(zāi)難性遺忘又能精準(zhǔn)糾正模型的答案偏置。3.2 “那一小塊”可以從哪里找確定“哪一小塊”是關(guān)鍵步驟。常見(jiàn)做法有三類第一類是基于梯度的重要性分析。在驗(yàn)證集上計(jì)算每個(gè)參數(shù)對(duì)答案預(yù)測(cè)損失的梯度幅值梯度大的參數(shù)通常對(duì)輸出影響更大。這類方法在剪枝和參數(shù)高效微調(diào)研究中已經(jīng)很成熟。第二類是基于注意力權(quán)重的分布分析。在 VQA 推理過(guò)程中注意力得分高度集中在某些跨模態(tài)層上。如果某些注意力頭對(duì)“問(wèn)題詞—圖像區(qū)域”的匹配起決定性作用那么這些頭對(duì)應(yīng)的 Key、Query 投影矩陣就是“決定答案的小塊”。第三類是基于 Fisher 信息矩陣。Fisher 信息衡量參數(shù)對(duì)模型輸出的信息量信息量高的參數(shù)更值得更新。通過(guò)少量樣本估計(jì) Fisher 信息然后按閾值篩選出關(guān)鍵參數(shù)子集。從工程角度這三類方法可以結(jié)合使用先用梯度或 Fisher 信息做初篩再用注意力分布做精調(diào)。篩選出的參數(shù)集合大小往往只占模型總參數(shù)的很小比例但能顯著改變答案分布。3.3 只更新小塊為什么有效因?yàn)?VQA 模型的答案偏置往往集中在最后一層輸出頭、解碼器的部分投影矩陣以及跨模態(tài)注意力中負(fù)責(zé)定位圖像證據(jù)的少數(shù)頭上。舉一個(gè)簡(jiǎn)化例子模型被問(wèn)“圖中有幾個(gè)人”它可能已經(jīng)通過(guò)語(yǔ)言先驗(yàn)學(xué)會(huì)輸出“2 人”。如果圖片中實(shí)際有 4 人模型需要調(diào)整的是將“視覺(jué)區(qū)域計(jì)數(shù)特征”映射到“答案 4”的那部分參數(shù)。這部分參數(shù)是跨模態(tài)融合后、答案分類前的映射矩陣。更新這一小塊就能讓模型在類似問(wèn)題上更尊重視覺(jué)證據(jù)。全量微調(diào)當(dāng)然也能做到但成本高、風(fēng)險(xiǎn)大容易破壞視覺(jué)編碼器已經(jīng)學(xué)好的通用表征也可能在訓(xùn)練數(shù)據(jù)較少時(shí)過(guò)擬合。ReKey 選擇的是最小必要修改這符合參數(shù)高效微調(diào)的整體趨勢(shì)。4. 技術(shù)拆解ReKey 的更新目標(biāo)與工作流4.1 整體工作流ReKey 的完整流程可以拆成五個(gè)階段基線評(píng)估在標(biāo)準(zhǔn) VQA 數(shù)據(jù)集上評(píng)測(cè)原始模型記錄分布內(nèi)分?jǐn)?shù)和分布外分?jǐn)?shù)。參數(shù)定位通過(guò)梯度或注意力分析找出對(duì)答案預(yù)測(cè)影響最大的參數(shù)子集。凍結(jié)與更新凍結(jié)其他參數(shù)只更新目標(biāo)參數(shù)塊。分布外驗(yàn)證在答案分布不同于訓(xùn)練集的測(cè)試集上對(duì)比更新前后模型的表現(xiàn)。行為分析觀察注意力熱力圖和答案分布變化確認(rèn)模型從“記答案”轉(zhuǎn)向“看圖”。4.2 與 Qwen3-VL 這類現(xiàn)代 VQA 模型結(jié)合當(dāng)前開(kāi)源 VQA 模型例如 Qwen3-VL 這類多模態(tài)大模型通常采用視覺(jué)編碼器加語(yǔ)言模型的架構(gòu)。視覺(jué) token 與文本 token 一起輸入 Transformer在每一層進(jìn)行交叉注意力計(jì)算。在這種架構(gòu)中決定答案的關(guān)鍵參數(shù)往往位于語(yǔ)言模型中最后幾層的前饋網(wǎng)絡(luò)交叉注意力層中負(fù)責(zé)“視覺(jué) token 聚合”的 Key/Value 投影輸出分類頭。ReKey 應(yīng)用到這類模型時(shí)可以先對(duì)最后一層交叉注意力做參數(shù)定位再擴(kuò)展到前饋網(wǎng)絡(luò)。得益于 Qwen3-VL 等模型的開(kāi)源權(quán)重和標(biāo)準(zhǔn)化接口用戶可以通過(guò)參數(shù)凍結(jié)操作輕松實(shí)現(xiàn)選擇性更新。4.3 為什么只更新而不是重新訓(xùn)練重新訓(xùn)練一個(gè) VQA 模型需要大量圖片-問(wèn)答對(duì)成本很高。全量微調(diào)一個(gè) 70 億參數(shù)模型單次訓(xùn)練顯存需求很大而且容易過(guò)擬合到新數(shù)據(jù)集。只更新關(guān)鍵參數(shù)塊可以將優(yōu)化器狀態(tài)、梯度計(jì)算量控制在很小的范圍內(nèi)顯存占用明顯低于全量微調(diào)。更重要的是凍結(jié)大部分參數(shù)保留了模型原有的通用視覺(jué)理解能力避免“學(xué)會(huì)了新答案、忘了舊知識(shí)”。5. 驗(yàn)證方案ReKey 是怎么證明“看圖”的5.1 分布內(nèi)測(cè)試先跑一組標(biāo)準(zhǔn) VQA 評(píng)測(cè)確認(rèn)參數(shù)更新沒(méi)有破壞模型的基礎(chǔ)能力。操作步驟準(zhǔn)備標(biāo)準(zhǔn) VQA 測(cè)試集如 VQA v2 val 集。加載 ReKey 更新后的模型使用與基線完全相同的解碼參數(shù)。統(tǒng)計(jì)整體準(zhǔn)確率和按問(wèn)題類型分組的準(zhǔn)確率。預(yù)期結(jié)果ReKey 更新后分布內(nèi)分?jǐn)?shù)不應(yīng)顯著低于基線。如果分?jǐn)?shù)大幅下降說(shuō)明定位出的參數(shù)塊可能不對(duì)或者更新步長(zhǎng)過(guò)大。5.2 分布外/先驗(yàn)反轉(zhuǎn)測(cè)試這是驗(yàn)證“記答案”還是“看圖”的核心實(shí)驗(yàn)。思路是構(gòu)造一個(gè)答案分布與訓(xùn)練集完全不同的測(cè)試集。具體可以這樣做從現(xiàn)有訓(xùn)練集中抽取圖片和問(wèn)題對(duì)每張圖片人工修改答案標(biāo)簽讓高頻答案變成低頻答案或者使用一個(gè)按不同統(tǒng)計(jì)規(guī)則構(gòu)建的數(shù)據(jù)集。更省力的方式是使用現(xiàn)成的 VQA-CP 風(fēng)格測(cè)試集。這類數(shù)據(jù)集重新劃分了訓(xùn)練集和測(cè)試集確保測(cè)試集中每種問(wèn)題類型的高頻答案與訓(xùn)練集不一致。如果模型得分從分布內(nèi)的 60 分掉到分布外的 30 分說(shuō)明它嚴(yán)重依賴先驗(yàn)如果只從 60 分掉到 50 分說(shuō)明視覺(jué)證據(jù)起到了主要作用。5.3 無(wú)圖/弱圖測(cè)試另一個(gè)簡(jiǎn)單有效的測(cè)試把圖片完全模糊或替換為全灰圖然后提問(wèn)。如果模型在無(wú)圖情況下仍然答對(duì)很多題說(shuō)明它不需要看圖片就能答題也就是在“記答案”。ReKey 更新后無(wú)圖分?jǐn)?shù)應(yīng)顯著低于有圖分?jǐn)?shù)兩者的分差變大才說(shuō)明模型越來(lái)越依賴視覺(jué)輸入。也可以用目標(biāo)遮罩測(cè)試將圖片中回答問(wèn)題的關(guān)鍵區(qū)域裁剪掉。例如問(wèn)“桌上有什么”把桌子區(qū)域遮住。如果模型仍然能答對(duì)多半是在猜如果答案變化明顯則說(shuō)明它在看圖中對(duì)應(yīng)的區(qū)域。5.4 反事實(shí)問(wèn)題測(cè)試構(gòu)造反事實(shí)問(wèn)題是檢驗(yàn)?zāi)P褪欠窭斫庖曈X(jué)語(yǔ)義的常用方法。例如圖片顯示一個(gè)紅色杯子和一個(gè)藍(lán)色盤子提問(wèn)“藍(lán)色杯子是什么顏色”。這個(gè)問(wèn)題沒(méi)有正確答案因?yàn)閳D中沒(méi)有藍(lán)色杯子。一個(gè)真正理解圖片的模型應(yīng)該回答“不存在”或“圖片中沒(méi)有藍(lán)色杯子”一個(gè)在背答案的模型可能按顏色詞頻率給出“藍(lán)色”。ReKey 的思路就是讓模型在做出最終答案前更多參考圖片中的目標(biāo)存在性證據(jù)。這一測(cè)試可以作為定性驗(yàn)證的標(biāo)準(zhǔn)用例。6. 代碼與實(shí)現(xiàn)思路這里給出一套通用實(shí)現(xiàn)思路用于將 ReKey 的選擇性參數(shù)更新應(yīng)用到自己的項(xiàng)目中。需要說(shuō)明的是如果你的項(xiàng)目已有現(xiàn)成實(shí)現(xiàn)請(qǐng)以官方代碼為準(zhǔn)下面代碼是用于理解機(jī)制的可運(yùn)行模板。6.1 參數(shù)定位用梯度幅值篩選關(guān)鍵參數(shù)import torch from transformers import AutoModelForVision2Seq, AutoProcessor model AutoModelForVision2Seq.from_pretrained(your-vqa-model) processor AutoProcessor.from_pretrained(your-vqa-model) # 構(gòu)造少量樣本用于重要性估計(jì) inputs processor(imagesimage_list, textquestion_list, return_tensorspt) # 前向計(jì)算loss loss model(**inputs).loss # 計(jì)算每個(gè)參數(shù)的梯度 loss.backward() # 按梯度幅值篩選關(guān)鍵參數(shù) param_importance {} for name, param in model.named_parameters(): if param.grad is not None: param_importance[name] param.grad.abs().mean().item() # 選取梯度幅值最大的前 1% 參數(shù) threshold sorted(param_importance.values(), reverseTrue)[len(param_importance) // 100] key_params {name for name, score in param_importance.items() if score threshold} print(Key parameters count:, len(key_params))注意這段代碼只做參數(shù)定位不涉及訓(xùn)練。實(shí)際使用時(shí)需要根據(jù)模型結(jié)構(gòu)調(diào)整。6.2 凍結(jié)參數(shù)并只更新關(guān)鍵參數(shù)塊# 凍結(jié)所有參數(shù) for param in model.parameters(): param.requires_grad False # 僅解鎖關(guān)鍵參數(shù) for name, param in model.named_parameters(): if name in key_params: param.requires_grad True optimizer torch.optim.AdamW( [param for name, param in model.named_parameters() if param.requires_grad], lr1e-5 ) # 訓(xùn)練循環(huán) for batch in dataloader: inputs processor(imagesbatch[image], textbatch[question], return_tensorspt) outputs model(**inputs, labelsbatch[answer]) loss outputs.loss loss.backward() optimizer.step() optimizer.zero_grad()6.3 分布外評(píng)測(cè)腳本def evaluate(model, dataset): model.eval() correct 0 total 0 with torch.no_grad(): for sample in dataset: inputs processor( imagessample[image], textsample[question], return_tensorspt ) output_ids model.generate(**inputs, max_new_tokens10) pred processor.decode(output_ids[0], skip_special_tokensTrue) if pred.strip().lower() sample[answer].strip().lower(): correct 1 total 1 return correct / total分布外評(píng)測(cè)需要單獨(dú)準(zhǔn)備數(shù)據(jù)集建議把原始 VQA 測(cè)試集按問(wèn)題類型分成多個(gè)子集逐個(gè)統(tǒng)計(jì)準(zhǔn)確率這樣能更清楚地看到模型在哪些問(wèn)題類型上依賴記憶。7. 資源占用與工程觀察7.1 顯存與內(nèi)存觀察方法ReKey 這類選擇性更新的優(yōu)勢(shì)主要體現(xiàn)在訓(xùn)練階段。由于只有一小部分參數(shù)需要計(jì)算梯度和更新優(yōu)化器狀態(tài)顯存占用通常遠(yuǎn)低于全量微調(diào)。但具體數(shù)字取決于基座模型參數(shù)量、關(guān)鍵參數(shù)占比、批量大小和輸入圖像分辨率。觀察方式開(kāi)啟torch.cuda.set_per_process_memory_fraction限制顯存上限使用nvidia-smi觀察訓(xùn)練前后顯存占用對(duì)比全量微調(diào)和只更新關(guān)鍵參數(shù)塊兩種情況下的顯存峰值。7.2 推理階段的額外開(kāi)銷ReKey 更新后推理階段的額外開(kāi)銷幾乎為零。參數(shù)凍結(jié)不影響模型前向速度關(guān)鍵參數(shù)塊更新也不改變推理時(shí)延。因此該方法很適合部署到實(shí)際 VQA 服務(wù)中不犧牲線上性能。7.3 如何降低資源占用如果資源緊張可以從幾個(gè)方向優(yōu)化降低訓(xùn)練圖像的分辨率減小梯度估計(jì)使用的樣本數(shù)量使用 AdamW 的 8-bit 優(yōu)化器版本選擇參數(shù)量更小的開(kāi)源 VQA 基座模型將參數(shù)定位和訓(xùn)練分成兩個(gè)階段避免同時(shí)加載過(guò)多數(shù)據(jù)。7.4 端口沖突與進(jìn)程殘留如果使用 API 服務(wù)方式啟動(dòng)模型注意端口占用問(wèn)題。常見(jiàn)排查方法啟動(dòng)前用lsof -i:port檢查端口或者讓服務(wù)自動(dòng)選擇空閑端口。訓(xùn)練中斷后及時(shí)清理遺留的 Python 進(jìn)程避免 GPU 顯存被占用不釋放。8. 常見(jiàn)問(wèn)題與排查方法問(wèn)題現(xiàn)象可能原因排查方式解決方案參數(shù)定位后模型性能大幅下降篩選出的參數(shù)塊過(guò)大或過(guò)小查看被解鎖參數(shù)的數(shù)量和所在層降低篩選比例或按注意力重要性加權(quán)篩選分布外分?jǐn)?shù)沒(méi)有提升更新目標(biāo)沒(méi)有命中答案偏置參數(shù)檢查答案 token 對(duì)應(yīng)的輸出層是否被更新擴(kuò)大參數(shù)范圍加入最后一層輸出頭訓(xùn)練后分布內(nèi)分?jǐn)?shù)下降學(xué)習(xí)率過(guò)大或更新步數(shù)過(guò)多查看訓(xùn)練 loss 曲線降低學(xué)習(xí)率增加早停無(wú)圖分?jǐn)?shù)仍然很高模型依賴語(yǔ)言先驗(yàn)未被糾正檢查是否真正凍結(jié)了語(yǔ)言模型的大部分參數(shù)增加解碼器關(guān)鍵層的更新范圍顯存不足圖像分辨率高或批量過(guò)大觀察顯存占用日志降低批量大小或圖像分辨率API 調(diào)用超時(shí)模型加載慢或單次推理時(shí)間長(zhǎng)查看服務(wù)日志和耗時(shí)統(tǒng)計(jì)預(yù)熱模型增加超時(shí)時(shí)間批量評(píng)測(cè)卡住數(shù)據(jù)加載線程被阻塞檢查數(shù)據(jù)集路徑和圖片格式改用小批量調(diào)試逐步擴(kuò)展到全量9. 最佳實(shí)踐與使用建議第一先跑通基線。所有實(shí)驗(yàn)都要有基線對(duì)照。分布內(nèi)分?jǐn)?shù)、分布外分?jǐn)?shù)、無(wú)圖分?jǐn)?shù)三組數(shù)據(jù)放在同一張表里才能看出 ReKey 是否真正改變模型的推理行為。第二參數(shù)篩選比例要克制。從 0.1% 到 1% 的比例開(kāi)始嘗試觀察測(cè)試集表現(xiàn)。如果 0.1% 的參數(shù)就能改變分布外分?jǐn)?shù)說(shuō)明確實(shí)定位準(zhǔn)確如果無(wú)效再逐步擴(kuò)大范圍。第三驗(yàn)證集和測(cè)試集要分離。參數(shù)重要性分析不能直接在最終測(cè)試集上做否則相當(dāng)于把測(cè)試集信息泄露進(jìn)訓(xùn)練過(guò)程。建議從訓(xùn)練集中再切分一個(gè)小的驗(yàn)證集用于參數(shù)定位。第四注意數(shù)據(jù)合規(guī)和隱私邊界。VQA 模型可能需要處理包含人臉、車牌、個(gè)人物品的圖片。部署評(píng)測(cè)服務(wù)時(shí)要確保數(shù)據(jù)使用獲得授權(quán)避免在未經(jīng)允許的情況下分析他人圖片內(nèi)容更不能把真實(shí)用戶圖片隨意上傳到外部公開(kāi)接口。第五面向真實(shí)場(chǎng)景時(shí)要構(gòu)建自己的測(cè)試集。公開(kāi)數(shù)據(jù)集只能說(shuō)明模型在基準(zhǔn)上的表現(xiàn)真實(shí)業(yè)務(wù)場(chǎng)景中的問(wèn)題分布和圖片來(lái)源千差萬(wàn)別。上線前必須用真實(shí)采樣數(shù)據(jù)做一輪“看圖 vs 記答案”的對(duì)照測(cè)試。第六關(guān)注可解釋性輸出。ReKey 的價(jià)值在于揭示模型決策依據(jù)部署時(shí)可以集成注意力熱力圖展示功能讓使用者直觀看到模型回答問(wèn)題時(shí)重點(diǎn)看了圖片的哪些區(qū)域。這既方便效果評(píng)估也便于向業(yè)務(wù)方解釋模型行為。10. 總結(jié)與下一步ReKey 最值得嘗試的一點(diǎn)是它提供了一條低成本的模型糾偏路徑。相比重新訓(xùn)練一個(gè) VQA 模型或者用全量微調(diào)來(lái)消除答案偏置只更新決定答案的那一小塊參數(shù)明顯更輕量、更可控。它把“模型的答案從哪里來(lái)”這個(gè)問(wèn)題從不可解釋的端到端黑盒變成了可以定位、可以驗(yàn)證的參數(shù)子集分析。最先應(yīng)該驗(yàn)證的功能是分布外測(cè)試。不要只盯著標(biāo)準(zhǔn)測(cè)試集分?jǐn)?shù)看一定要制作一份答案分布與訓(xùn)練集不同的測(cè)試集對(duì)比 ReKey 更新前后的分?jǐn)?shù)變化。這個(gè)實(shí)驗(yàn)?zāi)苤苯踊卮饦?biāo)題里的問(wèn)題VQA 高分是在看圖還是在記答案。最容易踩的坑是參數(shù)定位不準(zhǔn)確。如果更新的參數(shù)塊沒(méi)有覆蓋到答案偏置相關(guān)的路徑訓(xùn)練后大概率沒(méi)有任何改善。建議從輸出頭和最后幾層交叉注意力開(kāi)始定位不要一開(kāi)始就修改視覺(jué)編碼器。后續(xù)可以擴(kuò)展的方向包括把 ReKey 應(yīng)用于更多多模態(tài)任務(wù)如圖文檢索、視覺(jué)指代理解結(jié)合 LoRA 系列方法做組合微調(diào)或者把“參數(shù)重要性分析 選擇性更新”做成自動(dòng)化流水線降低使用門檻。對(duì)于已經(jīng)落地 VQA 服務(wù)的團(tuán)隊(duì)這套方法論也可以直接轉(zhuǎn)化為上線前的模型體檢工具。建議收藏備用。下次跑 VQA 模型時(shí)先問(wèn)一句這個(gè)高分是看圖看出來(lái)的還是背答案背出來(lái)的