【論文閱讀】Qwen2.5-VL Technical Report

Arxiv:https://arxiv.org/abs/2502.13923

Source code:https://github.com/QwenLM/Qwen2.5-VL

Author’s Institution:Alibaba

背景

多模態大模型

多模態大模型MultiModal Large Language Models (MM-LLMs) 的發展可以通過一篇綜述了解:MM-LLMs: Recent Advances in MultiModal Large Language Models.

現在先以一個小白的視角看一下所謂的多模態大模型是什么樣的,包括模型的輸入、輸出能夠解決什么問題等等。從上面提到的綜述上看,多模態大模型的模型結構一般如下:

多模態大模型的輸入、輸出可以是圖片、視頻、語音等。結構上主要分為兩個模塊:多模態理解、多模態生成。
多模態理解主要有以下模塊:

  • Modality Encoder(模態編碼器):提取多模態的特征為embedding,模態編碼器通常是單獨針對對應模態的數據進行了預訓練。
  • Input Projector(輸入投影):將模態編碼器的輸出映射到LLM的輸入特征空間的適配層,即不同模型數據空間信息模態對齊(將其他模態數據對齊到文本域空間)。
  • LLM Backbone(LLM主干網絡):這里的輸入通常有text模態數據(人們發布指令或者希望大模型做什么事情還是通過文本描述的形式以讓大模型給出預期結果)和其他對齊到text模型空間的模態數據。LLM是經過預訓練的語言模型,用來理解輸入的模態數據。
    多模態生成主要有以下模塊:
  • Output Projector( 輸出投影):LLM主干網絡根據自身對輸入數據的理解輸出一系列數據。該模塊則是將LLM輸出的數據映射成Modality Generator可理解的特征空間。
  • Modality Generator(模態生成器):根據輸出投影的結果生成最后的結果。

QwenVL

Qwen-VL模型則是一系列視覺+文本多模態理解模型Large vision-language models ( LVLMs ),主要處理文本和視覺特征,即"Text、Image、Video" in,“Text” out。 系列模型也在不斷更新,先后發布了:Qwen-VL、Qwen2-VL、Qwen2.5-VL(2025年2月更新)。
截止目前,現有的視覺大語言模型主要遇到的問題或者瓶頸:計算復雜性、有限的上下文理解、較差的細粒度視覺感知以及不同序列長度的不一致性能等問題。Qwen2.5-VL在不斷迭代和優化中解決了一些問題。

方法論

模型結構

Qwen2.5VL的模型結構如下:

Qwen2.5VL系列模型結構主要包含三個模塊:

  1. LLM: 語言模型是多模態大模型非常基礎的模塊,有類似于“大腦”的功能,使用的語言模型是Qwen2.5 LLM,為了能夠更好的理解多模態,作者修改了1D RoPE(Rotary Position Embedding,旋轉位置編碼)為于絕對時間對齊的多模態旋轉位置嵌入。
  2. 視覺編碼器:使用的是重新設計的Vision Transformer(ViT)結構。
  3. MLP-based的視覺-語言融合器:使用基于多層感知機來將vit輸出特征做進一步壓縮以及對齊到text域中。

不同參數的模型配置如下:

補充:qwen2.5vl-32b的模型也在2025年5月開源。

視覺編碼器

在視覺編碼器的主要創新點:

  1. 實施窗口注意力機制:將窗口注意力引入視覺編碼器以優化推理效率。
  2. 引入動態FPS采樣:將動態分辨率擴展到時域維度,使模型能夠全面理解不同采樣率下的視頻。
  3. 升級MRoPE:在時域上對齊至絕對時間,從而促進更加復雜的序列學習。
    具體如何實現的后續繼續研讀代碼。

預訓練

預訓練語料大約4T的token。相關數據分別在模型訓練階段使用情況:

視覺編碼器模塊的ViT先使用DataComp以及內部的數據進行初始化,使用預訓練的qwen2.5語言模型初始化LLM模塊。預訓練過程分為三個階段:

  1. 只訓練ViT模塊去對齊(alignment)視覺和語言模塊,訓練過程凍結語言模塊,為多模態里面打下基礎。
  2. 視覺模塊和語言模型全部參與訓練,數據更加復雜。通過該階段的訓練,增加了模型的建立視覺和語言鏈接的能力以能夠進一步應對推理的需求;
  3. 該階段通過增加比較長的訓練數據,進一步增強模型的推理能力。

可參考qwenvl訓練流程:
在這里插入圖片描述

后訓練

這部分主要使用SFT(Supervised Fine-Tuning)和DPO(Direct Preference Optimization)方式。SFT監督微調旨在通過目標指令優化彌合預訓練表示和下游任務需求之間的差距,本質上來說是進一步提升指令跟隨能力。
大量的工作關注于:收集和過濾出高質量的訓練數據。例如構建了數據過濾的pipeline,使用了多種策略過濾,例如:基于規則的、基于模型的以及Rejection Sampling(拒絕采樣)。
然后使用這些精心收集的數據進行后訓練(SFT和DPO),后訓練過程中,視覺編碼器ViT的參數是被凍結的。

