Docmatix - 一個用於文件視覺問答的龐大資料集
在這篇部落格中,我們釋出了 Docmatix - 一個用於文件視覺問答 (DocVQA) 的龐大資料集,其規模比以往可用的資料集大數百倍。使用此資料集對 Florence-2 進行微調的消融研究表明,在 DocVQA 上的效能提升了 20%。
資料集中的一個示例
我們最初建立 Docmatix 的想法是在開發 The Cauldron(一個包含 50 個數據集,用於微調視覺語言模型 VLM)和 Idefics2 時產生的。透過這個過程,我們發現大規模文件視覺問答 (DocVQA) 資料集的可用性存在巨大差距。我們用於 Idefics2 的主要資料集是 DocVQA,其中包含 10,000 張影像和 39,000 個問答 (Q/A) 對。儘管在此資料集和其他資料集上進行了微調,但開源模型在效能上仍與閉源模型存在較大差距。為了解決這一侷限,我們很高興地推出 Docmatix,這是一個包含 240 萬張影像和 950 萬個問答對的 DocVQA 資料集,這些資料來自 130 萬份 PDF 文件。與之前的資料集相比,規模增加了 240 倍。
Docmatix 與其他 DocVQA 資料集的比較
你可以在這裡親自探索該資料集,看看 Docterix 中包含的文件和問答對的型別。
Docmatix 是從 PDFA(一個包含 210 萬份 PDF 的大型 OCR 資料集)生成的。我們提取了 PDFA 中的文字轉錄,並使用 Phi-3-small 模型來生成問答對。為確保資料集的質量,我們對生成的內容進行了篩選,丟棄了 15% 被識別為幻覺的問答對。為此,我們使用正則表示式來檢測程式碼,並刪除了包含關鍵詞“unanswerable”的答案。資料集中每一行對應一份 PDF。我們將 PDF 以 150 dpi 的解析度轉換為影像,並將處理後的影像上傳到 Hugging Face Hub 以方便訪問。Docmatix 中的所有原始 PDF 都可以追溯到原始的 PDFA 資料集,從而保證了透明度和可靠性。儘管如此,我們還是上傳了處理後的影像,因為將大量 PDF 轉換為影像可能需要消耗大量資源。
生成 Docmatix 的處理流程
在處理完第一小批資料集後,我們進行了幾次消融研究以最佳化提示 (prompt)。我們的目標是每頁生成大約四個問答對。問答對太多表明它們之間有很大的重疊,而太少則意味著缺乏細節。此外,我們希望答案更像人類的回答,避免過短或過長的響應。我們還優先考慮了問題的多樣性,確保重複最小化。有趣的是,當我們引導 Phi-3 模型 根據文件中的具體資訊提問時(例如,“John Doe 的頭銜是什麼?”),問題幾乎沒有重複。下圖展示了我們分析的一些關鍵統計資料。
按提示分析 Docmatix
為了評估 Docmatix 的效能,我們使用 Florence-2 模型進行了消融研究。我們訓練了兩個版本的模型進行比較。第一個版本在 DocVQA 資料集上訓練了多個週期 (epoch)。第二個版本首先在 Docmatix 上訓練一個週期(使用了 20% 的影像和 4% 的問答對),然後在 DocVQA 上訓練一個週期,以確保模型能生成用於 DocVQA 評估的正確格式。結果非常顯著:僅使用 Docmatix 的一小部分進行訓練,效能就相對提高了近 20%。此外,0.7B 引數的 Florence-2 模型的效能僅比在多個數據集混合訓練且模型大得多的 8B 引數的 Idefics2 模型差 5%。
資料集 | 在 DocVQA 上的 ANSL 分數 | 模型大小 |
---|---|---|
在 DocVQA 上微調的 Florence 2 | 60.1 | 700M |
在 Docmatix 上微調的 Florence 2 | 71,4 | 700M |
Idefics2 | 74,0 | 8B |
結論
在這篇文章中,我們介紹了 Docmatix,一個用於 DocVQA 的龐大資料集。我們展示了使用 Docmatix 微調 Florence-2 時,可以在 DocVQA 效能上實現 20% 的提升。這個資料集應該有助於縮小專有 VLM 和開源 VLM 之間的差距。我們鼓勵開源社群利用 Docmatix 來訓練新的、出色的 DocVQA 模型!我們迫不及待地想在 🤗 Hub 上看到你們的模型!
實用資源
我們想感謝 merve 和 leo 對這篇部落格的審閱和封面圖製作。