NVIDIA Kumo Tabularがテーブルデータベンチマークで最先端の精度と効率を達成

TL;DR

NVIDIA Kumo Tabularは、ファインチューニングなしで単一のフォワードパスでラベルを予測するテーブルデータ用のオープンソース基盤モデルです。TabArena、BeyondArena、TALENT、ScoringBenchの各ベンチマークで1位を獲得し、精度と効率の新たなフロンティアを確立しました。


テーブルデータ基盤モデルへの移行

テーブルデータはほとんどのエンタープライズ機械学習ワークロードの基盤ですが、従来のパイプラインは依然として勾配ブースティング決定木に依存しており、タスクごとに個別の特徴量エンジニアリング、ハイパーパラメータ探索、完全な再学習が必要です。大規模言語モデルのインコンテキスト学習に触発されたKumo Tabularは、ラベル付きテーブルをプロンプトとして扱い、新しい行のラベルを直接予測することで、重みの更新を一切不要にしました。

「ラベル付きの行と予測対象の行を含むテーブルを与えると、Kumo Tabularは単一のフォワードパスでクラス確率または数値予測を返します。」 – NVIDIA Kumo Tabular発表より

Kumo Tabularの仕組み

Kumo Tabularは、3つの主要なメカニズムを使用してTransformerアーキテクチャをテーブルの固有構造に適応させています。

  1. セル埋め込み – 数値およびカテゴリ値は、フーリエ特徴量(学習された周波数のサイン/コサイン)で変換されます。欠損値には専用のトークンが割り当てられ、各コンテキストセルはラベル埋め込みとペアになります。
  2. 行埋め込み – 2つの交互のアテンション層が、列ごとの分布(列アテンション)と行内の特徴量相互作用(行アテンション)を捉えます。行ごとに4つの学習可能な [CLS] トークンが最終的な行表現として機能します。
  3. インコンテキスト学習 – 最上位のTransformerが行埋め込みを処理します。コンテキスト行は互いにアテンションを向け、クエリ行はコンテキストのみにアテンションを向けます。Test-GQAキャッシングにより、各クエリに必要な計算量が削減されます。出力ヘッドは、分類用のクラス確率と回帰用の999個の分位点を生成し、点予測と不確実性の推定値を出力します。

長さを考慮したアテンション温度

テーブルサイズが大きくなってもアテンションを鋭く保つため、Kumo Tabularはヘッド固有の学習済み係数を使用して、キーの数の対数でソフトマックス温度をスケーリングします。これにより、事前学習時に見られたものよりも桁違いに大きなテーブルに対しても識別能力が維持されます。

人工テーブルによる事前学習

Kumo Tabularは、構造的因果モデル(SCM)から生成された合成テーブルのみを使用して学習されています。

  • ランダムな因果グラフが隠れ変数とターゲットの関係を定義します。
  • ノードは、多様な関数(線形写像、小さなニューラルネット、決定木、ガウス過程)を介して数値またはカテゴリ列としてインスタンス化されます。
  • 後処理により、欠損パターン、粗い特徴量、裾の重いターゲット、高カーディナリティのカテゴリといった現実的な不完全さが追加されます。
  • 学習可能な信号を欠くテーブルは、高速な決定木アンサンブルチェックを使用してフィルタリングされます。

学習は3段階で進められ、コンテキストサイズを1,024行(ステージ1)から最大60,000行(ステージ3)までスケーリングしつつ、列数は100以下に保たれます。3つのモデルサイズ(Small: 28M、Medium: 約100M、Large: 215Mパラメータ)は、それぞれ約35M、71M、137Mの合成テーブルで学習されました。

ベンチマーク性能

RTX 6000 Pro環境で評価した結果、3つのKumo Tabularバリアントすべてが、4つの主要なリーダーボードにおいて既存のテーブルデータ基盤モデルや調整済みの勾配ブースティング決定木を上回りました。

  • TabArena – Kumo Tabularは最高の総合ELO(1950)を達成し、前回の最先端モデルであるLimiX-2よりも17倍高速に動作します。
  • BeyondArena – ELO 1418、改善スコア7.78%で1位を獲得。
  • TALENT – 分類精度(6.67)、分類ログロス(3.98)、回帰RMSE(4.22)で平均ランク1位。
  • ScoringBench – Kumo Tabular-LargeおよびMediumが、予測分布ランクの平均で1位と2位を獲得。

これらの結果は、付属のベンチマークプロットが示すように、Kumo Tabularを精度と効率の新たなパレートフロンティアに位置づけています。

制限事項

  • 数値およびカテゴリ列のみをサポートします。その他のモダリティ(テキスト、画像、タイムスタンプ)は、事前に特徴量へ変換する必要があります。
  • シングルパス推論は最大10クラスまで直接処理可能です。それより大きなラベル空間には、ライブラリが提供する誤り訂正出力コードが必要です。
  • 学習範囲を超えるテーブルや、クエリ行がコンテキスト行と異なる分布から来ている場合、精度が低下する可能性があります。デプロイ前にホールドアウトデータでの検証が不可欠です。

クイックデモ

NVIDIAの structured-data-models ライブラリは、GPUネイティブなインターフェースを提供します。以下のPythonスニペットは、 pandas.DataFrame を TableTensor に変換し、ラベル付きのコンテキスト行を提供して、ラベルのない行の予測を取得する方法を示しています。

import sdm  # structured-data-models
import pandas as pd

# Load a CSV into a DataFrame and tensorize it on the GPU
table = sdm.TableTensor.from_pandas(pd.read_csv('data.csv'), device='cuda')
na_mask = table['target'].isnan()

model = sdm.models.KumoTabular(device='cuda')
pred = model(
    x_context=table[~na_mask].drop_columns('target'),
    y_context=table[~na_mask, 'target'],
    x_query=table[na_mask].drop_column('target'),
)

このライブラリは、初回使用時にHugging Face Hubから事前学習済み重みを自動的にダウンロードし、前処理、アンサンブル、マルチクラス拡張を処理します。

はじめに

Kumo Tabularは商用利用を許可するOpenMDW-1.1ライセンスの下でリリースされています。開発者はNVIDIAの信頼できるAIポリシーに従い、ドメイン固有のデータでモデル性能を検証し、品質、リスク、セキュリティに関する懸念があればGitHubのイシュートラッカーを通じて報告してください。


謝辞

著者は、重要なアイデアとアブレーションを提供してくれたDavid Holzmüller氏、およびインターンシップでの貢献に対してVignesh Kothapalli氏に感謝の意を表します。

Sources