TAPEX:透過神經式 SQL 執行的高效表格預訓練

TL;DR

TAPEX(Table Pre-training via Execution)是一種預訓練方法,透過合成資料教導語言模型充當神經式 SQL 執行器。此方法縮小了一般預訓練與下游表格任務之間的差距,在達到最先進表現的同時,所需資料量遠低於傳統的表格預訓練方法。

神經式 SQL 執行作為預訓練任務

TAPEX 用一個專注於學習執行 SQL 查詢的任務,取代傳統的自然語言預訓練。它不依賴於來自網路的大規模且常常噪聲較多的文字資料,而是透過系統性抽樣可執行的 SQL 查詢及其對應的執行結果,合成一個非自然語言的預訓練語料庫。

預訓練流程

為了產生訓練資料,TAPEX 依循以下步驟:

  1. Table Selection:從網路上取得一個表格。
  2. Query Sampling:抽樣一個可執行的 SQL 查詢(例如 SELECT City WHERE Country = France ORDER BY Year ASC LIMIT 1)。
  3. Execution:使用現成的 SQL 執行器(例如 MySQL)產生真實結果(例如 Paris)。
  4. 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 的成功提出了兩項主要策略:

  1. Prioritize Synthetic Accuracy:合成一個精確且小規模的語料庫,而非從網路上挖掘大且噪聲多的語料。
  2. Simulate Domain Skills via Programs:使用程式模擬領域適應技能,而非依賴自然語句的通用語言模型。

Sources