TAPEX:透過神經式 SQL 執行的高效表格預訓練
TL;DR
TAPEX(Table Pre-training via Execution)是一種預訓練方法,透過合成資料教導語言模型充當神經式 SQL 執行器。此方法縮小了一般預訓練與下游表格任務之間的差距,在達到最先進表現的同時,所需資料量遠低於傳統的表格預訓練方法。
神經式 SQL 執行作為預訓練任務
TAPEX 用一個專注於學習執行 SQL 查詢的任務,取代傳統的自然語言預訓練。它不依賴於來自網路的大規模且常常噪聲較多的文字資料,而是透過系統性抽樣可執行的 SQL 查詢及其對應的執行結果,合成一個非自然語言的預訓練語料庫。
預訓練流程
為了產生訓練資料,TAPEX 依循以下步驟:
- Table Selection:從網路上取得一個表格。
- Query Sampling:抽樣一個可執行的 SQL 查詢(例如
SELECT City WHERE Country = France ORDER BY Year ASC LIMIT 1)。 - Execution:使用現成的 SQL 執行器(例如 MySQL)產生真實結果(例如
Paris)。 - Model Training:訓練語言模型(例如 BART),以 SQL 查詢與展平表格的串接作為輸入,產生執行結果作為輸出。
透過使用 SQL 等程式語言而非自然語言,TAPEX 能系統性地保證預訓練語料庫的多樣性與規模,且品質高。
微調與下游應用
在作為神經式 SQL 執行器完成預訓練後,模型會針對實際應用進行微調。在此階段,模型接收自然語言問題與展平表格的串接作為輸入,並被訓練產生由人工標註者給出的答案。
這種從 SQL 執行轉換到自然語言問答的過程之所以有效,是因為解決具有相似意圖的 SQL 查詢與自然語言問題所需的推理路徑幾乎相同,儘管 SQL 更為嚴格。
效能基準與結果
TAPEX 在四個主要基準資料集上取得全新最先進(SOTA)成果,較先前的表格預訓練方法有顯著提升:
- WikiTableQuestions:57.5% 的指稱正確率(較 SOTA 提升 4.8%,較 BART 提升 19.5%)。
- SQA:74.5% 的指稱正確率(較 SOTA 提升 3.5%,較 BART 提升 15.9%)。
- TabFact:84.2% 的正確率(較 SOTA 提升 3.2%,較 BART 提升 3.0%)。
- WikiSQL (Weak):89.6% 的指稱正確率(較 SOTA 提升 2.3%,較 BART 提升 3.8%)。
與先前方法的效率比較
與先前的模型如 TAPAS(Google Research)與 TaBERT(Meta AI)相比,TAPEX 展示了預訓練效率的大幅提升。先前的模型依賴一般用途的預訓練任務(如語言模型),而 TAPEX 採用領域適應任務(SQL 執行)。
實驗數據顯示,TAPEX 在僅使用 2% 預訓練語料的情況下,仍能比 TaBERT 提升 2% 的效能,速度提升近 50 倍。
主要技術要點
對於執行高效持續預訓練的研究者而言,TAPEX 的成功提出了兩項主要策略:
- Prioritize Synthetic Accuracy:合成一個精確且小規模的語料庫,而非從網路上挖掘大且噪聲多的語料。
- Simulate Domain Skills via Programs:使用程式模擬領域適應技能,而非依賴自然語句的通用語言模型。