GPT+結(jié)構(gòu)化數(shù)據(jù):可分析數(shù)據(jù)、作圖和建模
本文約6000字,建議閱讀10+分鐘
Table-GPT,是一個專為表分析而設(shè)計的大型語言模型,統(tǒng)一了表、自然語言和命令。1 摘要
GPT-3和ChatGPT等語言模型在遵循不同的人類指令和執(zhí)行各種任務(wù)方面表現(xiàn)出卓越的能力,然而在表格數(shù)據(jù)(結(jié)構(gòu)化數(shù)據(jù))理解任務(wù)中表現(xiàn)不佳。這可能是因為這些模型主要是在一維自然語言文本上預(yù)訓(xùn)練的,而表格作為二維對象,需要更復(fù)雜的信息處理能力。(個人認(rèn)為也可能因為神經(jīng)網(wǎng)絡(luò)不太擅長異構(gòu)數(shù)據(jù),也不太擅長數(shù)值表示)
Table-GPT是一個突破大語言模型技術(shù)限制的數(shù)據(jù)分析工具,采用大模型“表格調(diào)優(yōu)”范式,是使用真實表格合成任務(wù)數(shù)據(jù)來訓(xùn)練/微調(diào)GPT3.5和ChatGPT等語言模型,增強(qiáng)了它們理解和執(zhí)行表格任務(wù)的能力。
它以表格、自然語言和命令為基礎(chǔ),將幾個核心組件集成到GPT模型中,包括全局表表示、命令鏈和領(lǐng)域感知微調(diào)。Table-GPT在表格理解任務(wù)上優(yōu)于普通GPT-3.5和ChatGPT,并能夠響應(yīng)指令執(zhí)行新的表格任務(wù)。Table-GPT框架具有語言驅(qū)動的EDA、統(tǒng)一的跨模式框架和泛化與隱私保護(hù)等優(yōu)勢。它簡化了用戶處理表格數(shù)據(jù)的方式,提高了數(shù)據(jù)操作執(zhí)行的可靠性,并可以更好地處理數(shù)據(jù)可變性和泛化到不同領(lǐng)域。此外,Table-GPT還支持私有部署,提供強(qiáng)大的數(shù)據(jù)隱私保護(hù)。
2 介紹
2.1 調(diào)優(yōu)
NLP中的指令調(diào)優(yōu) 是一種訓(xùn)練語言模型以遵循不同人類指令的技術(shù),通過構(gòu)建“(指令,完成)”的訓(xùn)練數(shù)據(jù),由人類標(biāo)注者手動注釋,從而繼續(xù)訓(xùn)練模型以遵循高級人類指令,產(chǎn)生了著名的模型如ChatGPT/InstructGPT和它們的開源版本如Stanford-Alpaca和LLaMa-chat。早期的GPT-3模型不能可靠地遵循這種指令,后來才在ChatGPT等模型中實現(xiàn)。
表調(diào)優(yōu) 是一種訓(xùn)練語言模型理解表格的新方法。我們通過使用指令、表和完成形式的多訓(xùn)練數(shù)據(jù),來提高模型遵循人類指令的能力。我們使用大量真實表合成數(shù)據(jù),過程如圖1所示。

