Overview
Structured Data Models (sdm) is an open source PyTorch library for pretrained foundation models on structured data.
You give a model labeled example rows at inference time, and it predicts new rows in a single forward pass, with no task-specific training.
Run Your First Prediction
This example classifies breast tumors from 30 numerical features with Kumo Tabular. It runs on a CPU, needs no Hugging Face account, and downloads about 115 MB of weights on first use.
Each output column holds the probability of one class, named by its label. The model used 300 labeled rows as context and predicted the other 269. To run regression, reuse context across batches, and move to a GPU, continue with the Quickstart.
Model Portfolio
NVIDIA publishes four Kumo foundation models in the NVIDIA Kumo Structured collection. Kumo Tabular and Kumo Relational run in SDM; Kumo Forecast and Kumo Anomaly run in Kumo-TS. All four download their weights from Hugging Face on first use.
SDM also includes reference implementations of other published tabular models, TabICLv2 and TabFM, which are useful as baselines. Check each model’s weights license in the model overview; some are non-commercial.
Which Model Should I Use?
Answer two questions to find the model that fits your data.
Is each prediction about a point in an ordered time series?
The same guidance as a table:
How SDM Works
The models in SDM are foundation models for structured data. Each one is pretrained once and is task agnostic: adding a prediction task means passing new rows, not training and maintaining another model.
Every model that runs in SDM follows the same workflow:
- Load your data from pandas, Arrow, or cuDF as a
TableTensor, which records a semantic type for each column. - Split its rows into context rows, whose outcome you already know, and query rows you want predicted.
- Pass both to a pretrained model. For Kumo Relational, also pass the linked tables and their keys as
RelatedTables. The model reads the context and predicts the query rows in one forward pass, much like an LLM answers from examples in its prompt, and its weights never change. - Read the predictions, returned as a
TableTensorthat converts back to pandas.
In-Context Learning explains how the models reason over context and how they are pretrained.
- No training pipeline. There is no training run, hyperparameter search, or retraining schedule. When your data changes, pass the new rows as context.
- Accurate on small, messy data. Pretraining gives the models a strong prior about how tables behave, so they predict well from a few hundred labeled rows and tolerate missing values.
- Swap models freely. Kumo Tabular, Kumo Relational, and baselines such as TabICLv2 share one interface, so you can compare them on the same data. Kumo Forecast and Kumo Anomaly apply the same pretrained approach to time series.
- Defaults you can tune. Each model ships a recipe for preprocessing and postprocessing, and averages several randomized passes (
num_estimators) for stability. You can adjust both.
Kumo Tabular and Kumo Relational are also available as NVIDIA NIM microservices. Use the Structured Data Models Client tab to send requests to a deployed endpoint without loading weights in your process.