MultiFinRAG:針對金融領域問答的多模態RAG框架,效果比ChatGPT-4o提升19%,Token使用減少60%
?“MultiFinRAG: An Optimized Multimodal Retrieval-Augmented Generation (RAG) Framework for Financial Question Answering”
現代金融文件通常超過100頁,包含復雜的文本、表格和圖形,準確的問答(QA)對分析師和自動化金融代理至關重要。然而,現有問答方法面臨文檔長度超出LLM的令牌限制、API成本高、混合格式使得表格和圖形的關系在轉為文本時喪失等挑戰。
MultiFinRAG是一個專為金融問答設計的檢索增強生成框架,解決傳統大語言模型在處理金融文檔時的局限性。MultiFinRAG在處理復雜金融查詢時,準確性比ChatGPT-4o提升19%,尤其在文本、表格和圖像方面。結合模態感知檢索閾值與輕量化量化開源LLM,框架在普通硬件上高效運行,減少60%以上的token使用,提升響應速度。
摘要
MultiFinRAG是一個專為金融問答設計的檢索增強生成框架,解決傳統大語言模型在處理金融文檔時的局限性。該框架通過多模態提取,將表格和圖像批量處理,利用輕量級的開源多模態LLM生成結構化JSON輸出和簡潔文本摘要。輸出結果與敘述文本一起嵌入并索引,采用模態感知相似性閾值進行精確檢索。采用分層回退策略,根據需要動態調整上下文,從文本到文本+表格+圖像,支持跨模態推理,減少無關上下文。在復雜金融問答任務中,MultiFinRAG在普通硬件上實現了比ChatGPT-4o高出19%的準確率。
簡介
現代金融文件通常超過100頁,包含復雜的文本、表格和圖形,準確的問答(QA)對分析師和自動化金融代理至關重要。然而,現有問答方法面臨文檔長度超出LLM的令牌限制、API成本高、混合格式使得表格和圖形的關系在轉為文本時喪失等挑戰。
傳統的檢索增強生成(RAG)方法存在以下問題:
- 固定大小的文本塊可能破壞連貫性;
- 表格和圖形被視為非結構化文本;
- 靜態的top-k檢索可能返回冗余或邊際相關的片段。
MultiFinRAG框架提出以下創新:
- 批量多模態提取:小組表格和圖像輸入輕量級多模態LLM,返回結構化JSON和簡潔摘要,保留數值關系。
- 語義塊合并與閾值檢索:基于嵌入相似性重新組合過度分段的文本塊,并使用特定閾值過濾邊際上下文。
- 分級回退策略:優先檢索高相似度文本,若結果不足則自動擴展到表格和圖像上下文,確保全面覆蓋。
相關工作
LLMs在決策流程中的應用推動了檢索增強生成(RAG)系統的發展,以解決知識局限,尤其是在特定領域和不斷變化的環境中。財務文件(如10-K和8-K)對RAG提出了挑戰,因其內容冗長且多模態,信息分散。現有RAG系統在處理需要跨多種格式的信息綜合時表現不足。
開源多模態模型(如Meta的Llama-3.2-11BVision-Instruct、Google的Gemma等)使構建強大的多模態RAG管道成為可能。現代RAG框架引入了動態檢索策略、智能分塊機制和層次化內容組織。SELF-RAG、T-RAG、MoG和DRAGIN等方法提升了檢索和生成的效率。Dense Passage Retrieval(DPR)是開放域QA中的基石,優于稀疏檢索基線。PDFTriage提出了布局感知檢索,以改善對圖表和多頁內容的QA。
盡管有進展,現有金融RAG系統在處理復雜多模態問題時仍有限。MultiFinRAG旨在跨文本、表格和圖形進行綜合推理,結合近似最近鄰檢索和模態感知相似性過濾,專為金融文件設計。
方法
模型和工具使用
使用專門和通用模型處理金融文檔的多模態特性。
- 表格檢測:使用Detectron2Layout識別和提取表格結構。
- 圖像檢測:Pdfminer的布局分析定位PDF中的圖表和圖示。
- 多模態摘要:嘗試使用Gemma3和LLaMA-3.2進行表格和圖像的批量摘要,輸出結構化JSON和純文本。
- 嵌入生成:BAAI/bge-base-en-v1.5模型生成語義文本塊、表格和圖像摘要的嵌入。
- 近似檢索:FAISS提供高效的近似最近鄰搜索。
- 集成的LLM:通過Ollama框架整合Gemma3和LLaMA-3.2,優化內存和速度,支持單GPU部署。
基線框架
使用傳統的RAG管道評估方法性能。
- 基本RAG設置:標準的檢索增強生成管道,使用固定大小文本塊,無語義合并。
- 嵌入與檢索:與MultiFinRAG相同的BAAI/bge-base-en-v1.5嵌入,通過FAISS IVF-PQ從固定塊中檢索,無分層邏輯。
- 無多模態解析:圖表和表格未被總結,視覺和表格元素被簡化為原始文本或忽略。
MultiFinRAG
概覽
系統將每個PDF ?? ?? 分為三類可檢索的塊:文本塊 ?? ?? ^ text、表格塊 ?? ?? ^ table和圖像塊 ?? ?? ^ image。
文本塊包含語義連貫的文本段落,表格和圖像塊通過多模態LLM轉換。所有塊被嵌入并存儲在FAISS索引中。查詢 ?? 觸發分層檢索,先檢索文本,再檢索文本+表格和圖像,自動升級以應對上下文不足,最終生成LLM答案。
語義分塊和索引
句子分割:將敘述分割為句子。
滑動窗口:使用滑動窗口形成重疊塊,以捕捉語義單元。
嵌入與斷點:對每個句子進行嵌入,計算相似度,標記高于95百分位的相似度作為分割點。
塊形成:在斷點處將塊分割為語義塊。
塊合并:計算塊間余弦相似度,合并相似度高的塊以減少冗余。
近似索引:嵌入最終塊集,構建FAISS索引,實現快速k-NN查找,減少上下文大小,降低計算成本。
批量多模態提取
通過檢測區域、語義文本分塊,批量處理表格和圖像,確保100%覆蓋。
- 表格解析:將表格區域裁剪并分批處理,構建多模態提示,確保所有表格都被解析。
- 圖像摘要:對圖像區域進行批量處理,生成摘要,確保所有數據相關圖像都被處理。
分層檢索與決策功能
設定文本、表格和圖像的最小檢索數量,通過分層檢索策略進行有效調用。結合文本、表格和圖像的檢索,使用FAISS索引和系統提示以避免幻覺。
通過決策函數進行閾值校準
通過決策函數進行閾值校準,優化相似性切割點。文本閾值從0.55到0.85逐步調整,記錄檢索質量和QA準確性。表格和圖像閾值在固定文本閾值下獨立調整,記錄準確性。選擇最大化上下文相關性和QA準確性的閾值組合,保持查詢上下文大小在預算內。
最終選擇的閾值為:文本0.70,表格0.65,圖像0.55,確保文本優先,必要時使用表格/圖像。
實驗
本研究關注端到端問答(QA)準確性。信息檢索統計(如精確度、召回率等)在開發過程中收集,但因篇幅限制未在此報告。計劃在后續論文中提供詳細的檢索組件統計數據。
數據集
收集了多家公司財務文件,包括Form 10-Q、Form 10-K、Form 8-K和DEF 14A,通過SEC的EDGAR數據庫和API下載并轉換為PDF。制作了300個評估問題,分為四類:146個文本問題、42個圖像問題、72個表格問題、40個需結合文本和圖像/表格的問題。
文本問題直接從財務文件中提取信息,確保答案簡潔明了。圖像問題要求分析財務圖表,測試框架對圖形的理解能力。
表格問題涉及表格數據的解讀,需準確定位行列獲取答案。
結合文本和圖像/表格的問題最具挑戰性,需要綜合信息才能回答。
評估策略
評估LLM框架輸出仍是重要的研究領域,傳統的精確匹配方法不再適用,尤其在數值答案中可能出現單位差異。BERTScore計算生成答案與參考答案的相似度,但對數值問題不合理,因無法有效比較數字的語義相似性。最近對使用LLM評估GenAI結果的興趣增加,但存在LLM偏見的問題。由于數據集規模和資源限制,選擇手動評估以確保更準確的評估,減少誤判風險。
結果
文本問題準確性:MultiFinRAG框架下,Gemma 3的準確率為90.4%,比基線框架提高15.1%。Gemma 3在識別關鍵答案方面優于Llama-3.2-11B-Vision-Instruct(高6.8%)。
圖像問題準確性:MultiFinRAG與Gemma 3的準確率為66.7%,顯著高于Llama-3.2-11B-Vision-Instruct的42.9%,表明Gemma 3在圖像描述上更有效。
表格問題準確性:MultiFinRAG與Gemma 3的準確率為69.4%,比Llama-3.2-11B-Vision-Instruct的13.9%高55.5%,顯示Gemma 3在表格描述上表現更佳。
綜合問題準確性:MultiFinRAG與Gemma 3的準確率為40%,而Llama-3.2-11B-Vision-Instruct僅為10%。基線框架下Gemma 3的準確率為0%,轉向MultiFinRAG后顯著提升。
與ChatGPT-4o比較
MultiFinRAG與Gemma 3在文本問題上比ChatGPT-4o高出4.1%的準確率,且在某些情況下提供了ChatGPT-4o未能正確回答的答案。
在圖像問題上,MultiFinRAG的準確率比ChatGPT-4o高出40%以上,ChatGPT-4o因文本中多個值的干擾而回答錯誤。
對于表格問題,MultiFinRAG的準確率比ChatGPT-4o高出25%以上,ChatGPT-4o的錯誤回答顯示其可能受限于訓練數據。
在需要同時分析文本和圖像/表格的問題上,MultiFinRAG的準確率為75.3%,比ChatGPT-4o的56.0%高出19.3%。ChatGPT-4o在已有知識的情況下能正確回答,但在不熟悉的信息上表現不佳。
效率與成本
本次評估主要關注準確性,而非處理時間,后者受基礎設施影響較大。MultiFinRAG在Google Colab T4 GPU上處理200頁PDF(含200個表格和150張圖片)平均需25分鐘。目前,MultiFinRAG和基線系統均可在Google Colab免費版上運行,實驗無額外費用。ChatGPT-4o作為對比基準也使用免費版,未產生額外成本。
討論和未來工作
模塊評估:通過系統性消融實驗量化各組件影響。
用戶反饋:未來將進行更廣泛的用戶研究以評估可用性。
結構化數據管道:開發系統處理大表格,提供自然語言接口,直接供給RAG生成器。
跨文檔與縱向分析:構建多文檔索引,支持時間比較和趨勢檢測,提供可視化和自動摘要。
抗噪聲與錯誤修正:通過多種OCR引擎和一致性檢查提高解析準確性,使用微調的LLM進行后處理。
擴展領域覆蓋:方法可推廣至其他金融文檔,適應不同布局和元數據。
微調與領域適應:在高質量金融QA數據集上微調檢索和生成模型。
網頁內容攝取與實時多模態問答:擴展至在線新聞,整合文本、表格和圖形,提升實時問答能力。
總結
MultiFinRAG在處理復雜金融查詢時,準確性超過ChatGPT-4o,尤其在文本、表格和圖像方面。結合模態感知檢索閾值與輕量化量化開源LLM,框架在普通硬件上高效運行,減少60%以上的token使用,提升響應速度。在挑戰性的多模態問答任務中,MultiFinRAG實現超過75%的準確率,提供實用、可擴展且經濟高效的解決方案。
