← all repositories
yandex-research/tabm

A single network that ensembles with itself on tabular data

TabM makes an ensemble of MLPs train and deploy as one parameter-efficient PyTorch model.

1.1k stars Python ML Frameworks
tabm
Not currently ranked — collecting fresh signals.
star history

What it does

TabM is a PyTorch architecture for tabular data that mimics an ensemble of k MLPs while physically remaining one model. It trains those virtual MLPs in parallel and shares their weights, which trims memory and runtime compared to a literal bag of separate networks. The package also exposes layers for building custom TabM-like architectures.

The interesting bit

The twist is that weight sharing is not just a compression hack; the README notes it acts as an effective regularizer that actually improves task performance over a true ensemble. You also monitor the ensemble performance during training rather than individual model performance, letting you stop when the collective is optimal, not when one member is.

Key highlights

  • Won multiple Kaggle competitions outright, and placed 25th out of 3300+ entries when used solo without any external ensembling.
  • Outperforms prior tabular deep-learning methods on the TabReD benchmark, which uses industrial datasets with time drift and hundreds of features.
  • Scales to large datasets: tested on 13 million objects in the paper, with reported successful runs on 100 million+ rows.
  • Ships as a PyTorch package with building blocks for custom efficient-ensemble architectures.

Caveats

  • Inference throughput is slower than plain MLPs and gradient-boosted trees, though faster than prior tabular deep-learning approaches.
  • Training on 100-million-row datasets is possible but explicitly noted to take more time.
  • The README warns that constructing correct custom architectures requires understanding implementation details; the simplicity can be deceptive.

Verdict

Data scientists working on tabular competitions or industrial datasets with distribution drift should try this before reaching for a heavy stack of separate models. If you need absolute inference speed above all else and gradient-boosted trees already suffice, it is likely overkill.

Frequently asked

What is yandex-research/tabm?
TabM makes an ensemble of MLPs train and deploy as one parameter-efficient PyTorch model.
Is tabm open source?
Yes — yandex-research/tabm is open source, released under the Apache-2.0 license.
What language is tabm written in?
yandex-research/tabm is primarily written in Python.
How popular is tabm?
yandex-research/tabm has 1.1k stars on GitHub.
Where can I find tabm?
yandex-research/tabm is on GitHub at https://github.com/yandex-research/tabm.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.