圖1 指令調(diào)優(yōu)與表調(diào)優(yōu)。(左)指令調(diào)優(yōu)是在NLP社區(qū)開發(fā)的一種技術(shù),它繼續(xù)訓(xùn)練語言模型(如GPT)以獲得指令遵循能力(如ChatGPT)。(右)表調(diào)優(yōu)是我們提出的一種類似的方法,用于訓(xùn)練語言模型以更好地理解表并執(zhí)行表任務(wù)?
2.2 語言模型
目前流行的語言模型有兩種:編碼器式語言模型和解碼器式語言模型,都源于原始的Transformer架構(gòu)。
編碼器式語言模型 包括BERT和RoBERTa,它們僅使用Transformer的編碼器,并在大量文本上預(yù)訓(xùn)練,以使用嵌入向量有效地表示文本的語義。為了將這種模型用于下游任務(wù),通常采用特定任務(wù)的微調(diào)。
解碼器式語言模型 包括GPT和LLaMa,它們本質(zhì)上是生成性的,并且被證明在泛化到新的下游任務(wù)方面表現(xiàn)出色,而無需進(jìn)行特定任務(wù)的微調(diào)。特別是經(jīng)過指令調(diào)優(yōu)后,解碼器式模型可以僅使用自然語言指令和可選的幾個示例,輕松適應(yīng)新任務(wù),這種方法可以適應(yīng)新的數(shù)據(jù)集和新的任務(wù),而無需為每個特定任務(wù)對標(biāo)記數(shù)據(jù)進(jìn)行微調(diào),從而使解碼器式模型更加通用和多才多藝。
2.3 表格任務(wù)的語言模型
數(shù)據(jù)庫文獻(xiàn)中的開創(chuàng)性工作使用語言模型執(zhí)行與表相關(guān)的任務(wù)。編碼器式語言模型(如TaBERT、Ditto和Doduo)基于編碼器式BERT類模型訓(xùn)練,并在各種表格任務(wù)中表現(xiàn)良好。但要泛化到新數(shù)據(jù)集或任務(wù),需用標(biāo)記數(shù)據(jù)進(jìn)行微調(diào)。相反,解碼器式語言模型(如GPT-3和ChatGPT)只需指令即可執(zhí)行任務(wù),通過“提示工程”技術(shù)使普通語言模型在表任務(wù)上表現(xiàn)良好。
我們提出“表調(diào)優(yōu)”,探索正交方向,繼續(xù)訓(xùn)練基礎(chǔ)語言模型一次,提高模型在各種表任務(wù)上的表現(xiàn)。圖2顯示了表調(diào)優(yōu)過程,類似于指令調(diào)優(yōu)但更注重提高模型理解表和執(zhí)行表任務(wù)的能力。我們的表調(diào)優(yōu)模型仍然是通用的,能夠遵循人類指令執(zhí)行表任務(wù)(無需任務(wù)特定的微調(diào)),就像底層GPT-3和ChatGPT模型一樣。在Table-GPT中,目標(biāo)是同時具備泛化能力和良好的表任務(wù)性能。

圖2 指令調(diào)優(yōu)與表調(diào)優(yōu)。指令調(diào)優(yōu)可以提高模型的“泛化能力”,遵循不同的人類指令執(zhí)行新的和未知的任務(wù)(x軸),而我們提出的表調(diào)優(yōu)在精神上是類似的,但旨在提高模型理解表和執(zhí)行表任務(wù)的能力(y軸)?
3 語言模型可以“讀懂”表格嗎?
語言模型在閱讀和理解二維表格時面臨挑戰(zhàn),包括一維文本與二維表格的差異,以及順序敏感的文本與排列不變的表格。
為了測試語言模型按列方向讀取表格的能力,我們設(shè)計了簡單的測試任務(wù)(T-1),包括“缺失值識別”,從真實表中刪除隨機(jī)單元格,生成兩個變體。如圖3所示:

圖3:任務(wù)(T-1)缺失單元格識別的兩個變體。(左)T-1(a):從真實表格中隨機(jī)移除一個單元格,但保留其列分隔符?!皘 |”的存在表示缺失的單元格,應(yīng)該很容易識別。(右)T-1(b):隨機(jī)移除一個單元格及其列分隔符,這是一個常見但具有挑戰(zhàn)性的CSV解析問題?
我們使用1000個真實表進(jìn)行測試,結(jié)果如表1所示:列方向讀取表格具有挑戰(zhàn)性,準(zhǔn)確率分別為0.38和0.26;使用列分隔符和幾次演示后,模型僅能正確完成一半測試(0.51);行方向上,模型識別缺失單元格的能力更好,但在“無 col-separator”設(shè)置中仍不夠好。
表1 GPT-3.5(使用Text-Davinci-002)在任務(wù)(T-1)缺失值標(biāo)識上的準(zhǔn)確性數(shù)據(jù)

