🏆 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:
- A wrapper,
multabench/baselines/<model>.py: aTabularModelsubclass, e.g.multabench/baselines/tabdpt13.py. - The model in
BASELINESinbenchmark.py. - Its dependencies as an extra in
pyproject.toml, locked inrequirements.txt, or in its ownrequirements-<ENV>.txtif they conflict. - A row in
space/data/models.csv, with a small logo inspace/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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| multabench-0.0.5.tar.gz | 690.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.