今天小編分享的科技經驗:4秒看完2小時電影!阿裏發布通用多模态大模型mPLUG-Owl3,歡迎閲讀。
4 秒看完 2 小時電影,阿裏團隊新成果正式亮相——
推出通用多模态大模型 mPLUG-Owl3,專門用來理解多圖、長視頻。
具體來説,以 LLaVA-Next-Interleave 為基準,mPLUG-Owl3 将模型的First Token Latency 縮小了 6 倍,且單張 A100 能建模的影像數目提升了 8 倍,達到了400 張圖片,實測 4 秒就能看完一部 2 小時的電影。
換句話説,模型的推理效率有了極大提升。
而且不犧牲模型的準确性。
mPLUG-Owl3 還在多模态大模型所涉及的各種場景,包括單圖、多圖、視頻領網域的諸多 Benchmarks 上達到了SOTA。
論文作者來自阿裏 mPLUG 團隊,他們一直深耕多模态大模型底座,在此之前還提出了:
高效多模态底座 mPLUG 系列
模塊化多模态大語言模型底座 mPLUG-Owl 系列
文檔理解底座 mPLUG-DocOwl 系列
下面就讓我們來了解一下本次發布的 mPLUG-Owl3 究竟帶來了什麼黑科技吧。
玩法解鎖
團隊展示了 mPLUG-Owl3 的幾種常見用法。
多模态檢索增強
一般來説,對于模型沒有學過的知識,通過檢索系統進行補充是常見的做法。這需要模型能準确理解傳入的多模态知識,并用于解答問題。
在下面這個例子中,mPLUG-Owl3 不僅能基于檢索知識正确回復,還能給出它基于哪一條知識做出的判斷,并且給出詳細的判斷依據。這對于下遊研發人員開發和調試都是非常友好的。
檢索部分:以下是為你檢索到的幾個多模态知識,供你做出決定。
提問:根據你對上面四張狗的照片的觀察,你能對圖片 5 中的狗進行分類嗎?給出理由。
回答:根據對四張狗的照片的觀察,圖片 5 中的狗可以被歸類為愛爾蘭梗犬。圖片 1 中的狗被描述為愛爾蘭梗犬,圖片 5 中的狗與圖片 1 中的狗在身體特征上有相似之處……
多圖推理
生活中經常會出現這樣的情況——
很多用户并非只圍繞一張圖片進行對話,而是用户可能有幾份材料,需要模型能正确理解不同材料中的内容的關系。
在下面這個例子中,mPLUG-Owl3 能通過兩張影像所見,激活語言模型的常識知識,并圍繞兩張圖片進行推理。
提問:左邊的動物能在右邊的環境中存活嗎?需要回答并給出解釋。
回答(正确答案标綠):大意是,不能存活,因為環境太冷了。
在另一個例子中,mPLUG-Owl3 不僅能察覺兩張圖片風格上的差異性,并且也能意識到兩張圖中的人物雖然風格不同,但其實是同一個角色。
第一次提問:圖片中描繪了哪些藝術風格,它們有何不同?
回答:第一張是像素風,第二張是卡通風格……(給出理由)
第二次提問:在兩幅畫中都出現了誰?他們的特征是什麼?
回答:在兩幅畫中,都出現了一個戴着牛仔帽的男人,他被兩種不同的風格描繪。
長視頻理解
觀看超長視頻是現在大部分模型都無法端到端完成的任務,若是基于 Agent 框架,則又難以保證響應速度。
mPLUG-Owl3 能夠看一部 2 小時電影,并且4 秒就能開始回答用户的問題。
不管用户是對電影的開頭、中間和結尾的非常細致的片段進行提問,mPLUG-Owl3 都能對答如流。
咋做到的?
與傳統模型不同,mPLUG-Owl3不需要提前将視覺序列拼接到語言模型的文本序列中。
換句話説,不管輸入了啥(幾十張圖或幾小時視頻),都不占用語言模型序列容量,這就規避了長視覺序列帶來的巨額計算開銷和顯存占用。
有人可能會問了,那視覺信息如何融入到語言模型中呢?
為實現這一點,該團隊提出了一種輕量化的 Hyper Attention 模塊,它可以将一個已有的只能建模文本的 Transformer Block 擴展成一個能夠同時做圖文特征互動和文本建模的新模塊。
通過在整個語言模型中稀疏地擴展4 個Transformer Block,mPLUG-Owl3 就能用非常小的代價将 LLM 更新成多模态 LLM。
視覺特征在從視覺編碼器抽取出來後,會通過一個簡單的線性映射把維度對齊到語言模型的維度。
随後,視覺特征只會在這 4 層 Transformer Block 與文本互動,由于視覺 Token 沒有經過任何壓縮,所以細粒度的信息都能得到保留。
下面來看一下Hyper Attention 内又是如何設計的。
Hyper Attention 為了讓語言模型能感知到視覺特征,引入了一個Cross-Attention操作,将視覺特征作為 Key 和 Value,将語言模型的 hidden state 作為 Query 去析取視覺特征。
近年也有其他研究考慮将 Cross-Attention 用于多模态融合,比如 Flamingo 和 IDEFICS,但這些工作都沒能取得較好的性能表現。
在 mPLUG-Owl3 的技術報告中,團隊對比了 Flamingo 的設計,來進一步説明 Hyper Attention 的關鍵技術點:
首先,Hyper Attention 沒有采用 Cross-Attention 和 Self-Attention 級聯的設計,而是嵌入在 Self-Attention 區塊内。
它的好處是大幅度降低了額外引入的新參數,使得模型更容易訓練,并且訓練和推理效率也能進一步提升。
其次,Hyper Attention 選擇共享語言模型的 LayerNorm,因為 LayerNorm 所輸出的分布正是 Attention 層已經訓練穩定的分布,共享這一層對于穩定學習新引入的 Cross-Attention 至關重要。
事實上,Hyper Attention 采取了一種并行 Cross-Attention 和 Self-Attention 的策略,使用共享的 Query 去與視覺特征互動,通過一個 Adaptive Gate 融合兩者的特征。
這使得 Query 可以根據自身語義針對性地選擇與之相關的視覺特征。
團隊發現,影像在原始上下文中與文本的相對位置關系對于模型更好的理解多模态輸入非常重要。
為了建模這一性質,他們引入了一種多模态交錯的旋轉位置編碼 MI-Rope 來給視覺的 Key 建模位置信息。
具體來説,他們預先記錄了每張圖片在原文中的位置信息,會取這一位置來計算對應的 Rope embedding,而同一張圖的各個 patch 會共享這個 embedding。
此外,他們也在 Cross-Attention引入了 Attention mask,讓原始上下文中在圖片之前的文本不能看到後面的圖片對應的特征。
概括而言,Hyper Attention 的這些設計點,為 mPLUG-Owl3 帶來了進一步的效率提升,并且保障了它仍然能具備一流的多模态能力。
實驗結果
通過在廣泛的數據集上進行實驗,mPLUG-Owl3 在大多數單圖多模态 Benchmarks都能取得 SOTA 的效果,甚至不少測評還能超過模型尺寸更大的模型。
同時,在多圖測評中,mPLUG-Owl3 同樣超越了專門針對多圖場景優化的 LLAVA-Next-Interleave 和 Mantis。
另外,在 LongVideoBench(52.1 分)這一專門評估模型對長視頻理解的榜單上更是超越現有模型。
研發團隊還提出了一個有趣的長視覺序列測評方法。
眾所周知,真實的人機互動場景,并非所有圖片都是為了用户問題服務的,歷史上下文中會充斥着與問題無關的多模态内容,序列越長,這一現象越嚴重。
為了評估模型在長視覺序列輸入中的抗幹擾能力,他們基于 MMBench-dev 構建了一個新的測評數據集。
通過為每一個 MMBench 循環評估樣本引入無關的圖片并打亂圖片順序,再針對原本的圖片進行提問,看模型是否能穩定地正确回復。(對于同一個問題,會構造 4 個選項順序和幹擾圖片均不同的樣本,全都答對才記一次正确回答。)
實驗中根據輸入圖片數目分為了多個層級。
可以看出,沒有經過多圖訓練的模型例如 Qwen-VL 和 mPLUG-Owl2 很快就敗下陣來。
而經過多圖訓練的 LLAVA-Next-Interleave 和 Mantis 在最開始能和 mPLUG-Owl3 保持近似的衰減曲線,但随着圖片數目達到了50這個量級,這些模型也不再能正确回答了。
而 mPLUG-Owl3 堅持到了400 張圖片還能保持40% 的準确率。
不過有一説一,盡管 mPLUG-Owl3 超越了現有模型,但其準确率遠未達到優秀水平,只能説這一測評方法揭示了所有模型未來需要進一步提升的長序列下的抗幹擾能力。
更多詳情歡迎查閲論文及代碼。
論文:https://arxiv.org/abs/2408.04840
代碼:https://github.com/X-PLUG/mPLUG-Owl/tree/main/mPLUG-Owl3
demo(抱抱臉):https://huggingface.co/spaces/mPLUG/mPLUG-Owl3
demo(魔搭社區):https://modelscope.cn/studios/iic/mPLUG-Owl3
7B 模型(抱抱臉):https://huggingface.co/mPLUG/mPLUG-Owl3-7B-240728
7B 模型(魔搭社區)https://modelscope.cn/models/iic/mPLUG-Owl3-7B-240728
— 完 —
投稿請發郵件到:
标題注明【投稿】,告訴我們:
你是誰,從哪來,投稿内容
附上論文 / 項目主頁鏈接,以及聯系方式哦
我們會(盡量)及時回復你
點這裏關注我,記得标星哦~
一鍵三連「分享」、「點贊」和「在看」
科技前沿進展日日相見 ~
>