NVIDIA 釋出 Kumo Tabular,表格預測不再需要逐表訓練
Hugging Face Blog(NVIDIA)· 2026-09-29
NVIDIA 釋出的 Kumo Tabular 是一個開放的表格基礎模型,分類與迴歸都只靠一次 forward pass完成,不必為每張表重新訓練、調參或做 feature engineering。它取代的是「每個資料集各跑一輪 XGBoost 調參」的慣用流程。
作者為 Martin Jurkovic、Jingang Qu 等 NVIDIA 團隊,權重放在 Hugging Face,程式碼在 NVIDIA/structured-data-models。
原本的問題
表格資料長期是 gradient boosting 的地盤:每換一個資料集,就要重新切分、調超參數、補特徵,成本落在工程師身上而不是 GPU 上。先前的表格基礎模型嘗試把這件事變成 in-context learning,但在準確度與推論成本之間往往只能取一頭。
Kumo Tabular 的定位是同時推進兩端,官方稱之為 accuracy-efficiency frontier。下面的數字都出自 官方部落格,release 頁面未附獨立第三方複現。
核心改動
模型是一個 transformer,用三種 attention 分工:column attention 學單一欄位的值分佈,row attention 學欄位之間的交互,in-context attention 把帶標籤的 context 列與待預測的 query 列關聯起來。另有 length-aware attention temperature scaling,處理 context 長度變化。
訓練資料完全是人造表格,由 Structural Causal Models 生成。Small、Medium、Large 三個尺寸分別在三個訓練階段中看過約 35M、71M、137M 張人造表格,參數量落在 28M 到 215M 之間。
| 項目 | 傳統流程(GBDT) | Kumo Tabular |
|---|---|---|
| 新資料集 | 訓練並調參 | 單次 forward pass |
| 特徵處理 | 手動 feature engineering | 不需要 |
| 預訓練資料 | 無 | 人造表格(SCM 生成) |
使用方式
官方 model card 給的是 in-context 呼叫:把帶標籤的前 300 列當 context,其餘列當 query,num_estimators 控制 ensemble 次數。
model = sdm.models.KumoTabular(task="classification", device="cuda")
probs = model(
x_context=table[:300].drop_columns("target"),
y_context=table[:300, "target"],
x_query=table[300:].drop_columns("target"),
num_estimators=8,
)GitHub README 另提供 sklearn 風格的 fit / predict 介面。環境需求為 Python 3.11+ 與 PyTorch 2.7+,model card 的範例以 device="cuda" 執行。
評測結果
TabArena:ELO 1950,排名第一,且比LimiX-2快 17 倍BeyondArena:ELO 1418,Improvability 7.78%,排名第一TALENT:分類與迴歸合計排名最高ScoringBench:Large 與 Medium 分居第一、第二
部落格未列出與 XGBoost 逐項對照的數字,model card 也未比較 TabPFN 或 TabICL,因此「取代 GBDT」目前只能視為榜單上的結果,不是生產環境的結論。
影響範圍與限制
最直接受益的是小樣本、需要快速出 baseline 的資料團隊:不用先寫訓練 pipeline,就能拿到一個可比較的預測。授權方面,權重採 OpenMDW-1.1(允許商用),程式碼為 Apache License 2.0,其中衍生自 TabICLv2 的部分為 BSD 3-Clause。
要檢查的限制有四項:
- 只支援數值與類別欄位
- 單次 forward pass 最多 10 個類別
- 資料表遠超出訓練範圍時,準確度可能下降
- 上線前須在 held-out 資料上驗證
含文字、日期或多於 10 類的任務,得先做前處理或改回原本的模型。context 列數上限與 GPU 記憶體需求,model card 與 README 均未說明。