結構化表格也成模態!浙大TableGPT2開源,最強表格AI問世

机器之心發表於2024-11-07
當結構化資料也變成一個模態,哪家的大語言模型能脫穎而出呢?

現在正是多模態大模型的時代,影像、影片、音訊、3D、甚至氣象運動都在紛紛與大型語言模型的原生文字模態組合。而浙江大學及其計算機創新技術研究院的一個數十人團隊也將結構化資料(包括資料庫、數倉、表格、json 等)視為了一種獨立模態。

基於這一視角,依託 Qwen,他們研發了 TableGPT 系列模型。現如今,這個模型已經更新到了第 2 代,效能表現較之前代已有大幅提升:在某些基準上,TableGPT2 能夠媲美甚至優於 GPT-4o!或者按團隊負責人陳剛和趙俊博兩位教授的說法:「目前通用大模型在許多結構化資料相關的任務上的表現仍然較弱,TableGPT2 在相關任務的榜單上鐵腕刷榜 —— 各類相關任務刷出去平均 40 個點。」

圖片

  • 論文標題:TableGPT2: A Large Multimodal Model with Tabular Data Integration
  • 論文地址:https://arxiv.org/pdf/2411.02059
  • TableGPT 智慧體:https://github.com/tablegpt/tablegpt-agent
  • Hugging Face:https://huggingface.co/tablegpt/TableGPT2-7B

該團隊表示:「提出 TableGPT2 的關鍵動機是解決當前 LLM 在資料驅動型真實世界應用中的限制。」

當今的許多 LLM 的設計目標就是以端到端的方式執行,而沒有整合外部資料。但該團隊認為這種方法存在固有缺陷。舉個例子,如果你想用 LLM 來幫助你挑選股票,但如果不給它提供實時的市場資訊,它的建議就根本不可能靠譜;更別說必需病人病歷和各類過往的指標資料才能做出準確判斷的醫療 AI 應用了。具身智慧中的靈巧手的觸覺訊號以及多個感測器中的各類 「覺」 也都是結構化資訊。

同時,即便 LLM 已經整合了外部資料來源(如資料庫),其效能也往往無法達到最優。目前常見的整合思路包括透過工具(如 natural-language-to-sql / NL2SQL)來呼叫外部資料來源以及透過更長的長下文和新架構來納入外部資料來源。但這些方法要麼難以用於複雜場景,要麼就效率低下,不實用。

基於這些思考,該團隊認為在整合外部資料來源時需要根本上的正規化轉變。TableGPT2 也由此而生,該模型的設計目標是直接且高效地整合和處理表格資料,克服當前 LLM 的固有限制,進而實現生產級部署。

之前 LLM 和 VLM 方面的研究已經證明了大規模多樣化資料集的重要性。其實表格資料也同樣多,並且也同樣重要。據估計,全球超過 70% 的資料都是以結構化的表格形式儲存的,包括資料庫和電子表格。

所以,資源浩瀚,也因此,開發大規模表格模型極具潛力!該團隊表示:「透過使用大規模表格及其 schema 後設資料的資料集,我們的目標是探索能否有效地建模這些資料格式,從而得到可用於商業智慧等應用的功能強大的模型。」

TableGPT2 的表格資料編碼器是該團隊全新設計的,其重在建模表格資料的結構和內容。這讓 TableGPT2 可以捕獲 schema 層面和單元格層面的資訊,從而有望為表格大模型帶來文字模型和視覺模型所經歷過的那種巨大提升。

TableGPT2 是什麼

從名稱也能看出,TableGPT2 是 TableGPT 的新一代版本。初始版本的 TableGPT 就已經引入了結構化特定領域語言(DSL)和專用表格編碼器等方法,可以管理複雜的基於表格的查詢。在此基礎上,TableGPT2 實現了巨大的改進。他們不僅擴大了資料和訓練協議的規模,還重新設計了每個元件,同時也引入了一些提升穩健性、擴大適用性以及最佳化商業智慧應用效能的技術。

最終,大規模多模態模型 TableGPT2 誕生了!它有兩種配置:7B 和 72B 版本。它們全都基於 Qwen2.5 系列模型。訓練過程中,該團隊使用了超過 860 億 token 來進行持續預訓練(CPT)、超過 43.75 萬個表格 - 語言交織的樣本來訓練編碼器、236 萬多個高質量「查詢 - 表格 - 輸出」元組來進行監督式微調。