實驗

相比于當時的開源、閉源的模型在主要的評測數據集的效果如下:

總得來看,qwen2.5vl-72b在很多數據集的效果是sota的。同時作者也驗證了,多模態大模型維持了語言模型的性能,如下表:

但在我們的實際場景中可能更加關注具體的領域業務,例如文檔理解和OCR效果,可以參見下表:

整體來說效果還是不錯的,如果在自己的業務數據做進一步的微調的話,應該是可以達到落地標準的。
此外還有視頻理解還有Agent的功能,具體可參見原文。

總結

文章優點

本文提出了一種名為Qwen2.5-VL的視覺語言模型系列,該模型在多模態理解和交互方面取得了顯著進展。其增強的視覺識別能力、對象定位能力、文檔解析能力和長視頻理解能力使其在靜態和動態任務中表現出色。此外,它具有原生的動態分辨率處理和絕對時間編碼功能,可以高效地處理各種輸入,并通過減少計算開銷而不犧牲分辨率精度來降低計算負擔。Qwen2.5-VL適用于從邊緣AI到高性能計算的各種應用。旗艦版本Qwen2.5-VL-72B與領先的模型如GPT-4o和Claude3.5 Sonnet相比,在文檔和圖表理解方面匹配或超過它們,同時保持純文本任務的良好性能。較小的Qwen2.5-VL-7B和Qwen2.5-VL-3B變體優于相應大小的競爭者,提供效率和靈活性。Qwen2.5-VL為視覺語言模型樹立了新的基準,展示了在跨領域的任務執行和一般化方面的卓越表現,為更智能和互動系統的發展鋪平了道路,實現了感知和現實世界應用之間的橋梁。

方法創新點

本文的主要貢獻在于以下幾個方面:

  1. 實施窗口注意力機制:將窗口注意力引入視覺編碼器以優化推理效率。
  2. 引入動態FPS采樣:將動態分辨率擴展到時域維度,使模型能夠全面理解不同采樣率下的視頻。
  3. 升級MRoPE:在時域上對齊至絕對時間,從而促進更加復雜的序列學習。
  4. 數據集構建:致力于高質量數據的收集和整理,進一步擴大預訓練語料庫規模。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/909818.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/909818.shtml
英文地址,請注明出處:http://en.pswp.cn/news/909818.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vue中computed和watch區別

在 Vue 中,computed 和 watch 都是用來響應式地處理數據變化的工具,但它們的用途和行為有明顯區別。 🔍 一句話總結 computed:用于聲明式計算屬性,有緩存。 watch:用于監聽響應式數據的變化并執行副作用邏…

大語言模型:提示詞決定自我反思效果: “檢查回答是否錯誤” “驗證回答是否正確”

大語言模型(LLMs)自我反思的結果很容易受提示詞構造的影響 大型語言模型(LLMs)展現出令人印象深刻的零樣本和少樣本推理能力。有人提出,這些能力可以通過自我反思來提升,即讓大型語言模型反思自己的輸出,以識別和糾正初始回答中的錯誤。然而,盡管有一些證據表明自我反…

【iReport】實際開發中,解決iReport中打印圖片不顯示問題

ireport 中增加圖片,添加上屬性,但是運行時報錯如下,是屬性logoPath沒有聲明到map中 1. Parameter not found : logoPath net.sf.jasperreports.engine.design.JRValidationException: Report design not valid : 1. Parameter not fo…

【MySQL進階】常用MySQL程序

目錄 一. mysqlcheck——表維護程序 1.1.作用 1.2 注意事項 1.3 使用方法 1.4 常用選項 1.5 mysqlcheck的特殊使用 二. mysqldump——數據庫備份程序 2.1.作用 2.2 注意事項 2.3 使用方法 2.4 常用選項 三. mysqladmin——MySQL 服務器管理程序 3.1.作用 3.2 使用…

EMQX高效存儲消息到MySQL指南