語言模型在列方向讀取表格的能力不足,在行方向識別缺失單元格的能力較弱。這表明語言模型可能不適合表格任務(wù)。因此,需要開發(fā)表調(diào)優(yōu)方法。
4 TABLE-GPT的表調(diào)優(yōu)
4.1 總體方法:綜合然后增強(qiáng)
表調(diào)優(yōu)受到NLP文獻(xiàn)的成功啟發(fā),使用“(指令,完成)”對訓(xùn)練語言模型,造就了ChatGPT和LLama-chat等流行模型。我們提出的表調(diào)優(yōu)則是通過使用“(指令,表,完成)”三元組來提高模型執(zhí)行表任務(wù)的能力。定義表格任務(wù)的實例為三元組,包括指令、表和完成。然而,挑戰(zhàn)在于保證“(指令,完成)”對的質(zhì)量,需要大量人工標(biāo)注以確保訓(xùn)練數(shù)據(jù)的質(zhì)量和多樣性。我們希望復(fù)制表域中指令調(diào)優(yōu)的成功,但理想情況下不需要昂貴的人工標(biāo)注?,F(xiàn)有的基準(zhǔn)數(shù)據(jù)存在任務(wù)和數(shù)據(jù)多樣性不足的問題,我們試圖僅使用現(xiàn)有的基準(zhǔn)數(shù)據(jù)進(jìn)行表調(diào)優(yōu),導(dǎo)致過擬合。
4.2 綜合不同的表任務(wù)
我們提出了兩種方法:(1) 合成新的表任務(wù)以實現(xiàn)任務(wù)多樣性,(2) 合成現(xiàn)有表任務(wù)的新表測試用例以實現(xiàn)數(shù)據(jù)多樣性。我們抓取了290萬個高質(zhì)量的網(wǎng)絡(luò)表格和18.8萬個數(shù)據(jù)庫表格,并根據(jù)從語料庫中抽樣的真實表格合成表格任務(wù)。
表2為18個與表格相關(guān)的任務(wù)的收集和總結(jié),以便對 GPT 進(jìn)行“表格調(diào)整”,使其能夠更好地處理表格任務(wù)。這些任務(wù)涵蓋了諸如表格理解、表格問答、表格匹配、表格清理、表格轉(zhuǎn)換等廣泛領(lǐng)域。表格2中的每個任務(wù)都有一個任務(wù)類別和表格數(shù)據(jù),其中任務(wù)類別涵蓋了各種任務(wù)類型,表格數(shù)據(jù)則包括從各種真實表格中合成的任務(wù),以確保訓(xùn)練數(shù)據(jù)的多樣性并避免過擬合。
表2 18個與表相關(guān)的任務(wù)的收集和總結(jié)

4.3 增強(qiáng)綜合表任務(wù)
我們通過不同級別進(jìn)行增強(qiáng),包括指令級、表級、補(bǔ)全級和語言模型輔助完成增強(qiáng),旨在創(chuàng)建更多的數(shù)據(jù)多樣性并避免過擬合。
在指令級,我們使用GPT對規(guī)范指令進(jìn)行增強(qiáng),生成多種變體。在表級,我們可以執(zhí)行諸如列置換、行置換、列采樣、行采樣等操作以增加表的多樣性。在補(bǔ)全級,我們通過添加推理步驟到原始補(bǔ)全來增強(qiáng)。最后,我們使用語言模型輔助完成增強(qiáng),通過逐步推理培養(yǎng)模型在復(fù)雜任務(wù)上的表現(xiàn)。真實輔助完成增強(qiáng)使用了地面實況逐步推理,例如任務(wù)(T-9)錯誤檢測。常規(guī)語言模型在此任務(wù)中會產(chǎn)生大量誤報,例如將沒有拼寫錯誤的單元格自信地預(yù)測為拼寫錯誤。使用表任務(wù)合成步驟中的真實事實生成增強(qiáng)完成,嵌入推理步驟,可以減少誤報并提高結(jié)果質(zhì)量。此外,還執(zhí)行了其他類型的增強(qiáng),包括模板級增強(qiáng)和任務(wù)級增強(qiáng),以提高訓(xùn)練數(shù)據(jù)的多樣性和平板調(diào)整。
4.4 Table-GPT 作為“表基礎(chǔ)模型”
我們使用綜合然后增強(qiáng)方法生成表任務(wù),并訓(xùn)練語言模型以最大化完成損失。這個過程稱為表調(diào)優(yōu)。表調(diào)優(yōu)后的模型TableTune(M) 若在以下場景的表現(xiàn)優(yōu)于M,那么它可以作為更好的“表基礎(chǔ)模型”:(1) 開箱即用的零樣本;(2)開箱即用的few-shot;(3)針對特定任務(wù)的提示調(diào)優(yōu);(4)特定任務(wù)微調(diào)。
我們期望通過實驗評估來驗證表調(diào)優(yōu)的有效性。
5 實驗
5.1 實驗設(shè)置
我們測試了GPT-3.5、Table-GPT-3.5、ChatGPT和Table-ChatGPT四種模型。其中,Table-GPT-3.5和Table-ChatGPT是通過對GPT-3.5和ChatGPT進(jìn)行表調(diào)優(yōu)后獲得的模型,如表3。我們使用了14種表任務(wù)作為訓(xùn)練數(shù)據(jù),并確保測試任務(wù)與訓(xùn)練數(shù)據(jù)分開。對于不可見任務(wù),我們評估了模型是否可以遵循人類指令并執(zhí)行新的不可見任務(wù)。對于常見任務(wù),我們希望表調(diào)整模型能夠展示表相關(guān)的概念。我們使用了現(xiàn)有的基準(zhǔn)數(shù)據(jù),對于無法自動合成真實標(biāo)簽的任務(wù),我們使用了手動標(biāo)記的基準(zhǔn)數(shù)據(jù)。測試數(shù)據(jù)及其統(tǒng)計的詳細(xì)信息可見表4。
表3 在 GPT-3.5 和 ChatGPT 上針對各個數(shù)據(jù)集進(jìn)行表調(diào)優(yōu)的詳細(xì)結(jié)果。零樣本不適用于需要示例的行到行示例轉(zhuǎn)換(標(biāo)記為“N.A.”)。對于所有“看不見”的任務(wù),這些任務(wù)在表調(diào)整期間會被保留且看不見。對于所有“Seen”任務(wù),任務(wù)在表調(diào)整期間可見,但測試數(shù)據(jù)集被保留且不可見。

