裁判吹響哨子的那一刻,你會盯著哪裡?
如果你正在看一場足球比賽的回放,有人問你:"哨響之後,裁判做了什麼手勢?"你的注意力會立刻從"哨子響的那一秒"跳到"裁判舉手的那一秒"。這兩個瞬間在時間軸上根本不重疊。聲音的關鍵資訊在前面,畫面的關鍵資訊在後面。
這聽起來是句廢話,人本來就是這樣看影片的。但如果你要設計一個AI模型,讓它同時處理影片裡的畫面和聲音,這句"廢話"就變成了一個技術難題。因為現在幾乎所有的做法,都假設畫面和聲音的"重要時刻"應該是一致的。
這篇論文要講的,就是研究者們發現了這個假設是錯的,並且找到了一個不需要重新訓練模型的解決辦法。
影片AI的"內存爆炸"難題
先說說為什麼這件事非解決不可。
現在能同時理解影片和音頻的AI模型,行話叫**全模態大語言模型
**
全模態大語言模型:一種可以同時處理視覺、聽覺和文字三種資訊的AI模型,比如阿里的Qwen2.5-Omni,能一邊"看"影片一邊"聽"聲音,然後回答關於這段影片的問題
這類模型的工作方式是,把影片拆成一幀一幀的畫面,把音頻拆成一段一段的聲波,分別塞進兩個不同的"翻譯器"里,翻譯成AI能理解的**token
**
Token:可以理解成AI處理資訊的最小單位,一段文字、一幀畫面、一小段聲音,經過編碼後都會變成一串token,模型就是靠處理這些token序列來"理解"內容的
問題來了:影片越長,token就越多。一部十分鐘的影片,可能產生幾萬個token,這些token全部要塞進AI的"注意力計算"里,計算量會隨著token數量的增加而急劇膨脹。這不僅讓模型跑得慢、吃顯存,還會讓真正重要的資訊被大量無關token"稀釋",導致模型在長影片裡抓不住重點。
於是"token壓縮"就成了繞不開的一環,思路很直接:既然很多token是冗餘的,能不能提前把它們篩掉或者合併掉,只留下真正有用的?
在純視覺領域,這個方向已經研究得比較成熟了,有不少方法能把圖片或影片裡的冗餘視覺token砍掉一大半而不影響準確率。但音頻和影片要一起壓縮,這個組合題目前研究得還很少。
現有的少數幾個方案,採用的是一種叫"單向跨模態引導"的策略。簡單說就是:讓一個模態說了算,由它來決定另一個模態該保留哪些token。比如OmniZip
這個方法,就是用音頻的重要性評分,去指導影片token怎麼砍。
這個思路聽起來挺合理,聲音里說了"進球了",那畫面上進球那一刻的幀當然更重要嘛。但研究者們做了個實驗,發現這個假設經常是不成立的。
78.3%的樣本里,眼睛和耳朵根本不在同一個頻道
研究團隊找來1197對"問題-影片"樣本,分別用CLIP(負責視覺評分)和CLAP(負責音頻評分)去計算,針對同一個問題,影片每一幀的重要性分數,以及音頻每一秒的重要性分數。
CLIP:一種能同時理解圖片和文字的AI模型,能計算一張圖和一句話的"匹配程度",分數越高說明這張圖跟這句話越相關
CLAP:跟CLIP類似,只不過CLIP處理的是"圖片+文字",CLAP處理的是"聲音+文字",用來判斷一段音頻和一句話的相關程度
結果算出來的斯皮爾曼相關係數,78.3%的樣本,視覺重要性曲線和音頻重要性曲線之間的相關性都很弱(相關係數絕對值小於0.3)。
這個數字什麼概念?相關係數接近0,意味著"影片裡最重要的那一刻"和"音頻里最重要的那一刻"幾乎是兩條互不相干的曲線,誰也預測不了誰。換句話說,絕大多數情況下,靠一個模態去猜另一個模態的重點,基本等於瞎猜。
這就是論文裡說的"跨模態顯著性錯位
"。如果你只用音頻的重要性去決定該留哪些影片幀,那些音頻聽起來平平無奇、但畫面上恰好在做關鍵動作的瞬間,很可能被直接砍掉。反過來也一樣。
論文開頭舉的那個例子特別形象:裁判吹哨之後打手勢判罰,問題是"哨響後裁判做了什麼手勢"。聲音的高潮在哨聲那一刻,畫面的高潮在打手勢那一刻,兩者錯開了好幾秒。如果用音頻引導影片壓縮,哨聲附近的畫面幀會被留下來,但真正回答問題所需要的"打手勢"那一幀,很可能因為音頻當時很安靜而被判定為不重要,直接刪掉。答案就這麼丟了。
這就像什麼呢?
想像你在整理一場婚禮的照片和錄音,你打算用錄音的"熱鬧程度"來決定留哪些照片。錄音里最熱鬧的時刻是賓客碰杯歡呼那一段,於是你把那幾分鐘的照片全部保留了下來。可新人交換戒指的那一刻,現場安靜得只有主持人的聲音,錄音波形平平無奇。如果按錄音熱鬧程度去篩照片,交換戒指這張最該保留的照片反而最容易被漏掉。你留下的是熱鬧,丟掉的是重點。這不是一個抽象的比喻,這就是單向引導壓縮的真實代價:它優化的是"某一個模態自己覺得重要的東西",而不是"這個問題真正需要的東西"。
壓縮之後,注意力去哪兒了
研究者沒有止步於發現問題,他們還往深挖了一步:壓縮到底會對模型內部產生什麼影響?
他們跑去看了Qwen2.5-Omni-3B模型內部的注意力分布圖(就是模型在處理資訊時,"看"哪裡更多、"看"哪裡更少的可視化圖)。結果發現一個很有意思的現象:在沒有壓縮、全token都保留的情況下,模型的注意力幾乎全部集中在"局部時間窗口"內部,也就是說,模型主要在看"當前這一小段時間"里的畫面和聲音,很少去關聯更遠的時間窗口,跨模態(畫面看聲音、聲音看畫面)的關聯也很弱。
但是一旦做了隨機壓縮,把每個時間窗口裡的token數量減少,情況就變了:**跨窗口的注意力和跨模態的注意力都明顯增強了**。
這個發現很關鍵。它說明壓縮本身不是壞事,反而能激發模型去做更大範圍的資訊關聯,本來窩在自己一小塊地盤裡的注意力,被逼著往外看了。問題在於,如果之前用單向引導壓縮,把關鍵token錯誤地刪掉了,那這股被激發出來的"往外看"的注意力,就會被導向錯誤的、次要的資訊上去,因為真正重要的線索已經不在了。
而如果每個模態各自保留自己跟問題最相關的token,這股被壓縮激發出來的注意力,就會自然而然地落在兩邊真正重要的線索上。
這就是整篇論文最核心的設計原則:**用同一個問題作為兩個模態共享的語義錨點,但讓每個模態各自獨立判斷自己該留哪些token,不要互相指揮。**
OmniScope:讓畫面和聲音各自評分,互不干涉
基於上面的發現,研究團隊提出了一個叫**OmniScope**的壓縮框架。
OmniScope:這篇論文提出的方法名,一個不需要額外訓練的、把音頻和影片壓縮過程"解耦"(也就是分開處理)的token壓縮框架,專門用於全模態大語言模型的推理加速
它的整體思路分三步走:先給音頻和影片token各自評分(同一個問題,兩套獨立的評分系統),再根據評分結果分別壓縮影片和音頻。
**第一步,查詢感知評分
**
Query-Aware Scoring:根據用戶提出的問題(query),分別計算影片每一幀、音頻每一秒跟這個問題的相關程度,作為後續決定"留多少、留哪些"的依據
視覺這邊,用CLIP來算每一幀畫面跟問題的餘弦相似度,這個評分過程完全獨立於模型本身的視覺編碼器,算是一個外部裁判。
音頻這邊,本來想用CLAP這種專門做音頻-文字匹配的外部模型,但研究者發現CLAP這類模型的時間顆粒度太粗,通常是幾秒甚至更長的片段才給一個分數,而OmniScope需要精確到每一秒甚至每個token的評分,CLAP用不上。
於是他們想了個更巧妙的辦法:直接用模型自己的音頻編碼器輸出。因為這些音頻token經過投影層之後,本來就已經被映射到跟文字token同一個語義空間裡了,可以直接拿來跟問題文本算相似度,不需要額外引入模型。這個做法還用到了一個小技巧,詞向量的模長可以反映這個詞攜帶的資訊量,越是關鍵詞(比如"足球""進球")模長通常越大,越是虛詞("的""了")模長越小。研究者用這個模長做了個"門控信號",讓評分更聚焦在真正有資訊量的詞上。
有意思的是,同樣的思路理論上也能用在視覺側,但作者在附錄里做了對比實驗,發現目前模型內部的"視覺-文字對齊"精度還不夠,直接拿模型自己的視覺特徵評分,效果比CLIP差了將近一個百分點(3B模型上平均掉了0.8-0.9分)。所以視覺這邊還是老老實實用外部的CLIP。
打完分之後,還有一步很關鍵的操作,叫**時間衰減傳播**。因為聲音是有連續性的,一個高分秒數附近的秒數,往往也帶著相關資訊,不該被一刀切地忽略。所以研究者給鄰近高分時刻的秒數也加了個"沾光"加成,越靠近高分點加成越大,距離越遠衰減越快。
**第二步,視覺端的錨點-增量交替壓縮**
打完分只是知道"哪裡重要",接下來要決定"具體留哪些token"。這裡研究者提出了**AD-STC**
AD-STC(Anchor-Delta Spatio-Temporal Compression,錨點-增量時空壓縮):一種影片幀的壓縮策略,把影片幀交替分成兩種角色,"錨點幀"負責保留當前畫面的核心資訊,"增量幀"負責捕捉相對上一個錨點幀發生了什麼變化
具體來說,偶數位置的幀當錨點幀,用一種叫DPC-KNN的密度聚類方法,找出畫面里那些"跟周圍最不像"的token留下來(因為跟周圍太像說明資訊冗餘)。
奇數位置的幀當增量幀,負責捕捉"相對上一幀變了什麼"。這裡有個很聰明的自適應設計:當壓縮不算太狠(預算比較寬鬆)的時候,同時看這個token在本幀內部是否可替代、在上一個錨點幀里是否也能找到替代品,兩個條件都滿足才判定為冗餘刪掉;但當壓縮非常狠(預算極度緊張)的時候,就簡化成只看"這個位置的畫面變化程度",直接留下變化最大的那些token,避免預算太少的時候資訊散得七零八落。
為什麼要這麼麻煩地區分"預算寬鬆"和"預算緊張"兩種模式?
這就像你打包行李。如果箱子夠大,你會既帶幾件應急的衣服,也帶幾件應急以外、顯得體面的衣服,追求整體的覆蓋面。可如果只給你一個隨身小包,你就沒工夫講究"覆蓋面"了,你只會往裡塞最必需的東西,比如證件、手機、錢包,追求的是"資訊密度"而不是"廣度"。如果預算緊張的時候還硬要追求"既要空間上分散、又要時間上分散"的覆蓋策略,結果往往是每樣東西都塞了一點點,但每樣都不夠用,資訊碎片化,反而什麼都說不清楚。AD-STC正是意識到了這一點,才設計了這種隨預算大小切換策略的機制。
**第三步,音頻端的按秒合併**
音頻這邊的策略跟影片不太一樣。研究者觀察到,聲音信號有個特性叫"短時平穩性"
短時平穩性:指聲音信號在很短的時間片段內變化不大,相鄰的音頻片段往往高度相似,但又不完全一樣,帶著細微的差異
正因為相鄰音頻片段很像但又不完全一樣,直接粗暴地刪掉一些token會造成時間軸上沒法彌補的資訊斷層。所以研究者沒有選擇"刪",而是選擇"合併"。
具體做法是用**二部圖軟匹配
**
Bipartite Soft Matching(二部圖軟匹配):一種token合併技術,把一組token分成兩撥(比如按奇偶位置分),計算兩撥之間兩兩的相似度,把最相似的一對對token融合成一個,從而在減少數量的同時儘量保留原始資訊
在每一秒鐘的音頻片段內獨立進行,把token按奇偶分成兩組,算相似度矩陣,相似度最高的那些配對直接做平均融合。如果一次合併還不夠,就疊代著再來一輪。
這個思路可以理解為拼車。影片端的AD-STC像是刪除不需要出行的車次(有些幀確實資訊量太少,直接不要了),而音頻端的做法更像是把兩趟路線幾乎一樣的車合併成一趟,把兩車乘客都裝上,你沒有減少任何一個乘客(資訊),你只是把運力(token數量)優化了。如果兩條相似的音頻片段硬生生刪掉一條,就等於把一部分乘客直接甩在了路邊,這些資訊就再也找不回來了。
實際效果如何
論文在四個音影片理解基準(WorldSense、DailyOmni、OmniVideoBench、Video-MME)和兩個模型規模(Qwen2.5-Omni的7B和3B版本)上做了系統測試。
在45%保留率(也就是砍掉超過一半的token)的情況下,OmniScope的表現幾乎與完全不壓縮持平,7B模型上平均準確率反而比不壓縮還高出0.3分。
真正拉開差距的是在25%保留率(只留四分之一token)這種極端壓縮場景下。這時候7B模型上,OmniScope相比不壓縮只掉了0.35分,而目前最先進的開源方案OmniZip掉了1.55分,隨機壓縮掉了1.57分。
| 方法 | 保留比例 | WorldSense | DailyOmni | OmniVideoBench | Video-MME | 平均分 |
|---|---|---|---|---|---|---|
| Full Tokens | 100% | 46.0 | 62.0 | 34.1 | 63.3 | 51.35 |
| Random | 25% | 44.9 | 56.9 | 34.9 | 62.4 | 49.78 |
| FastV (A&V) | 25% | 44.7 | 58.4 | 35.6 | 63.4 | 50.53 |
| OmniZip | 25% | 44.8 | 57.8 | 33.7 | 62.9 | 49.80 |
| **OmniScope** | 25% | **45.7** | **58.8** | **35.8** | **63.7** | **51.00** |
(表格數據取自Qwen2.5-Omni-7B部分,加粗為對應指標最優)
效率方面也很實在。7B模型在25%保留率下,預填充(prefill,也就是模型開始生成答案之前處理輸入的階段)速度提升到3.53倍,GPU顯存節省超過15%。而且OmniScope的音頻評分是直接復用模型推理過程中本來就會產生的中間結果,不需要額外提取完整的注意力矩陣,這一點比OmniZip更省資源。OmniZip需要提取音頻編碼器的完整注意力矩陣來判斷重要性,這個開銷會隨著音頻長度呈平方級增長,在長影片場景下會越來越吃緊。
不過OmniScope也不是沒有代價,因為多了一次CLIP評分,端到端延遲(從輸入到生成完答案的總時間)在45%保留率下略高於FastV和OmniZip。但研究者算過一筆賬:CLIP這部分開銷是"一次性"的,隨著生成文字變長,這部分占比會被攤薄,從生成1個token時占13%左右,降到生成100個token時只占7%左右。對於像影片字幕生成這種需要長輸出的任務,這個固定成本會被進一步稀釋,壓縮帶來的預填充加速和顯存節省會越來越占主導。
消融實驗:每個設計選擇都有必要嗎
研究者還做了一系列拆解實驗,驗證每個組件是不是真的有用。
關於查詢引導評分,如果讓影片和音頻都用統一比例壓縮(不做差異化分配),平均掉1.65分;如果只讓其中一個模態做統一比例壓縮,另一個模態動態分配,也會掉0.35到1.55分不等。更有意思的是,即便是讓一個模態的重要性分數去"引導"另一個模態(哪怕引導方向和OmniZip不一樣),照樣比完全獨立評分要差,這進一步證明了論文最核心的觀點:一個模態的重要性分數,確實沒法可靠地代表另一個模態的重要性。
關於視覺壓縮策略,如果全部用錨點幀策略或者全部用增量幀策略,都會掉1.1到1.65分。這說明同時兼顧"空間上的核心資訊"和"時間上的變化資訊"確實是必要的,任何一個單獨拿出來都不夠。
關於音頻壓縮策略,直接丟棄token(隨機丟棄或者按"能量"丟棄)效果最差,能量篩選法甚至掉了2.75分,原因是音頻里的"能量大小"反映的是響度而不是語義重要性,用響度去判斷"這段聲音重不重要"本身就是個錯誤的假設。相比之下,均勻採樣和平均池化雖然保留了時間結構,但沒有充分利用被壓縮掉的token所攜帶的資訊。而OmniScope的合併策略把相似token融合而不是直接扔掉,效果最好。
這幾組消融實驗合在一起講的是同一件事:這套方法裡的每一個設計都不是隨手加的裝飾,拿掉任何一塊,整體表現都會打折扣。
寫在後面
讀完這篇論文,讓我印象最深的不是那個3.53倍的加速數字,而是那張注意力可視化圖揭示的現象:壓縮本身會激發模型去做更遠距離的資訊關聯,這是一個副作用,但這個副作用既能被善用,也能被濫用。同樣是壓縮,用對了方法,模型會把新激發出來的注意力投向真正重要的線索;用錯了方法,同樣的機制反而會把注意力導向被誤留下來的次要資訊。這說明"壓縮"這件事本身沒有絕對的好壞,好壞取決於你怎麼決定該留下什麼。
另一個讓我重新想了想的地方是78.3%這個數字。這個統計不是為了佐證"多模態很複雜"這種正確的廢話,它其實在暗示一件更實際的事:如果你正在設計任何一個需要同時處理多種資訊源的系統,不管是影片加音頻,還是文本加圖表,默認假設"一種資訊的重點等於另一種資訊的重點",大概率是錯的,這個錯誤假設可能已經悄悄寫進了很多系統的設計里,只是沒人去測過這個相關係數。
論文裡還有個細節值得單獨說一句:作者試過讓模型自己的視覺特徵來評分(不藉助外部CLIP),發現3B模型上效果比7B模型上更差。這暗示了一件事,模型內部"視覺和文字對齊得好不好"這件事本身是分模型規模的,規模越小,內部對齊可能越粗糙,這也許是以後調小模型時需要單獨關注的一個盲點。
Q&A
Q1:OmniScope是什麼?
A:OmniScope是一種針對全模態大語言模型(同時處理影片和音頻的AI模型)的訓練無關的token壓縮方法,核心思路是讓畫面和聲音各自獨立判斷重要性,而不是讓一個模態指揮另一個模態該保留什麼。
Q2:OmniScope和OmniZip有什麼區別?
A:OmniZip是用音頻重要性去引導影片token的保留策略,屬於單向跨模態引導;而OmniScope讓音頻和影片各自獨立根據問題評分、獨立分配壓縮預算,實驗證明在高壓縮比例下OmniScope的準確率下降幅度明顯更小。
Q3:為什麼影片和音頻的重要時刻經常對不上?
A:論文分析了1197對問題-影片樣本發現,78.3%的樣本中視覺重要性和音頻重要性之間只有很弱的相關性,這說明同一個問題下,畫面的關鍵時刻和聲音的關鍵時刻經常是錯開的,比如裁判吹哨和打手勢判罰就發生在不同時間點。