配置 EMQX 存儲消息到 MySQL EMQX 可以通過規則引擎和數據橋接功能將消息和事件存儲到 MySQL 數據庫。以下是具體實現方法: 創建 MySQL 數據表 在 MySQL 中創建用于存儲消息的表結構: CREATE TABLE mqtt_messages (id int(11) NOT NULL AUTO_INCREME…

springboot項目,利用docker打包部署

Windows WSL2 Docker Desktop 部署 SpringBoot 項目指南 (沒有安裝docker的,如果是windows家庭中文版的,可以看我上一篇帖子:windows家庭版安裝docker和redis-CSDN博客) 本教程將說明如何在 Windows 系統 下&#…

MO+內核32位普冉單片機PY32F003開發板

PY32F003開發板是基于普冉半導體PY32F003微控制器設計的低成本入門級開發工具, PY32F003系列微控制器采用高性能的 32 位ARM Cortex-M0內核,寬電壓工作范圍的 MCU。嵌入高達32Kbytes flash 和 4Kbytes SRAM 存儲器,最高工作頻率 32MHz。PY32…

MySql 用存儲過程刪除所有用戶表

用拼接語句總是會出問題 -- 1. 禁用外鍵約束(防止級聯刪除失敗)[1]() SET SESSION FOREIGN_KEY_CHECKS 0; -- 2. 生成并執行刪除語句(替換 your_database_name) SELECT CONCAT(DROP TABLE IF EXISTS , TABLE_NAME, ;) -- 預覽語…

Java八股文——MySQL「鎖篇」

講一下MySQL里有哪些鎖? 面試官您好,MySQL中的鎖機制非常豐富,它是保證數據一致性和并發安全的核心。我通常會從鎖的粒度(加鎖范圍) 和鎖的模式(功能) 這兩個維度來理解它們。 第一維度&#…

B站精品課程

【Python并發編程】線程,進程,協程,線程安全,多線程,死鎖,線程池等與案例解析,從入門到精通 https://www.bilibili.com/video/BV1EfdcYmEff/?spm_id_from333.337.search-card.all.click&v…

# ubuntu中安裝使用五筆輸入法

先 清理舊輸入法并重新安裝 fcitx5 五筆輸入法👇 📦 第一步:清理舊的 Fcitx5 及相關輸入法組件 sudo apt purge fcitx* mozc* ibus* -y sudo apt autoremove --purge -y📝 說明: fcitx* 會清除舊版本 Fcitx/Fcitx5。…

LSM樹與B+樹優缺點分析

1. LSM樹優化了順序寫,因此寫性能很好,但在查詢上: 需要從Level 0到Level n一直順序查下去。極端情況是LSM樹中不存在該數據,則需要遍歷L0->Ln,最后返回空集。 解決方法是用布隆過濾器優化查詢。 2. B樹范圍查詢性…

【成都魚住未來身份證】 身份證讀取與解析———未來之窗行業應用跨平臺架構——智能編程——仙盟創夢IDE

讀取身份證開發配置 function readerid魚住未來科技(){const webUrl http:// "127.0.0.1:30004" /api/info$.ajax({url: webUrl,type: GET,dataType: json,success: function (result) {// processContent.text(web api接口: webUrl 讀取身份證信息…

開啟并連接redis以及端口占用問題

開啟命令行 redis-server.exe redis.windows.conf 端口占用問題 查看端口: 輸入命令行: netstat -ano | findstr :6379 找到并停止pid號: 這個要用到cmd管理員身份打開 taskkill /f /pid 你的端口號 重新開啟就行了 再用另一個cmd進行連…

MCP數據可視化服務器配置依賴

# requirements.txt # MCP數據可視化服務器依賴包# 核心MCP包 mcp>=0.1.0# 數據處理 pandas>=2.0.0 numpy>=1.24.0# 可視化 matplotlib>=3.7.0 seaborn>=0.12.0# 異步支持 asyncio-mqtt>=0.13.0# JSON處理 jsonschema>=4.17.0# 圖像處理 Pillow>=9.5.0…

量化面試綠皮書:14. 鐘表零件

文中內容僅限技術學習與代碼實踐參考,市場存在不確定性,技術分析需謹慎驗證,不構成任何投資建議。 14. 鐘表零件 一個時鐘(順時針編號為 1-12)從墻上掉了下來,摔成三塊你發現每塊上的數字之和是相等的。 Q: 每塊上的數字是多少&…

AndroidR平臺ToastPresenter引出BinderProxy泄漏

一、問題描述 針對SA8155車機系統Qnx+Android,自動化測試模擬發送CAN信號測試,壓測報出多例BinderProxy leak引起system_server重啟 問題1 [CRASH] system_server osVersion: V1.2.***,提交時間:2025-06-05 ***,復現了2次java.lang.AssertionError: Binder ProxyMap has…

windows11中切換到其他桌面再切回當前桌面,任務欄的WPS有好幾個窗口

感謝知乎的網友 原文鏈接 新建一個后綴為 .reg 的文本文件,將以下內容粘貼進去,保存,然后雙擊運行 Windows Registry Editor Version 5.00[HKEY_CURRENT_USER\Software\kingsoft\Office\6.0\wpsoffice\Application Settings]"enable_m…

從匯編的角度揭開C++ this指針的神秘面紗(下)

<接上篇> 我們接著來看一段C的代碼&#xff1a; class A { public:int func(int j){return j _i;} private:int _i; };int main() {A a;a.func(3);return 0; } 這里定義了一個類A&#xff0c;在main函數中定義了A類的對像a。同時用a調用了成員函數func。我們來看一…

Kafka代碼模板

Kafka 服務器&#xff08;Broker&#xff09; 的配置 server.properties # broker.id: 每個 Kafka Broker 的唯一標識符。broker.id 必須在整個 Kafka 集群中唯一。 broker.id0# 配置 Kafka Broker 監聽客戶端請求的地址和端口。這個配置決定了 Kafka 服務將接受來自生產者、…