9月30日、MarkTechPostが「NVIDIA Releases Kumo Tabular: Open Tabular Foundation Models That Predict New Rows in a Single Forward Pass」と題した記事を公開した。NVIDIAが表形式データ向け基盤モデル「Kumo Tabular」をオープンウェイトで公開し、商用利用まで解放したことは、機械学習実務者にとって見逃せない動きだ。ファインチューニング不要・ハイパーパラメータ調整不要という設計は、表形式データへのAI適用コストを大きく変える可能性がある。
学習なし、1回の推論で予測する表形式基盤モデル
NVIDIAは、分類・回帰タスク向けの表形式基盤モデル(Tabular Foundation Model)ファミリー「Kumo Tabular」を公開した。
最大の特徴は学習不要であることだ。ラベル付きの行をコンテキストとして渡せば、新しい行の予測を1回のフォワードパスで完了する。ハイパーパラメータのチューニングも、特徴量エンジニアリングも必要ない。TabPFNやTabICLといった既存のin-context learningベースのモデルを知っていれば、仕組みはすぐに飲み込める。
モデルはSmall・Medium・Largeの3サイズ展開で、パラメータ数は約2,800万〜2億1,500万。NVIDIAのオープンソースライブラリstructured-data-models(SDM)を通じて動作する。ウェイトのライセンスはOpenMDW-1.1で、商用利用が可能だ。SDMのコードはApache-2.0。動作要件はPython 3.11以上、PyTorch 2.7以上で、サンプルはCUDA GPUを対象としている。
アーキテクチャの要点
Kumo TabularはTransformerベースで、処理パイプラインは3段階に分かれる。
- セル埋め込み: 数値・カテゴリ値を学習済みFourierフィーチャーに変換。欠損値の補完は不要。
- 行埋め込み: 列方向のアテンションは行数に対して線形コストで動作。行方向のアテンションで特徴量間の相互作用を学習し、4つの学習可能な[CLS]トークンで各行を圧縮する。
- In-context learning: 行埋め込みに対して最終段のTransformerが動作。コンテキスト行同士は互いにアテンションするが、クエリ行はコンテキスト行のみにアテンションする設計のため、コンテキストのキー・バリューを一度計算して再利用できる。
出力は分類ではクラス確率、回帰では999分位数で、点予測と不確実性推定が同時に得られる。また、テーブルが大きくなるとSoftmaxアテンションが希薄になる問題に対し、アテンションヘッドごとに独立した温度係数を学習する仕組みを採用している。この温度係数はコンテキスト内のキー数の対数に応じてクエリをスケールするもので、平たく言えば「コンテキストが増えるほど各トークンへの注目度が分散しすぎないよう、ヘッド単位で自動調整する機構」だ。
合成データだけで事前学習
Kumo Tabularの事前学習には実データは一切使っていない。Structural Causal Models(SCM)から生成した合成テーブルのみで学習している。
学習は3段階で、コンテキストサイズは1,024行から最大60,000行まで拡大し、列数は最大100。Small・Medium・Largeそれぞれで約3,500万・7,100万・1億3,700万枚の合成テーブルを学習した。トレーニングレシピとデータジェネレータは近日公開予定とされている。
ベンチマーク:TabArena首位(Elo 1950)
NVIDIAの報告によれば、デフォルト設定で複数の主要ベンチマークを制している。
- TabArena: 総合1位、Elo 1950。単一RTX 6000 ProでLimiX-2比17倍高速
- BeyondArena: 1位、Elo 1418、Improvabilityスコア7.78%
- TALENT: 総合首位(精度平均ランク6.67、log-loss 3.98、RMSE 4.22)
- ScoringBench: Large・Mediumが1位・2位
競合との比較:商用利用可能なのは2モデルだけ
| Kumo Tabular | TabICLv2 | TabPFN-3 | LimiX-2 | TabFM | |
|---|---|---|---|---|---|
| 開発元 | NVIDIA | Inria SODA | Prior Labs | ※要確認 | Google Research |
| パラメータ数 | 28M〜215M | 27〜28M | 非公開 | 400M | 約1.64B |
| 商用利用 | 可 | 可 | 有償ライセンス | 不可 | 不可 |
| SDM対応 | ○ | ○ | ✕ | ✕ | ○ |
※元記事ではLimiX-2の開発元を「Stable AI」と記載しているが、Stability AIとの混同の可能性があり、表中では確認待ちとした。
ライセンス面が最大の差別化点だ。TabPFN-3・LimiX-2・TabFMのウェイトは非商用ライセンスで、商用利用できるのはKumo TabularとTabICLv2のみ。そのうちベンチマーク上位はKumo Tabularとなっている。
クイックスタート
# pip install structured-data-models
from sklearn.datasets import load_breast_cancer
import sdm
df = load_breast_cancer(as_frame=True).frame
table = sdm.TableTensor.from_pandas(
df=df,
stypes=sdm.infer_stypes(df, overrides={"target": "categorical"}),
device="cuda",
)
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,
)
size引数に"small"・"medium"・"large"を指定でき、デフォルトはLarge。SDMライブラリにはKumo Tabularのほか、TabICLv2、Google製TabFM、マルチテーブル対応のKumoRelationalも同梱されており、すべて共通のTableTensorインターフェースで扱える。
詳細はNVIDIA Releases Kumo Tabular: Open Tabular Foundation Models That Predict New Rows in a Single Forward Passを参照していただきたい。