在相關研究中,這種規模是前所未有的,足以保證 TableGPT2 滿足涉及結構化或表格資料的現代應用的嚴格要求。

TableGPT2 經歷的持續預訓練(CPT)、監督式微調(SFT)和支援生產級能力的智慧體框架不同於傳統 LLM,因為這裡的預訓練和微調更加註重程式設計、多輪推理和工具使用。這些特點可確保模型不僅擅長自然語言處理,而且能夠很好地處理與表格相關的複雜任務。

此外,該團隊還初步探索了表格資料的多模態對齊。具體來說,TableGPT2 創新性地加入了一個單獨的模態模組,專門用於讀取和解釋表格資料。類似於視覺 - 語言模型(VLM),TableGPT2 包含一個表格資料讀取模組,其作用是生成與來自文字輸入的 token 嵌入相連線的專用嵌入。這個新增模組可讓 TableGPT2 更好地捕獲表格資料的結構和語義,從而在複雜的商業智慧場景中實現更準確的表格理解。圖 1 描繪了其整體模型框架。
圖片
TableGPT2 是如何煉成的

持續預訓練

為了實現 TableGPT2 的目標,該團隊首先是透過持續預訓練(CPT)來提升模型的程式設計和推理能力。

具體來說,80% 的 CPT 資料都是標註良好的程式碼,從而確保 TableGPT2 具有穩健的程式設計能力,這與 DeepSeek-v2 採用的方法是一致的。此外,該團隊還做了補充;他們收集整理了大量包含多種領域知識(如金融、製造業、生物技術、市場技術)的推理資料和一般教科書,以保持資料比例平衡,增強推理能力。表 1 展示 CPT 過程中使用的資料分佈和總 token 數。
圖片
在資料處理方面,他們採用了一種兩級過濾策略。

在文件層面,他們使用 54 個不同的類別對資料進行了標註,以確保全面覆蓋不同的文件型別。下表展示了一些重要的過濾標籤。
圖片
在 token 層面,則是利用了 RHO-1 來微調對高質量 token 的選擇。

此外,他們還引入了一種可將程式碼長度和上下文視窗設定納入考慮的新方法,這可最佳化模型有效處理多種不同程式碼段的能力。

經過徹底過濾後,最終的 CPT 資料包含 86B token,這種穩健強大的預訓練可確保 TableGPT2 具備必要的程式設計和推理能力,足以應對複雜的商業智慧和其他相關任務。

有監督微調

在 TableGPT2 中,監督式微調(SFT)的作用是解決在用於商業智慧任務和場景時的侷限。

為此,該團隊編排了一個資料集,其中包含範圍廣泛的近乎現實的關鍵場景,包括多輪對話、複雜推理、工具使用和針對具體業務的查詢。

這個資料集的構建過程既包括人工標註,也包含一個專家驅動的自動化標註流程,從而可以保證資料的質量和相關性。總體而言,SFT 過程涉及 236 萬個樣本, token 數量達數十億,足可用於進一步微調模型,使其滿足商業智慧和其他涉及表格的環境的特定需求。
圖片
更具體地說,TableGPT2 的 SFT 流程有一個關鍵差異,即這 236 萬個指令樣本的組成非常平衡且多樣化。如此一來,就可以滿足表格相關任務的需求:既需要通用的模型能力,也需要針對表格的技能。

該資料集包含的表格專有任務包括程式碼生成(Python 和 SQL)、表格查詢、資料視覺化、統計測試和預測建模。此外,其中還有表格理解、表格生成、缺失值插補和基於表格的問答等多種任務,幾乎涵蓋了表格使用的所有階段。輸入格式加上隨機排列的表格後設資料(如欄位描述、schema 資訊和值列舉),可以產生超過 20 種不同的「表格 - 資訊」輸入組合,組可確保全面覆蓋。

