Tabular Classification
Transformers
Safetensors
felatab
feature-extraction
fela
tabular
in-context-learning
prior-fitted-network
foundation-model
delta-rule
cpu
on-device
custom_code
Eval Results (legacy)
Instructions to use lowdown-labs/fela-tab with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use lowdown-labs/fela-tab with Transformers:
# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("lowdown-labs/fela-tab", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
Upload benchmark/tabarena/SUBMISSION_DRAFT.md with huggingface_hub
Browse files
benchmark/tabarena/SUBMISSION_DRAFT.md
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# DRAFT — TabArena submission issue (DO NOT POST YET)
|
| 2 |
+
|
| 3 |
+
**Where:** https://github.com/autogluon/tabarena/issues/new
|
| 4 |
+
**Title:** New method submission: FelaTab — zero-shot in-context tabular model (51.6M/411.9M params, CPU-native; composite w/ LightGBM regression)
|
| 5 |
+
|
| 6 |
+
---
|
| 7 |
+
|
| 8 |
+
## Summary
|
| 9 |
+
|
| 10 |
+
I'd like to submit **FelaTab** ([lowdown-labs/fela-tab](https://huggingface.co/lowdown-labs/fela-tab))
|
| 11 |
+
for inclusion in the TabArena leaderboard. FelaTab is a zero-shot, in-context tabular
|
| 12 |
+
foundation model (prior-fitted network with delta-rule linear attention over rows). For
|
| 13 |
+
classification it has no per-dataset training: `_fit` stores support rows and
|
| 14 |
+
`_predict_proba` is a single in-context forward pass.
|
| 15 |
+
|
| 16 |
+
**Composite disclosure:** FelaTab's native regression head benchmarks below default
|
| 17 |
+
RandomForest on TabArena regression tasks (our smoke run on 5 TabArena regression
|
| 18 |
+
datasets: native head ELO ~400 vs RF-default 1000, per-dataset RMSE below). The
|
| 19 |
+
submitted configuration therefore delegates **regression tasks to a LightGBM
|
| 20 |
+
regressor** inside the same AutoGluon wrapper (`regression_backend="lgbm"`) — this
|
| 21 |
+
mirrors how the model is deployed in our product. Classification is 100% native
|
| 22 |
+
FelaTab, zero-shot. If you prefer a pure-model entry, `regression_backend="native"`
|
| 23 |
+
reproduces the all-FelaTab variant and we can submit that instead (or both).
|
| 24 |
+
|
| 25 |
+
Notable properties that make it an interesting leaderboard addition:
|
| 26 |
+
|
| 27 |
+
- **CPU-native / subquadratic**: fixed-size working state (no growing KV cache), flat memory
|
| 28 |
+
as support rows grow; ships an int8 tier that runs in-browser via WASM and inside Postgres.
|
| 29 |
+
- **Tiny footprint**: 51.6M (small) / 411.9M (big) params — roughly 1/32 and 1/4 the size of
|
| 30 |
+
comparable zero-shot tabular FMs (e.g. TabFM 1.0 is 1.64B).
|
| 31 |
+
- **Speed**: ~0.8 ms/sample (small) and ~1.8 ms/sample (big) end-to-end inference latency in
|
| 32 |
+
our OpenML battery (vs 52 ms/sample for TabFM on the same ROCm GPU).
|
| 33 |
+
|
| 34 |
+
Constraints: classification <= 10 classes, <= 100 raw features, support set capped at
|
| 35 |
+
3000 rows (subsampled deterministically beyond that). Regression handled by the
|
| 36 |
+
LightGBM delegate (see disclosure above).
|
| 37 |
+
|
| 38 |
+
## Results
|
| 39 |
+
|
| 40 |
+
- **Full TabArena v0.1** (51 datasets, all splits — 2448 task-fits, 0% imputed):
|
| 41 |
+
FELA (tuned + ensembled, `n_bag=8` bagged) **Elo 985** (avg rank 75/83), FELA (tuned, big tier)
|
| 42 |
+
**Elo 972** (rank 76/83), FELA (default, small tier) **Elo 893** (rank 80/83) on the
|
| 43 |
+
83-config leaderboard. Per-dataset results and figures:
|
| 44 |
+
**[lowdown-labs/fela-tab-tabarena-results](https://huggingface.co/datasets/lowdown-labs/fela-tab-tabarena-results)**
|
| 45 |
+
→ `eval/felatab_v2_full/` (merged leaderboard), `raw/felatab_v2_full_{od0,od1,spot1-4}`
|
| 46 |
+
(per-fold `results.pkl`, merged).
|
| 47 |
+
An earlier 2-config full run (big/small, 1632 tasks, Elo 913/896) is in `eval/felatab_full/`.
|
| 48 |
+
- **TabArena-Lite** (51 datasets, split 0): Elo 941 (tuned+ensembled) / 931 (tuned) / 850 (default),
|
| 49 |
+
0% imputed, `eval/felatab_v2_lite/`. (Earlier 2-config lite: 875/852, `eval/felatab_ec2/`.)
|
| 50 |
+
- Independent OpenML battery (8 classification datasets, vs TabFM zero-shot, XGBoost,
|
| 51 |
+
LightGBM): see the [model card](https://huggingface.co/lowdown-labs/fela-tab) and
|
| 52 |
+
`benchmark/results.csv` in the model repo.
|
| 53 |
+
- Regression smoke comparison (5 TabArena regression datasets, split 0, RMSE):
|
| 54 |
+
|
| 55 |
+
| dataset | FelaTab native | FelaTab composite (LGBM) | GBM (default) |
|
| 56 |
+
|---|---|---|---|
|
| 57 |
+
| QSAR_fish_toxicity | 0.950 | 0.937 | 0.922 |
|
| 58 |
+
| airfoil_self_noise | 2.610 | 1.580 | 1.485 |
|
| 59 |
+
| concrete_compressive_strength | 7.254 | 4.653 | 4.610 |
|
| 60 |
+
| houses | 0.335 | 0.221 | 0.219 |
|
| 61 |
+
| wine_quality | — | 0.626 | 0.618 |
|
| 62 |
+
|
| 63 |
+
## Reproduction
|
| 64 |
+
|
| 65 |
+
- Model wrapper: [`benchmark/tabarena/fela_ag_model.py`](https://huggingface.co/lowdown-labs/fela-tab/blob/main/benchmark/tabarena/fela_ag_model.py)
|
| 66 |
+
(AutoGluon `AbstractModel`, `ag_key="FELA"`, three manual configs: tier small, tier big,
|
| 67 |
+
and a bagged big (`n_bag=8`) config; no HPO search space; LightGBM regression delegate on
|
| 68 |
+
by default).
|
| 69 |
+
- Runner: [`benchmark/tabarena/run_tabarena.py`](https://huggingface.co/lowdown-labs/fela-tab/blob/main/benchmark/tabarena/run_tabarena.py)
|
| 70 |
+
(standard `TabArenaV0pt1ExperimentBundle` + `build_and_run_jobs`, `debug_mode=True`).
|
| 71 |
+
- Env: `uv pip install --prerelease=allow -e "./packages/tabarena[benchmark]"` on Python 3.12
|
| 72 |
+
(see `benchmark/tabarena/README.md`).
|
| 73 |
+
- The full run was executed on a plain EC2 c7i.8xlarge (32 vCPU, on-demand) from
|
| 74 |
+
[`benchmark/tabarena/ec2_run.sh`](https://huggingface.co/lowdown-labs/fela-tab/blob/main/benchmark/tabarena/ec2_run.sh)
|
| 75 |
+
(launched by `launch_ec2.py`), which reproduces env setup, lite shakedown, full run,
|
| 76 |
+
and artifact upload end-to-end. (We moved off HF Jobs after repeated job failures.)
|
| 77 |
+
|
| 78 |
+
## Notes for maintainers
|
| 79 |
+
|
| 80 |
+
- Both tiers ran as separate configs from one MatFormer nested checkpoint (small is a strict
|
| 81 |
+
prefix slice of big); happy to submit only the big tier if you prefer one config per method.
|
| 82 |
+
- All classification evaluation was zero-shot, no per-dataset tuning; the model's training
|
| 83 |
+
prior excludes the benchmarked OpenML datasets by dataset id and name.
|
| 84 |
+
- Regression is a LightGBM delegate (see composite disclosure above); no imputed tasks.
|
| 85 |
+
- License: Apache-2.0 (weights + code).
|
| 86 |
+
|
| 87 |
+
---
|
| 88 |
+
|
| 89 |
+
### Checklist before posting
|
| 90 |
+
- [x] Lite results verified in `lowdown-labs/fela-tab-tabarena-results`
|
| 91 |
+
- [x] Full 51-dataset run complete and uploaded
|
| 92 |
+
- [x] Model card TabArena section updated with final ELO/rank
|
| 93 |
+
- [ ] Decide whether to also open a thread on the leaderboard Space Community tab
|