File size: 5,820 Bytes
81153cd | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 | ---
license: other
license_name: tabfm-non-commercial-v1.0
license_link: https://huggingface.co/google/tabfm-1.0.0-pytorch/blob/main/LICENSE
library_name: tabfm
pipeline_tag: tabular-classification
tags:
- tabular
- tabular-regression
- zero-shot
- in-context-learning
- pytorch
- foundation-model
---
# TabFM 1.0.0 (PyTorch)
TabFM is a zero-shot tabular foundation model from Google Research. It supports
classification and regression on structured/tabular data with mixed numerical and
categorical columns, requiring no fine-tuning or hyperparameter search - training
examples are passed as context and predictions are made in a single forward pass.
This repository contains the **PyTorch** weights. For the JAX/Flax weights see
[google/tabfm-1.0.0-jax](https://huggingface.co/google/tabfm-1.0.0-jax).
## Getting Started
```bash
pip install tabfm[pytorch]
```
**Classification:**
```python
from tabfm import TabFMClassifier, tabfm_v1_0_0_pytorch as tabfm_v1_0_0
model = tabfm_v1_0_0.load(model_type="classification")
clf = TabFMClassifier(model=model)
clf.fit(X_train, y_train)
probs = clf.predict_proba(X_test)
```
**Regression:**
```python
from tabfm import TabFMRegressor, tabfm_v1_0_0_pytorch as tabfm_v1_0_0
model = tabfm_v1_0_0.load(model_type="regression")
reg = TabFMRegressor(model=model)
reg.fit(X_train, y_train)
preds = reg.predict(X_test)
```
You can also load directly using the HuggingFace Hub API:
```python
from tabfm.src.pytorch.tabfm_v1_0_0 import TabFM_HF
clf_model = TabFM_HF.from_pretrained("google/tabfm-1.0.0-pytorch", subfolder="classification")
reg_model = TabFM_HF.from_pretrained("google/tabfm-1.0.0-pytorch", subfolder="regression")
```
### Available Checkpoints
| Subfolder | Task | `is_classifier` |
|-----------|------|-----------------|
| `classification/` | Classification (up to 10 classes) | `True` |
| `regression/` | Regression | `False` |
## Developers and Affiliations
Developed by the [Google Research](https://research.google) team.
## Intended Use
- Tabular data with numerical and/or categorical columns
- Binary and multiclass classification (up to 10 classes)
- Regression on continuous targets
- Zero-shot inference: no dataset-specific training or hyperparameter tuning
- Works with DataFrames (pandas) or numpy arrays
## Not Intended For
- Images, audio, video, or raw text
- More than 10 output classes (hard model limit)
- Tasks requiring task-specific fine-tuning
- Non-tabular structured data (graphs, sequences)
- Commercial use (see License below)
## Model Architecture
TabFM uses alternating row and column attention to capture both feature interactions
and row-level patterns:
1. **Column attention** (Set Transformer): embeds each cell using Fourier features and
a per-group linear projection, then aggregates across rows via induced self-attention
2. **Row compression**: CLS tokens summarise each row into a dense vector via row-level
attention with Rotary Position Embedding (RoPE)
3. **ICL Transformer**: a 24-block causal transformer operates over the compressed row
vectors, treating training rows as context and outputting predictions for test rows
Key hyperparameters:
| Parameter | Value |
|-----------|-------|
| Embedding dim | 256 |
| Column attention blocks | 3 (4 heads, 256 induced points) |
| Row attention blocks | 3 (8 heads, 8 CLS tokens) |
| ICL transformer blocks | 24 (8 heads) |
| Feed-forward factor | 4 |
| Max classes | 10 |
| Activation | SwiGLU |
| Fourier features | 32 frequencies |
## Training Data and Priors
TabFM was trained on hundreds of millions of **synthetic** datasets generated
dynamically using structural causal models (SCMs). Synthetic data was chosen due to
the scarcity of diverse, high-quality open-source tabular datasets and to avoid
privacy/licensing concerns with real-world industrial data. The SCM prior encodes
inductive biases about causal structure and feature relationships typical in tabular
tasks.
## Performance
TabFM was evaluated on [TabArena](https://tabarena.ai) across 51 datasets
(38 classification, 13 regression). In zero-shot mode - a single forward pass with no
hyperparameter search - TabFM outperforms heavily-tuned supervised baselines including
gradient-boosted trees. The `TabFMClassifier.ensemble()` preset (feature crosses,
SVD features, NNLS blending) yields further improvements.
See the [Google Research blog post](https://research.google/blog/introducing-tabfm-a-zero-shot-foundation-model-for-tabular-data/) for full benchmark details.
## Ethical Considerations
TabFM was trained entirely on synthetic data. Performance on specific real-world
domains, minority groups, or edge distributions is not fully characterised. Users
should evaluate the model on held-out data representative of their use case before
deploying in high-stakes settings.
## Limitations
- **Max 10 classes** for classification (hard architectural limit)
- Memory usage scales with the number of training rows (all rows are passed as context)
- Optimised for tables up to 500 features; behaviour on very wide tables may degrade
- Performance is not guaranteed to match task-specific, fine-tuned models on all datasets
- Not an officially supported Google product
## License
The model weights in this repository are released under the
**TabFM Non-Commercial License v1.0** - see [LICENSE](https://huggingface.co/google/tabfm-1.0.0-pytorch/blob/main/LICENSE). The source code is
Apache 2.0 licensed via [google-research/tabfm](https://github.com/google-research/tabfm).
## Version
1.0.0
## Citation
```bibtex
@article{tabfm2026,
title = {TabFM: A Zero-Shot Foundation Model for Tabular Data},
author = {Google Research},
year = {2026},
url = {https://research.google/blog/introducing-tabfm-a-zero-shot-foundation-model-for-tabular-data/}
}
```
|