Skip to main content

TACO 🌮

Python License: BSD-3-Clause Paper

Official repository for the paper "End-to-End Compression for Tabular Foundation Models".

Tabular foundation models such as TabPFN learn in context, taking the training data as input at inference time. Because their attention mechanism scales quadratically with dataset size, training and inference get expensive and the models struggle on large tables — and the common workarounds, subsampling rows or capping table size, give up accuracy. TACO instead learns to compress the training set in a latent space, shrinking the context the model has to attend over. We show that this gives up to 94x faster inference and up to 97% lower memory use than the underlying tabular transformer, with no significant loss in predictive performance.

Quick Start

Prerequisites

  • Python 3.9-3.12

Installation

The distribution is named tabpfn-taco, while its Python import package is named taco.

Install from a local clone with pip:

git clone https://github.com/machinelearningnuremberg/TACO.git
cd TACO
python -m pip install .

To work on the source code, install it in editable mode:

python -m pip install -e .

Alternatively, use uv, which installs the project in editable mode using the checked-in lockfile:

uv sync

This example shows how to evaluate TabPFN-TACO with compression and TabPFN-POT without compression using TACOClassifier on the scikit-learn Breast Cancer dataset.

Example

from sklearn.datasets import load_breast_cancer
from sklearn.metrics import accuracy_score, roc_auc_score
from sklearn.model_selection import train_test_split

from taco.model.tabpfn_arch.taco_classifier import TACOClassifier

X, y = load_breast_cancer(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.5, random_state=42, stratify=y,
)

# TabPFN-TACO with compression
clf_taco = TACOClassifier(
    use_compressor=True,
    row_compression_percentage=4,
    fit_mode="fit_preprocessors",
)

clf_taco.fit(X_train, y_train)

prediction_probabilities = clf_taco.predict_proba(X_test)
print("TabPFN-TACO ROC AUC:", roc_auc_score(y_test, prediction_probabilities[:, 1]))

predictions = prediction_probabilities.argmax(axis=1)
print("TabPFN-TACO Accuracy:", accuracy_score(y_test, predictions))

# TabPFN-POT without compression
clf_pot = TACOClassifier(
    use_compressor=False,
    fit_mode="fit_preprocessors",
)

clf_pot.fit(X_train, y_train)

prediction_probabilities = clf_pot.predict_proba(X_test)
print("TabPFN-POT ROC AUC:", roc_auc_score(y_test, prediction_probabilities[:, 1]))

predictions = prediction_probabilities.argmax(axis=1)
print("TabPFN-POT Accuracy:", accuracy_score(y_test, predictions))

Large Chunked Inference

For large datasets, use fit_with_chunking. See examples/taco_chunking.py for a runnable example:

uv run python examples/taco_chunking.py

Pretraining

To pretrain TabPFN-TACO and TabPFN-POT from scratch, use the training configurations provided in:

  • scripts/train_stage1_taco_random.sh
  • scripts/train_stage1_pot.sh

Install the training extras before running these scripts:

python -m pip install -e ".[train]"

Or with uv:

uv sync --extra train

Checkpoints

The released TabPFN-TACO and TabPFN-POT weights are downloaded automatically from Hugging Face the first time you use TACOClassifier, so no manual download or checkpoint_path is required. The weights are published at https://huggingface.co/zabergjg/TabPFN-TACO.

License and Attribution

TACO-original code is released under the BSD 3-Clause License (see LICENSE). This repository also includes code derived from TabPFN and TabICL, which remain under their own licenses; see THIRD_PARTY_NOTICES.md and the bundled texts in LICENSES/.

Public checkpoint and model artifacts are released under the names TabPFN-TACO and TabPFN-POT. The released checkpoints are trained from scratch and do not redistribute or use TabPFN or TabICL pretrained weights.

Built with PriorLabs-TabPFN

Acknowledgments

TACO builds on the open-source work of two projects, and we thank their authors:

  • TabPFN (Prior Labs) — the tabular foundation model architecture that TACO compresses.
  • TabICL (Soda team @ Inria) — whose prior-generation and pretraining code TACO's training pipeline builds on.

Citation

Author contribution: Guri Zabërgja and Rafiq Kamel contributed equally to the paper and implementation.

If you use this repository, please cite:

@inproceedings{zabergja2026endtoend,
    title={End-to-End Compression for Tabular Foundation Models},
    author={Guri Zab{\"e}rgja and Rafiq Kamel and Arlind Kadra and Christian Frey and Josif Grabocka},
    booktitle={Forty-third International Conference on Machine Learning},
    year={2026},
    url={https://openreview.net/forum?id=84mfkGDxYh}
}

Metadata

Release files for tabpfn-taco 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tabpfn-taco 0.1.1
File Size Uploaded
tabpfn_taco-0.1.1.tar.gz 188.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tabpfn-taco 0.1.1
File Interpreter ABI Platform
tabpfn_taco-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 399.9 kB

Release files / tabpfn_taco-0.1.1.tar.gz

Download URL tabpfn_taco-0.1.1.tar.gz
Size 188.9 kB
Tags Source
SHA-256 checksum
How to use checksums
cbdb2f1b808dfcb68c8aa37705dfd13d1dfe9de9dd8fa1793bc20c75cadc5667
BLAKE2b-256 checksum
How to use checksums
d1c2de3250c4f1e8a8f404c0acfa778a922f30382d99a708f2bba4c213d1da56
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 27, 2026.

Transparency log

Release files / tabpfn_taco-0.1.1-py3-none-any.whl

Download URL tabpfn_taco-0.1.1-py3-none-any.whl
Size 211.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7c356e36dcf071de6cdcbcaa5388af658ee5284e9f11524c76dac80bd25aa67b
BLAKE2b-256 checksum
How to use checksums
faa9e0b25fcc9e7b675d896d140cd1ff8536f489a80d5429ef1e6be2c04c3ae6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 27, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page