Skip to main content

MulTaBench: Benchmarking Multimodal Tabular Learning

Leaderboard arXiv NeurIPS 2026 Spotlight Datasets PyPI Python 3.11+ MIT license

🏆 Leaderboard · 📄 Paper · 🤗 Datasets · 📚 Collection · 🚀 Getting started · ➕ Add a model · 📝 Cite

MulTaBench is a benchmark for multimodal tabular learning: tables whose columns hold free text or images alongside numbers and categories. Its 40 core datasets, 20 text-tabular and 20 image-tabular, were kept only if they show both joint signal, each modality carrying signal about the target that the others don't, and target awareness, the best representation of the text or images depending on the task. 40 more datasets with joint signal are released alongside them, 80 in total.

Models are ranked on the live leaderboard, but the benchmark's purpose is to compare ways of encoding text and images for tabular learners, and new methods are welcome.

Getting started

The core package loads the datasets, their splits and cached embeddings, without torch or any model package:

pip install multabench
from multabench import Size, list_datasets, load_embeddings, load_split, score

datasets = list_datasets(modality="text", task="regression", tier="core")

split = load_split("MUL_IMAGE_PETFINDER", fold=0, size=Size.TEN_K)
split.x_train, split.y_train, split.x_test, split.y_test

embeddings = load_embeddings("MUL_TEXT_WINE_REVIEW", fold=0, size=Size.TEN_K, encoder="e5-small")
embeddings.train["description"], embeddings.test["description"]

predictions = model.fit(split.x_train, split.y_train).predict(split.x_test)
result = score(split.task_type, y_true=split.y_test, y_pred=predictions)
result.test_error

load_published_results() returns every leaderboard run.

The loaders download from the Hugging Face Hub at pinned revisions. To read a local copy instead, e.g. offline or from a read-only mount, pass data_dir, holding one folder per Hub repo named without the org, with images extracted: <data_dir>/<dataset repo>/data.parquet and <data_dir>/embeddings-e5-small/<dataset repo>/embeddings.npz. data_dir_files(dataset, encoders) lists the paths one dataset needs there.

split = load_split("MUL_IMAGE_PETFINDER", fold=0, data_dir="/data/multabench")

with_image_files=False loads an image dataset's table without its image files, enough for the cached image embeddings, which are looked up by file name; the split's image_folder is then None.

To run the benchmark itself, set up the environment and evaluate one model on one fold:

source init.sh && source .venv/bin/activate
cp .env.example .env  # Hugging Face token

python benchmark.py --model light --dataset_name MUL_IMAGE_PETFINDER --fold 0

Running the benchmark covers sweeps, hardware and collecting results; Cached embeddings, Datasets and Protocol, including how Elo is computed and how MulTaBench differs from TabArena, cover the rest.

Adding a model

Open a pull request that adds the model; once it is merged, we run it from master on the leaderboard's hardware, so every result comes from the same machines and from code anyone can check out. The pull request adds:

  1. A wrapper, multabench/baselines/<model>.py: a TabularModel subclass, e.g. multabench/baselines/tabdpt13.py.
  2. The model in BASELINES in benchmark.py.
  3. Its dependencies as an extra in pyproject.toml, locked in requirements.txt, or in its own requirements-<ENV>.txt if they conflict.
  4. A row in space/data/models.csv, with a small logo in space/assets/logos/ and a link to its paper.

Use the model's default hyperparameters, pin anything it downloads, and say on which datasets it can't run, e.g. too many classes. Running the benchmark has the details.

Citation

@article{arazi2026multabench,
  title   = {MulTaBench: Benchmarking Multimodal Tabular Learning with Text and Image},
  author  = {Arazi, Alan and Shapira, Eilam and Grunblat, Shoham and Ventura, Mor and Hoffer, Elad and Blayer, Gioia and
             Holzm{\"u}ller, David and Purucker, Lennart and Varoquaux, Ga{\"e}l and Hutter, Frank and Reichart, Roi},
  journal = {arXiv preprint arXiv:2605.10616},
  year    = {2026}
}

License

The code is under the MIT license; each dataset keeps the terms of its source, linked in MULTABENCH_SOURCES in multabench/datasets/all_datasets.py.

Metadata

Release files for multabench 0.0.5

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

Source distribution (sdist)

Source distribution for multabench 0.0.5
File Size Uploaded Provenance
multabench-0.0.5.tar.gz 690.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for multabench 0.0.5
File Interpreter ABI Platform
multabench-0.0.5-py3-none-any.whl Python 3 none any Details

Total release size: 1.4 MB

Release files / multabench-0.0.5.tar.gz

Download URL multabench-0.0.5.tar.gz
Size 690.6 kB
Tags Source
SHA-256 checksum
How to use checksums
07fd7209243024baf0ec25c90c562a3917c84c5cf6466e772ecbe6b89f843539
BLAKE2b-256 checksum
How to use checksums
06de335fa1cae5ab5bb5f77a3791cfcdf3c9b00b92274a8f2a3da0896a7346cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.0

Release files / multabench-0.0.5-py3-none-any.whl

Download URL multabench-0.0.5-py3-none-any.whl
Size 717.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e22133349022642747284430c8cae01be2d6ca5ba5ac813c0d95cfe53e3b4507
BLAKE2b-256 checksum
How to use checksums
245d84a7f825a7ddf02ee723d0294e69b0bf79d5cdbf48de7afb419632acba0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.0

Security for multabench 0.0.5

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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