結構化表格也成模態!浙大TableGPT2開源,最強表格AI問世
機器之心報道
編輯:Panda、杜偉
現在正是多模態大模型的時代,圖像、視頻、音頻、3D、甚至氣象運動都在紛紛與大型語言模型的原生文本模態組合。而浙江大學及其計算機創新技術研究院的一個數十人團隊也將結構化數據(包括數據庫、數倉、表格、json 等)視爲了一種獨立模態。
基於這一視角,依託 Qwen,他們研發了 TableGPT 系列模型。現如今,這個模型已經更新到了第 2 代,性能表現較之前代已有大幅提升:在某些基準上,TableGPT2 能夠媲美甚至優於 GPT-4o!或者按團隊負責人趙俊博博士的說法:「目前通用大模型在許多結構化數據相關的任務上的表現仍然較弱,TableGPT2 在相關任務的榜單上鐵腕刷榜 —— 各類相關任務刷出去平均 40 個點。」
該團隊表示:「提出 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 種不同的「表格 - 信息」輸入組合,組可確保全面覆蓋。
爲了保證數據質量,他們還實施了一個多步驟的數據過濾流程:
用於表格數據的數據增強
爲了提升 TableGPT2 的性能(尤其是商業智能任務性能),該團隊採用了多種查詢增強技術,包括
語義表格編碼器
由於 NL2SQL 等傳統工作流程存在侷限性,該團隊爲 TableGPT2 設計了新的語義編碼器。
這種新的表格編碼器的輸入是整張表格。基於此,它可爲每一列生成一組緊湊的嵌入。
該架構是根據表格數據的獨特屬性專門設計的,畢竟表格與文本、圖像和其它數據類型存在根本性差異。
表格的語義來自四個關鍵維度:單元格、行、列和表格整體結構。這些維度都存在排列不變性(permutation invariance)。基於這一觀察,該團隊實現了一個沒有位置嵌入的二維注意力機制以及一個分層特徵提取過程。這能確保行方向和列方向的關係都被捕獲並被有效理解。
此外,他們還採用了一種逐列式對比學習方法,以鼓勵模型學習有意義的、對結構有感知的表格語義表徵。
該團隊使用了 Q-former 式的適應器(配備了一組可學習的查詢)來將列嵌入與文本嵌入對齊。
他們還引入了兩個特殊 token ,以區分表格特徵和原生文本,讓模型可以同時處理這兩種模態,並且不產生混淆。
爲進一步增強文本信息、列嵌入和 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 項主要的表格分析任務,以全方位評估模型在不同類型任務中的性能:
除了表 4 中已有的基準,團隊構建了一個新基準 RealTabBench。現有基準大多側重於簡單的任務,不符合實際使用場景。爲了克服這一侷限性,團隊構建了這個更具挑戰性、更能反映實際應用場景的新基準,從商業智能(BI)場景中的真實表格中收集了 360 個複雜數據表格,並在此基礎上制定了 6000 個真實、複雜的查詢語句。
在評估模型性能時,團隊採用了兩個在實際應用中特別難處理的表格特徵,分別是:
同時,針對新基準 RealTabBench,團隊又從三個關鍵維度對生成的結果進行了評估,即一致性、信息完整性和安全性。
爲了保證權威性,團隊採用人工評審員與評估 LLM 結合的混合系統來生成最終的分數,並已經公開了整個評估流程中的部分樣本。
評估結果
下表 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 過程都無法充分地處理這些非標準表格結構。此外,許多現有的語料庫也常常忽視這類數據。這一有待填補的空白是值得研究者未來探索的寶貴機會。