Qwen(通義千問)是阿里云推出的大語言模型,其多模態預訓練是一個復雜且專業的過程,雖然官方沒有完全公開全部細節, 但從多模態大模型通用的預訓練邏輯上,一般包含以下主要步驟:
數據準備
- 多模態數據收集
- 文本數據:從廣泛的來源收集大量文本,如互聯網網頁(新聞、博客、論壇帖子等)、書籍、學術論文、專利文檔等。這些文本涵蓋多種領域、語言風格和主題,為模型學習語言知識和語義理解提供基礎。
- 圖像數據:收集各類圖像,包括自然場景圖像、人物圖像、物體圖像等。可以從公開的圖像數據集(如ImageNet、COCO )獲取,也可以通過網絡爬蟲等方式從合法的圖片分享網站收集,但要注意版權問題。
- 音頻數據:包含語音對話、音樂、環境聲音等。語音數據可以來自語音識別標注數據集、有聲讀物等;音樂數據可從音樂平臺合法獲取片段;環境聲音數據可通過專業錄音設備采集或使用公開的環境音頻數據集。
- 視頻數據:綜合了圖像、音頻和文本(如視頻字幕)信息,來源有電影、電視劇、網絡視頻、教育視頻等。
- 數據清洗與預處理
- 文本數據:去除文本中的特殊字符、亂碼、重復內容;進行分詞處理,將文本拆分成合適的詞或子詞單元;對于不同語言的文本,可能還需要進行語言識別和歸一化處理。
- 圖像數據:調整圖像大小,使其符合模型輸入的尺寸要求;進行圖像歸一化,將像素值映射到特定范圍(如0 - 1 );對圖像進行標注,包括物體類別、位置(邊界框坐標)等信息。
- 音頻數據:將音頻采樣率統一到合適的值(如16kHz ),對音頻進行降噪處理,提高音頻質量;如果是語音數據,還需要進行語音轉文本的標注。
- 視頻數據:對視頻進行幀提取,分離音頻和視頻流;對視頻幀和音頻分別進行上述圖像和音頻的預處理操作,并將視頻字幕等文本信息進行整理。
- 數據融合
將經過預處理的不同模態數據按照一定的規則進行融合,形成多模態訓練樣本。例如,可以將圖像與對應的文本描述組合在一起,或者將視頻幀、音頻和字幕信息關聯起來,構建包含多種模態信息的訓練實例。
模型構建與初始化
- 選擇基礎架構
通常基于Transformer架構進行改進和擴展,以適應多模態數據的處理。比如在語言模型部分沿用Transformer的編碼器 - 解碼器結構,同時針對圖像、音頻等模態增加專門的處理模塊。例如,在處理圖像時,可能采用Vision Transformer(ViT )將圖像劃分為多個patch并編碼,使其能夠與文本特征在后續進行融合計算。 - 參數初始化
使用一些預訓練好的權重(如在大規模文本數據上預訓練好的語言模型權重 )對模型中語言相關部分進行初始化,以加快訓練收斂速度。對于新添加的多模態處理模塊(如視覺編碼器),可以采用隨機初始化或使用在相關單模態數據上預訓練的權重進行初始化。
預訓練過程
- 設計預訓練任務
- 文本相關任務:如掩碼語言模型(Masked Language Model,MLM ),隨機掩蓋文本中的一些詞,讓模型預測被掩蓋的詞;下一句預測(Next Sentence Prediction,NSP ),判斷兩個文本段落是否在原文中相鄰。
- 圖像相關任務:圖像掩碼建模(Image Masked Modeling ),類似文本的掩碼語言模型,隨機掩蓋圖像的一些區域,讓模型預測被掩蓋區域的內容;圖像分類任務,根據圖像內容預測所屬的類別。
- 跨模態任務:圖文匹配(Image - Text Matching ),判斷圖像和文本是否匹配;視覺問答(Visual Question Answering,VQA ),根據圖像內容回答相關問題;音頻 - 文本對齊(Audio - Text Alignment ),建立音頻和文本之間的對應關系等。
- 模型訓練
- 將多模態訓練樣本輸入到模型中,根據設計的預訓練任務計算損失函數。例如,對于圖文匹配任務,使用交叉熵損失函數衡量模型預測的匹配結果與真實標簽之間的差異。
- 通過反向傳播算法計算損失函數對模型參數的梯度,使用優化器(如Adam、SGD )更新模型參數,以最小化損失函數。在訓練過程中,不斷調整模型參數,使模型能夠更好地處理多模態數據,學習到不同模態之間的關聯和語義信息。
- 采用分布式訓練技術,將訓練任務分配到多個計算節點(如多個GPU服務器 )上并行處理,加速訓練過程。同時,設置合適的訓練超參數,如學習率、批次大小、訓練輪數等,并根據訓練過程中的性能指標(如損失值、準確率等)進行調整。
模型評估與優化
- 模型評估
- 使用預留的驗證數據集對訓練好的模型進行評估。針對不同的預訓練任務,采用相應的評估指標。如在文本的掩碼語言模型任務中,使用準確率評估模型預測被掩蓋詞的準確性;在圖文匹配任務中,使用準確率、召回率等指標衡量模型判斷圖像和文本匹配關系的性能。
- 還可以進行人工評估,邀請專業人員對模型在一些復雜多模態任務上的輸出進行質量判斷,如對視覺問答任務中模型回答的合理性、準確性進行評估。
- 模型優化
- 根據評估結果,對模型進行優化。如果發現模型在某些任務上性能不佳,可能需要調整模型架構,比如增加或減少某些模塊的層數、調整注意力機制的參數等;或者重新設計預訓練任務,增加一些更具挑戰性的任務來強化模型的學習能力。
- 也可以進一步擴充訓練數據,補充一些模型表現較差領域的數據,或者對數據進行更精細的標注和處理,然后重新進行訓練,不斷提升模型的性能和泛化能力。 多模態預訓練的評估需要綜合考量模型在不同模態及跨模態任務上的表現,以下是一些常見的評估指標:
文本模態相關指標
- 掩碼語言模型準確率(Masked Language Model Accuracy,MLM Accuracy)
- 定義:在掩碼語言模型任務中,模型預測被掩蓋詞的正確比例。具體做法是在文本中隨機掩蓋一定比例的詞,讓模型預測這些被掩蓋的詞,然后計算預測正確的詞數占總掩蓋詞數的比例。
- 作用:衡量模型對文本語義和語法的理解能力,以及基于上下文進行語言生成的能力。準確率越高,說明模型在文本理解和生成方面的表現越好。
- 困惑度(Perplexity,PPL)
- 定義:用于評估語言模型預測下一個詞的能力,公式為 PPL=∏i=1n1P(wi)nPPL = \sqrt[n]{\prod_{i = 1}^{n}\frac{1}{P(w_i)}}PPL=n∏i=1n?P(wi?)1?? ,其中 P(wi)P(w_i)P(wi?) 是模型預測詞 wiw_iwi? 的概率,nnn 是文本序列的長度。困惑度越低,表明模型對下一個詞的預測越準確,對語言的理解和建模能力越強。
- 作用:可以反映模型對文本分布的擬合程度,是衡量語言模型質量的重要指標之一。
- 下一句預測準確率(Next Sentence Prediction Accuracy,NSP Accuracy)
- 定義:在判斷兩個文本段落是否相鄰的下一句預測任務中,模型預測正確的比例。給定兩個文本段落,模型需要判斷第二個段落是否在原文中緊跟第一個段落,通過計算預測正確的樣本數占總樣本數的比例得到準確率。
- 作用:評估模型對文本連貫性和邏輯關系的理解能力,有助于模型學習文本之間的語義關聯。
圖像模態相關指標
- 圖像分類準確率(Image Classification Accuracy)
- 定義:模型對圖像所屬類別預測正確的比例。將圖像數據集劃分為訓練集、驗證集和測試集,在測試集上,模型對每個圖像預測其類別,然后計算預測正確的圖像數量占測試集圖像總數的比例。
- 作用:衡量模型對圖像內容的理解和識別能力,反映模型在圖像特征提取和分類決策方面的性能。
- 目標檢測指標
- 平均精度均值(Mean Average Precision,mAP) :用于評估目標檢測模型在不同類別目標上的檢測性能。對于每個類別,計算其精度 - 召回率曲線下的面積(Average Precision,AP ),然后對所有類別求平均值得到mAP。精度(Precision)是指檢測出的目標中真正正確的比例,召回率(Recall)是指真正的目標中被檢測出來的比例。
- 作用:能全面反映模型檢測不同類別目標的準確性和召回能力,是目標檢測任務中最常用的評估指標。
- 圖像分割指標
- 交并比(Intersection over Union,IoU) :也稱為并集交集比、雅卡爾指數,用于衡量模型預測的分割區域與真實分割區域的重疊程度。計算公式為 IoU=∣A∩B∣∣A∪B∣IoU = \frac{|A \cap B|}{|A \cup B|}IoU=∣A∪B∣∣A∩B∣? ,其中 AAA 是模型預測的分割區域,BBB 是真實的分割區域。對于語義分割任務,通常會計算每個類別以及所有類別的平均IoU(mIoU)。
- 作用:直觀地反映模型在圖像分割任務中對目標區域的分割準確性,mIoU越高,說明模型分割效果越好。
跨模態相關指標
- 圖文匹配準確率(Image - Text Matching Accuracy)
- 定義:在圖文匹配任務中,判斷圖像和文本是否匹配,模型預測正確的比例。通過將圖像 - 文本對作為樣本,模型預測它們是否匹配,計算預測正確的樣本數占總樣本數的比例。
- 作用:評估模型理解圖像和文本之間語義關聯的能力,反映模型在跨模態信息融合和匹配方面的性能。
- 視覺問答準確率(Visual Question Answering Accuracy,VQA Accuracy)
- 定義:模型根據圖像內容回答相關問題的正確比例。給定圖像和問題,模型生成答案,然后與人工標注的正確答案進行對比,計算回答正確的問題數量占總問題數量的比例。
- 作用:衡量模型綜合利用圖像和文本信息進行推理和回答問題的能力,是評估多模態模型跨模態理解和生成能力的重要指標。
- 音頻 - 文本對齊準確率(Audio - Text Alignment Accuracy)
- 定義:在音頻 - 文本對齊任務中,判斷音頻和文本是否對應,模型預測正確的比例。通過構建音頻 - 文本對樣本,模型判斷其對應關系,計算預測正確的樣本數占總樣本數的比例。
- 作用:評估模型在音頻和文本這兩種模態之間建立準確關聯的能力,對于語音識別、語音翻譯等跨模態應用有重要參考價值。
- 多模態檢索指標
- 召回率(Recall) :在多模態檢索任務(如根據文本檢索相關圖像,或根據圖像檢索相關文本 )中,檢索出的相關樣本數占所有相關樣本數的比例。例如,給定一個文本查詢,模型檢索出一定數量的圖像,召回率就是檢索出的與該文本相關的圖像數量占所有與該文本相關圖像數量的比例。
- 平均倒數排名(Mean Reciprocal Rank,MRR) :對于每個查詢,計算其第一個相關結果的排名的倒數,然后對所有查詢的倒數排名求平均值。該指標可以衡量模型在多模態檢索中找到相關結果的效率,MRR值越高,說明模型在檢索任務中的表現越好。
這些評估指標從不同角度對多模態預訓練模型的性能進行量化,幫助研究人員全面了解模型在處理多模態數據和執行跨模態任務時的能力,并據此對模型進行優化和改進。 Qwen 多模態系列(包括 Qwen-VL、Qwen2-VL、Qwen2.5-VL)的預訓練流程采用三階段漸進式訓練策略,逐步融合視覺與語言模態,并通過數據優化提升模型性能。以下是詳細步驟與技術要點:
- 第一階段:視覺-語言預訓練(Vision-Language Pretraining)
目標:對齊視覺與語言特征,建立基礎跨模態理解能力。
關鍵步驟:
? 模型架構:
? 視覺編碼器:采用 ViT 架構(如 OpenCLIP ViT-bigG),輸入分辨率固定為 224×224。
? 視覺-語言適配器:單層交叉注意力模塊,使用 256 個可學習查詢向量(learnable queries)壓縮圖像特征序列至固定長度(256),并注入 2D 絕對位置編碼保留空間信息。
? 語言模型:凍結 Qwen-7B 參數,僅優化視覺編碼器與適配器。
? 數據與訓練:
? 數據集:14 億圖像-文本對,來自 LAION、Coyo、DataComp 等開源庫,經嚴格清洗(保留率 28%),中英文占比分別為 22.7% 和 77.3%。
? 訓練目標:最小化文本標記的交叉熵損失(自回歸語言建模)。
? 超參數:批量大小 30,720,學習率 2e-4,50,000 訓練步。
技術意義:通過大規模弱標注數據初步對齊視覺與文本特征,適配器緩解長序列計算負擔,為多任務學習奠基。
- 第二階段:多任務預訓練(Multi-task Pretraining)
目標:引入高質量細粒度數據,解鎖全參數訓練,增強復雜任務能力(如定位、OCR、多圖理解)。
關鍵步驟:
? 模型調整:
? 解凍語言模型:全參數聯合優化視覺與語言組件。
? 分辨率提升:輸入圖像分辨率增至 448×448,減少細節丟失。
? 動態分辨率(Qwen2/2.5-VL):支持任意分辨率圖像,通過 MLP 壓縮相鄰 2×2 視覺 token 以降低計算量。
? 數據與任務:
? 數據集:7,700 萬樣本,覆蓋 7 類任務:
? 細粒度任務:視覺問答(VQA)、引用表達式理解(如 RefCOCO)、邊界框檢測、OCR。 ? 交錯數據:圖文交替序列(長度 2048),模擬多模態上下文。
? 空間位置編碼:邊界框坐標歸一化至 [0, 1000) 范圍,以字符串格式輸入,輔以特殊標記 定位。
? 位置編碼創新:
? M-RoPE(Qwen2/2.5-VL):將旋轉位置嵌入分解為時間、高度、寬度三組件,統一處理文本、圖像、視頻的位置信息。
技術意義:高分辨率與多任務數據提升細粒度理解能力,動態機制增強模型靈活性。
- 第三階段:監督微調(Supervised Fine-tuning, SFT)
目標:優化指令遵循與對話能力,生成交互式模型(如 Qwen-VL-Chat)。
關鍵步驟:
? 模型調整:凍結視覺編碼器,僅訓練語言模型與適配器。
? 數據構建:
? 規模:35 萬指令數據(Qwen-VL)→ 200 萬(Qwen2.5-VL),50% 為多模態(圖文/視頻),50% 為純文本。
? 數據來源:
? 人工標注的定位與多圖理解數據。 ? 模型合成的對話數據(如 LLM 生成圖像描述)。 ? 策略拼接的交錯多輪對話。
? 過濾機制:
? 拒絕采樣(Rejection Sampling):對比模型輸出與標注答案,僅保留匹配樣本。 ? 規則過濾:剔除重復、過長或有害內容。
? 視頻處理(Qwen2.5-VL):
? 3D Patch 劃分:合并連續視頻幀,減少語言模型輸入 token 數。
? 動態 FPS 采樣:按內容重要性調整幀率,時間戳以 hmsf 格式編碼。
技術意義:指令數據使模型適應實際交互場景,過濾策略確保輸出質量與安全性。
- 長上下文預訓練(Qwen2.5-VL 新增階段)
目標:擴展序列處理能力,支持長視頻、復雜文檔解析。
關鍵步驟:
? 架構升級:
? 窗口注意力:多數 ViT 層采用局部注意力,計算復雜度降至線性。
? 動態 token 壓縮:MLP 融合相鄰 4×4 圖像 patch,投影至文本嵌入維度。
? 數據增強:
? 文檔解析:合成含表格、公式、樂譜的 HTML 格式數據。
? 絕對位置坐標:邊界框基于圖像實際尺寸標注,提升空間關系建模。
技術演進總結
階段 Qwen-VL Qwen2-VL Qwen2.5-VL
視覺編碼器 ViT-bigG(固定 448×448) ViT + 動態分辨率 窗口注意力 + 3D Patch 劃分
位置編碼 2D 絕對編碼 2D-RoPE + M-RoPE M-RoPE + 絕對時間對齊
視覺-語言融合 單層交叉注意力(256 queries) MLP 壓縮 2×2 token MLP 壓縮 4×4 patch
視頻支持 ? 3D 卷積 + 幀動態分辨率 動態 FPS + 長視頻分段
訓練數據量 1.4B 圖文對 + 350K SFT 77M 多任務 + 混合視頻 200 萬 SFT + 長上下文數據
核心創新點
- 高效視覺特征壓縮:適配器與 MLP 壓縮平衡計算效率與信息保留。
- 多模態位置統一:M-RoPE 無縫融合文本、圖像、視頻時空信息。
- 數據質量優先:拒絕采樣與多級過濾確保指令數據高精度。
- 動態適應性:分辨率、幀率、token 長度的動態調整支持復雜場景。
如需代碼級實現細節(如動態分辨率處理),可參考 https://blog.csdn.net/gitblog_02881/article/details/144343207。