為了保證資料質量,他們還實施了一個多步驟的資料過濾流程:

  • 首先,使用一組基於規則的過濾器,包括使用 Python 和 SQL 執行器檢查程式碼的可執行性和正確性,從而消除常見錯誤(例如鍵錯誤和型別轉換問題)。此外,還會使用正規表示式和其他規則來丟棄異常輸出。
  • 然後,使用多個模型(如 GPT-4o)對過濾後的資料進行評分;這裡使用的提示詞是專門設計的,可以保證得到更為細緻的評估。只要當樣本在所有評分組合上都超過閾值時,該樣本才會被保留下來。
  • 之後,透過人工檢查進行樣本校準。如果樣本準確率低於 95%,就重新審查並最佳化其資料生成和過濾指令碼。
  • 最後,執行評估,這會用到一個包含約 94.9K 個案例(包括現有案例和新構建的案例)的固定驗證集,如此可確保生成的結果是可執行且準確的。同時還會執行進一步的手動驗證來抽查任何不一致之處並檢測潛在的資料問題,例如缺少函式呼叫或多輪對話能力較差。

用於表格資料的資料增強

為了提升 TableGPT2 的效能(尤其是商業智慧任務效能),該團隊採用了多種查詢增強技術,包括

  • 在查詢內引入欄位時進行模糊化處理
  • 透過匿名化欄位名和類別值來實現表格資料增強
  • 透過結合單輪和多輪問答任務來增強模型的多功能性
  • 使用變動的提示詞格式和輸出結構來降低 TableGPT2 對某些提示詞模板的敏感度
  • 在資料生成過程中應用後處理增強來提升訓練資料的多樣性

語義表格編碼器

由於 NL2SQL 等傳統工作流程存在侷限性,該團隊為 TableGPT2 設計了新的語義編碼器。
圖片
這種新的表格編碼器的輸入是整張表格。基於此,它可為每一列生成一組緊湊的嵌入。

該架構是根據表格資料的獨特屬性專門設計的,畢竟表格與文字、影像和其它資料型別存在根本性差異。

表格的語義來自四個關鍵維度:單元格、行、列和表格整體結構。這些維度都存在排列不變性(permutation invariance)。基於這一觀察,該團隊實現了一個沒有位置嵌入的二維注意力機制以及一個分層特徵提取過程。這能確保行方向和列方向的關係都被捕獲並被有效理解。

此外,他們還採用了一種逐列式對比學習方法,以鼓勵模型學習有意義的、對結構有感知的表格語義表徵。

該團隊使用了 Q-former 式的適應器(配備了一組可學習的查詢)來將列嵌入與文字嵌入對齊。

他們還引入了兩個特殊 token <tab> 和 </tab>,以區分表格特徵和原生文字,讓模型可以同時處理這兩種模態,並且不產生混淆。

為進一步增強文字資訊、列嵌入和 schema 後設資料之間的對齊程度,他們還使用了聯合指令微調。此過程有助於最佳化模型對錶格資料的理解,使其能夠更有效地整合和解讀各種輸入。

順帶一提,目前這個編碼器部分還尚未開源。至於原因,趙俊博博士表示:「一方面保護下團隊學生們未來的小論文,另外一方面確實 VLM 和特定領域的適配沒弄好,解碼器可以獨立使用,效果仍在。」

智慧體框架

該團隊在開源庫中提供了一個全面的智慧體工作流程執行時間框架,其設計目標是將 TableGPT2 無縫地整合到企業級資料分析工具中。該框架包含三個核心元件:

  • 執行時間的提示詞工程
  • 一個安全的程式碼沙箱
  • 一個智慧體評估模組

它們加在一起,可以提升智慧體的能力和可靠性。這個工作流程具有模組化的步驟,因此可支援複雜的資料分析。這些步驟包括輸入規範化、智慧體執行(可選擇 VLM 支援)、工具呼叫。

再結合檢索增強式生成(RAG,用於高效上下文檢索)和程式碼沙箱(用於安全執行),該框架可確保 TableGPT2 為實際問題提供準確、與上下文相關的見解。

下圖展示了智慧體的完整工作流程:首先透過一個提示詞工程模組來準備和處理輸入查詢。再基於一個外部知識庫使用 RAG 模組後,將經過處理的輸入送入主模型。然後,TableGPT2 會與一個視覺 - 語言模型(VLM)合作生成工具呼叫、程式碼等相關動作。透過觀察中間結果,可以根據需求選擇是否迭代,以利用該智慧體的反思能力。透過智慧體與工具之間的無縫互動,這個迭代過程最終可得到最終輸出。
圖片
TableGPT2 效果怎麼樣