表4 測試數(shù)據(jù)和評估指標(biāo)的詳細(xì)信息

5.2 質(zhì)量比較:未見+已見任務(wù)
圖4和圖5分別比較了GPT-3.5與Table-GPT-3.5、ChatGPT與Table-ChatGPT的性能。表調(diào)整模型在各種表任務(wù)上顯示出強(qiáng)大的性能優(yōu)勢,顯示出我們提出的表調(diào)優(yōu)方法在不同風(fēng)格的底層語言模型之上的通用性。在總共104次測試中,表調(diào)整模型在98次測試中表現(xiàn)出色。
圖4 普通 GPT-3.5 和 Table-GPT-3.5 之間的整體質(zhì)量改進(jìn)
圖5 普通 ChatGPT 和 Table-ChatGPT 之間的整體質(zhì)量改進(jìn)??
5.3 特定任務(wù)優(yōu)化的好處
表調(diào)整的GPT模型在零樣本和少樣本設(shè)置中表現(xiàn)良好,可以作為表基礎(chǔ)模型,使用特定任務(wù)的優(yōu)化可以提高下游任務(wù)的質(zhì)量。單任務(wù)提示工程中,Table-GPT-3.5相較于GPT-3.5表現(xiàn)更優(yōu),使用200個標(biāo)記示例進(jìn)行提示工程評估,Table-GPT-3.5始終選擇更佳的提示。圖 6 顯示了分別為 Table-GPT-3.5 和 GPT-3.5 選擇的前 5 個提示。單任務(wù)微調(diào)中,Table-GPT-3.5和GPT-3.5都受益于特定任務(wù)的微調(diào),但Table-GPT-3.5所需標(biāo)記數(shù)據(jù)更少,如圖7。
圖6 使用prompt工程進(jìn)行質(zhì)量比較。在Efthymiou數(shù)據(jù)集上,顯示了5個最佳prompt模板的結(jié)果
圖7 單任務(wù)微調(diào)
5.4 敏感度分析
我們進(jìn)行了敏感性分析,研究了訓(xùn)練任務(wù)數(shù)量、訓(xùn)練數(shù)據(jù)量、基礎(chǔ)模型大小和提示模板對表調(diào)整模型性能的影響,如圖8-11。
圖8 不同訓(xùn)練任務(wù)數(shù)量
圖9 不同訓(xùn)練數(shù)據(jù)量
圖10 不同模型大小
圖11 不同提示模板
可以發(fā)現(xiàn),使用更多的訓(xùn)練任務(wù)可以提高所有任務(wù)的性能,隨著訓(xùn)練數(shù)據(jù)量的增加,可見和不可見任務(wù)的性能都會提高,但趨于穩(wěn)定。對于基礎(chǔ)模型大小,我們發(fā)現(xiàn)tabletuned模型在較大模型上表現(xiàn)更好,這可能是因為它們具有更好的泛化能力。最后,我們發(fā)現(xiàn)不同的提示模板會對模型的性能產(chǎn)生影響,但table-GPT-3.5在所有提示模板上始終優(yōu)于GPT-3.5 10個百分點(diǎn)以上,這顯示了Table-GPT-3.5的穩(wěn)健性。在表格格式方面,Markdown格式的平均性能優(yōu)于其他格式,如表5。
表5 Table-GPT-3.5在不同的表格格式下的性能
5.5 消融研究
我們進(jìn)行消融分析以了解不同增強(qiáng)策略的益處,結(jié)果總結(jié)如表。沒有任務(wù)級增強(qiáng),即沒有合成任務(wù),性能顯著下降。沒有表級增強(qiáng),即沒有列排列,性能降低。沒有指令級增強(qiáng),即沒有提示變化,性能略有下降。沒有完成級增強(qiáng),即沒有思維鏈,性能會降低。
表6 表調(diào)優(yōu)的消融研究
6 Table-GPT
6.1 模型設(shè)計
Table-GPT基于7B參數(shù)的Phoenix模型,對2T文本數(shù)據(jù)和0.3M表格進(jìn)行微調(diào),支持用戶查詢和表分析報告。
Table-GPT的整體架構(gòu)如圖12所示。Table-GPT由表編碼器和LLM組成,結(jié)合輸入表和文本查詢進(jìn)行推理,生成命令序列和文本回復(fù)。糾錯后執(zhí)行命令,提供操作表和回復(fù)。流程簡化提高查詢效率,增強(qiáng)用戶體驗,簡化數(shù)據(jù)分析。
圖12 TableGPT框架結(jié)構(gòu)
6.2 表的全局表示
大型語言模型(LLM)已實現(xiàn)與視覺、音頻等多種模式的交互,但與表格數(shù)據(jù)接口的探索仍受限。如何讓LLM理解和解釋表格數(shù)據(jù)至關(guān)重要。現(xiàn)有方法僅提取部分信息,忽略了數(shù)據(jù)中固有的全球信息和行業(yè)背景。對于表格,需要將整個表格嵌入到一個向量中,而不是生成樣本嵌入。這具有挑戰(zhàn)性,因為表數(shù)據(jù)是高度抽象的結(jié)構(gòu)化數(shù)據(jù)類型,具有雙排列不變性結(jié)構(gòu)。此外,不同領(lǐng)域的表的大小和格式各不相同,使得使用統(tǒng)一的神經(jīng)網(wǎng)絡(luò)架構(gòu)從不同的表中提取特征變得具有挑戰(zhàn)性。
我們提出了一種級聯(lián)表編碼器,用于從表格中提取全局表示,以便LLM實現(xiàn)全面的表格理解。該編碼器聯(lián)合從元數(shù)據(jù)和整個數(shù)字條目中提取知識,將表數(shù)據(jù)中的信息分為兩個主要部分。第一部分學(xué)習(xí)表的元數(shù)據(jù)表示,第二部分學(xué)習(xí)表格的數(shù)字信息表示。我們使用修改后的集合變壓器作為表編碼器的骨干,并通過注意力機(jī)制對其進(jìn)行了增強(qiáng)。該編碼器在一萬個表數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練,學(xué)習(xí)到的表表示不僅可以用于表理解,還可以增強(qiáng)下游分類器的預(yù)測性能。
6.3 指揮鏈
我們提出了一種通過預(yù)先打包的函數(shù)命令來增強(qiáng)大型語言模型(LLM)在表格操作中的多跳推理能力的方法。與Text2SQL生成的SQL語句相比,這些命令序列更容易被后端解析系統(tǒng)檢查和定位錯誤。我們引入了指揮鏈(CoC)的概念,通過提供與中間步驟相關(guān)的分步指令來增強(qiáng)思維鏈方法。指揮鏈的目的是在操作表數(shù)據(jù)時增強(qiáng)LLM的推理能力和魯棒性,涉及將用戶輸入轉(zhuǎn)換為一系列中間命令操作,使LLM能夠更準(zhǔn)確、更高效地操縱表。為了提高性能和穩(wěn)定性,我們構(gòu)建了一個包含大量命令鏈指令的數(shù)據(jù)集,同時微調(diào)LLM以適應(yīng)命令,并采用上下文學(xué)習(xí)為命令鏈序列中的多個步驟提供提示。指揮鏈方法有三個主要優(yōu)點(diǎn):增強(qiáng)LLM對表操作的多跳推理能力,增強(qiáng)處理復(fù)雜多表交互的能力,以及拒絕過于模糊的指令并要求用戶提供更具體的意圖。這種方法使LLM能夠更好地處理邊緣情況和意外情況,使其成為現(xiàn)實世界應(yīng)用中有前景的方法。
6.4 域數(shù)據(jù)處理管道
我們開發(fā)了一種高效的領(lǐng)域數(shù)據(jù)處理管道,以解決大型語言模型在處理特定行業(yè)細(xì)微語言風(fēng)格和邏輯方面的不足。該管道利用主動學(xué)習(xí),從領(lǐng)域數(shù)據(jù)中精心挑選微調(diào)示例,以更少的示例數(shù)量實現(xiàn)卓越的微調(diào)結(jié)果,從而加速模型學(xué)習(xí)過程。此外,我們增強(qiáng)了LLM的文件檢索功能,通過矢量數(shù)據(jù)庫和LangChain等技術(shù),從大量專有文件中檢索相關(guān)信息,進(jìn)一步豐富LLM學(xué)習(xí)的背景。該管道有助于LLM快速且經(jīng)濟(jì)高效地適應(yīng)各種特定行業(yè)的數(shù)據(jù)需求,解決行業(yè)特定語言風(fēng)格和邏輯的挑戰(zhàn),并整合自然語言、表和命令領(lǐng)域。
7 評價
7.1 Table-GPT支持的命令
Table-GPT支持豐富的命令,實現(xiàn)與表格的自然語言交互,可查詢、過濾、排序和匯總數(shù)據(jù),增強(qiáng)數(shù)據(jù)可視化和報告生成,促進(jìn)自動化決策過程,使用戶能進(jìn)行預(yù)測、預(yù)測趨勢和估計結(jié)果。當(dāng)用戶意圖模糊時,Table-GPT會要求提供更詳細(xì)意圖,而非僵化的命令翻譯器。
7.2 與之前使用命令的LLM的比較
一些現(xiàn)有方案將表格和語言模型結(jié)合,如ChatExcel、SheetCopilot和Data-Copilot,這些通常依賴提示調(diào)用預(yù)定義外部命令的LLM推理API,如OpenAI API2。Table-GPT則采用獨(dú)特方法,專門針對與表相關(guān)的任務(wù)微調(diào)LLM,從而突顯LLM架構(gòu)的能力。詳見表7對TableGPT與先前使用命令的LLM的比較。
表7 與之前使用命令的LLM進(jìn)行表格數(shù)據(jù)的比較
7.3 案例研究
圖13-19為Table-GPT示例:
圖13
圖14
圖15
圖16
圖17
圖18
圖19
8 結(jié)論
Table-GPT,是一個專為表分析而設(shè)計的大型語言模型,統(tǒng)一了表、自然語言和命令。它具有回答問題、操作數(shù)據(jù)、可視化信息、生成分析報告和進(jìn)行預(yù)測等多種功能。從技術(shù)上講,Table-GPT解決了開發(fā)自然語言驅(qū)動的表數(shù)據(jù)處理框架的幾個主要挑戰(zhàn),包括全面的表理解、指令鏈生成和特定領(lǐng)域的微調(diào)。我們相信Table-GPT有潛力重塑表格數(shù)據(jù)處理的格局,加速表格數(shù)據(jù)建模和探索性數(shù)據(jù)分析(EDA)的效率,并為金融、交通、科學(xué)研究等各個領(lǐng)域賦能。
參考資料:
1. 《Table-GPT: Table-tuned GPT for Diverse Table Tasks》
2. 《TableGPT: Towards Unifying Tables, Nature Language and Commands into One GPT》
編輯:黃繼彥
