文檔截圖嵌入統一多模態檢索方法原理 原創
本文單獨來看看檢索部分的多模態嵌入部分。
(a)傳統方法;(b)本文方法
局限性: 現有的檢索范式缺乏跨模態的統一編碼過程,導致兩個問題:
- 預處理工作繁瑣:需要專門的處理來應對各種文檔類型和內容模態,而這些處理往往不完美。例如,HTML文件由于其多樣的結構,復雜性較高,使得單一工具難以準確解析所有信息。同樣,ppt和PDF通常需要OCR模型來提取文本并分別處理其他內容類型,如表格和圖表。處理這些長尾問題較為復雜。
- 破壞文檔原始布局信息:解析過程可能導致文檔布局信息丟失。文檔的視覺呈現可以傳達通過內容提取難以捕捉的關鍵信息。例如,除了文本和圖像的內容外,這些元素在文檔中的大小和位置可能編碼了一些信息。
解決手段:提出了文檔截圖嵌入(Document Screenshot Embedding, DSE),將不同格式和模態的文檔統一為一種形式進行直接文檔編碼和索引:截圖。與使用各種工具從不同格式的文檔中提取文本和圖像不同,截圖易于獲取并且文檔的所有信息在視覺上都得到了保留。如上圖(b)所示,DSE將給定文檔的截圖進行embedding。
方法
文檔截圖embedding
采用雙編碼器架構進行密集檢索,其中文檔截圖和用戶文本查詢分別通過視覺編碼器和文本編碼器編碼成密集向量。
多模態大模型作為文檔截圖編碼器
視覺編碼器
一個文檔截圖D,首先由視覺編碼器Ev處理,生成隱藏層表示。序列的長度由視覺編碼器的圖像tokenizer決定。以 clip-vit-large-patch14-336l 為例,任何給定的截圖首先轉換為 336 X 336 像素的圖像,然后分成 24 X 24 個塊(即總共 576 個塊),每個塊由 14 X 14 像素組成。每個塊展平并通過可訓練的線性投影映射到塊嵌入。塊嵌入由視覺編碼器編碼成隱藏層表示。但是,如果截圖包含大量文本(例如維基百科網頁),576 個塊的潛在嵌入可能無法捕捉截圖中的細粒度文本信息。
視覺-語言模型
對比學習
query和文檔之間的相似性通過embedding之間的余弦相似度計算:
在訓練期間,embedding模型使用InfoNCE 損失進行優化:
實驗
監督檢索效果
零樣本檢索效果
補丁序列長度的影響
不同數量的作物輸入圖像下,DSE的有效性和效率之間的權衡。推理速度是在單個H100 GPU上通過BF16精度和FlashAttention實現的
參考文獻
Unifying Multimodal Retrieval via Document Screenshot Embedding,??https://arxiv.org/pdf/2406.11251??
本文轉載自公眾號大模型自然語言處理 作者:余俊暉