在實驗部分,團隊此次針對表格相關任務進行了全面的基準測試,不僅涵蓋了已有的一些資料集,還加入了一個新收集的、面向真實任務的複雜表格資料集,從而提供了一個嚴格的評估平臺。

為了進行全面的比較,團隊選擇了多樣化的基線大語言模型。第一類是最先進的開源通用 LLM,包括 DeepSeek-Coder-V2-Lite-16B、 YiCoder-9B-Chat 以及 Qwen2.5-Coder-7B-Instruct、Qwen2.5-7B-Instruct。

第二類是針對表格相關任務進行微調或專門開發的模型,比如針對表格分析設計和最佳化的 TableLLM、為處理電子表格和文件設定中各種真實表格操作而微調的 CodeLlama-13B。

基準概覽

下表 4 彙總了現有的表格理解和推理基準,共涵蓋了 27.7K 個表格和 88.9K 個測試樣本。團隊將這些基準劃分為了以下 6 項主要的表格分析任務,以全方位評估模型在不同型別任務中的效能:

  • 表格理解
  • 表格問答(TableQA)
  • 表格事實驗證
  • 表格到文字生成(Table2Text)
  • 自然語言到 SQL(NL2SQL)
  • 整體評估
圖片
除了表 4 中已有的基準,團隊構建了一個新基準 RealTabBench。現有基準大多側重於簡單的任務,不符合實際使用場景。為了克服這一侷限性,團隊構建了這個更具挑戰性、更能反映實際應用場景的新基準,從商業智慧(BI)場景中的真實表格中收集了 360 個複雜資料表格,並在此基礎上制定了 6000 個真實、複雜的查詢語句。

在評估模型效能時,團隊採用了兩個在實際應用中特別難處理的表格特徵,分別是:
  • 模糊性,表格中潛在的形似「A1」、「A2」等難以確認實際含義的匿名欄位會對自動分析構成很大的挑戰;

  • 不規則性,在生產環境中,表格資料透過包含普遍的合併操作和不規則的結構,比如合併單元格和非均勻佈局。

同時,針對新基準 RealTabBench,團隊又從三個關鍵維度對生成的結果進行了評估,即一致性、資訊完整性和安全性

為了保證權威性,團隊採用人工評審員與評估 LLM 結合的混合系統來生成最終的分數,並已經公開了整個評估流程中的部分樣本。
圖片
  • 專案地址:https://github.com/tablegpt/tablegpt-agent/tree/main/realtabbench

評估結果

下表 5 展示了 TableGPT2 (7B 和 72B 版本)與最先進基線模型的比較結果。值得注意的是,在沒有對任何特定基準訓練集進行大量訓練的情況下,TableGPT2 顯著優於幾乎所有其他 LLM 方法。並且在某些基準上,TableGPT2 能夠媲美甚至優於 GPT-4o。

另外,在涉及分層結構表格的複雜資料基準(如 HiTab)上,當前大多數 LLM 方法表現不佳。相反,TableGPT2 有了明顯改進,與 Qwen2.5 系列模型相比,執行準確率實現了 60% 以上的絕對增長。
圖片
同樣地,對於 RealTabBench 資料集,TableGPT2(7B)在多項任務上均達到了新 SOTA。
圖片
為了更直觀地展示 TableGPT2 的效果,團隊選擇了幾個比較案例(vs Qwen2.5 系列模型),涵蓋了不規則表格、一般表格和模糊表格的場景。具體結果如下圖 4 所示。
圖片
最後,針對表格相關任務對 LLM 微調不應損害其整體效能。為了驗證這一觀點,團隊在下表 7 中對流行的基準展開評估,包括 MBPP、HumanEval、CMMLU 和 MMLU。

結果顯示,TableGPT2 在這些基準上保持了強大的效能,並沒有出現通用能力的下降。
圖片
未來改進方向

不過,團隊也表示,儘管 TableGPT2 在評估中實現了 SOTA,但尚未完全解決在實際 BI 環境中部署 LLM 的挑戰。因此距離將該模型可靠地用於生產系統仍有一些差距。團隊提出可以採用以下幾種關鍵的技術與方法來解決。

一是針對特定領域進行編碼

團隊雖然利用 Python 和 SQL 資料對 TableGPT2 進行了微調,但考慮到安全和效率等因素,特定領域通常需要專門的編碼。這就面臨一個關鍵挑戰:如何使 LLM 能夠快速適應企業特定的 DSL 或虛擬碼?拿 TableGPT2 來說,雖然它可以生成程式碼,但問題在於如何有效地彌合這些程式碼與企業資料基礎設施特定需求之間的差距?

在 TableGPT2 中,團隊採用了一種混合輸出方法,結合使用了結構 DSL 輸出和標準程式設計程式碼。這使得模型流暢地生成結構化和非結構化程式碼,在提供靈活性的同時可以保持領域特定應用所需的結構。

這些領域特定語言可以提供更好的可解釋性,允許透過使用者友好的介面更直接地與 LLM 輸出進行互動。同時,這些語言可以最大限度地減少潛在的安全風險和錯誤,從而帶來更安全、更強大的解決方案。

團隊認為,生產環境中的編碼不單單是簡單的程式碼生成,需要仔細考慮領域特定的需求、基礎設施相容性以及靈活性與安全性之間的平衡,在混合使用 DSL 和通用程式碼時更要如此。

二是多智慧體設計

儘管 TableGPT2 在表格相關任務中取得了 SOTA 效能,但仍然不能指望單個端到端 LLM 能夠獨立地完全解決複雜的真實任務。因此,團隊最近在密切關注一項新的研究 —— 自動化智慧體系統設計,它遵循了 LLM 工作流的自動化編排原則。

其中多個 LLM 被組織成有向無環圖(DAG)結構,這樣輸入查詢可以根據圖的拓撲順序自動路由到一系列 LLM 中。每個 LLM 執行一項專門的功能。DAG 流程由系統本身決定,並根據手頭任務決定要用到哪些 LLM。這種自動化流程工程建立了一個靈活的模組化工作流程,並根據問題需求動態調整,正如 AutoML 系統自動配置機器學習模型以獲得最佳效能一樣。

這樣的例子還有很多,比如用於股票和基金推薦的小型自然語言應用,它需要將 LLM 與實時市場資料連線起來。在這種多智慧體架構中,通常需要為不同的 LLM 分配不同的角色,每個 LLM 都要在針對其功能專門定製的資料上進行微調。每個 LLM 還要根據輸入來配置不同的提示詞模版和 RAG 設定,並在輸出階段應用不同的編碼和對話邏輯。這樣一來,每個階段的定製微調可以確保整個 pipeline 提供精準和上下文感知的響應,從而解決真實應用的複雜性。

一個足夠先進的單一基礎模型最終能不能取代連結多個模型的需要呢?團隊認為這在很大程度上仍是理論上可行。這種模型需要擁有足夠的通用智慧來處理統一框架內的各種任務。但從自身經驗出發,團隊表示通常需要兩個以上的 LLM 才能解決真實應用的全部複雜性。因此,團隊認為,單一模型何時能夠熟練、無縫地解決跨多個領域的問題仍不確定,在生產階段尤為如此。

三是充分利用表格的多功能性

儘管 TableGPT2 主要關注 BI 應用 —— 在這些應用中,結構化資料的上游來源是資料庫或資料倉儲;不過,表格資料還有另一個非常常見的來源,即 Apple Pages 或 Microsoft Excel 等應用程式。

這些表格與資料庫等基礎設施中的表格往往差異巨大,因為人們日常使用的表格常常並不規則。舉個例子,Pages 或 Excel 中的表格常常有合併單元格、不一致的行列結構、非標準的資料格式。這些不規則會讓此類表格的處理複雜度更高。另外,不同組織機構使用的表格形式差異也很大,比如有些單元格可能會包含自由形式的文字、有些單元格沒有填充等等。

在 TableGPT2 模型所在的智慧體工作流程中,該團隊還專門為規範不規則表格微調了一個單獨的 LLM,並將其整合到一個整體系統中。然而,處理不規則表格仍有很大的改進空間,尤其是考慮到其巨大的商業生產潛力。

因此,該團隊猜想,要處理這種不規範,就應該從預訓練階段開始,以確保模型能夠熟練處理表格的各種格式。

當前的許多 LLM 以及 RAG 過程都無法充分地處理這些非標準表格結構。此外,許多現有的語料庫也常常忽視這類資料。這一有待填補的空白是值得研究者未來探索的寶貴機會。

相關文章