Version 1.6.0¶
We are happy to announce the AutoGluon 1.6.0 release!
AutoGluon 1.6.0 introduces new features and improvements to both the tabular and time series modules. This release adds several new tabular foundation models (TabPFN-3, TabDPT-Turbo, TabPFN-2.6, TabICLv2, and Nori) and the Toto-2 pretrained forecasting model, along with new presets that deliver strong accuracy and efficiency gains. It also includes new forecasting metrics, updated model memory estimation, refreshed dependency support (including transformers v5 and the latest PyTorch), and numerous bug fixes and quality-of-life improvements.
This release contains 184 commits from 19 contributors! See the full commit change-log here: https://github.com/autogluon/autogluon/compare/1.5.0…1.6.0
Join the community:
Get the latest updates:
This release supports Python versions 3.10, 3.11, 3.12, and 3.13. Loading models trained on older versions of AutoGluon is not supported. Please re-train models using AutoGluon 1.6.0.
Spotlight¶
Tabular¶
New
extremepreset, the recommended preset when a GPU is available: a 67% win-rate vs AutoGluon 1.5extremewith 27x faster training and 4x faster inference, and an 84% win-rate vsbest(4h) with 65x faster training. Led by the new Nori, TabICLv2, and TabDPT-Turbo foundation models alongside a TabPrep LightGBM, and every model in it is free for commercial use. @Innixma (#5812)New
noncommercialpreset, setting a new state-of-the-art on TabArena:extremeplus TabPFN-3, outperforming TabFM in a quarter of the training time, with 20x faster inference and 10x fewer foundation model parameters. Free for research and internal experimentation; commercial use of TabPFN-3 requires a license from Prior Labs. @Innixma (#5812)
TabArena-Lite, 51/51 tasks, against the published leaderboard:
method |
elo |
rank |
improvability (%) |
train s |
infer s |
|---|---|---|---|---|---|
AutoGluon 1.6 |
1821 |
6.2 |
5.8 |
159 |
7.0 |
TabFM (default) |
1791 |
7.0 |
5.1 |
613 |
138.4 |
AutoGluon 1.6 |
1745 |
8.5 |
6.8 |
137 |
6.2 |
AutoGluon 1.5 |
1638 |
12.9 |
7.9 |
3758 |
27.4 |
TabPFN-3 (default) |
1632 |
13.2 |
9.1 |
26 |
2.4 |
AutoGluon 1.4 |
1516 |
20.0 |
12.1 |
8869 |
33.8 |
RealMLP (tuned + ensemble) |
1480 |
22.5 |
13.0 |
31982 |
33.8 |
New
validation_structurefit argument for non-IID data: declare a grouped or temporal structure and every internal validation split respects it across all models, keeping each group’s rows on one side of the split and validating strictly forward in time, with optional forward-chaining for temporal data. @Innixma (#5756, #5796)New TabPrep feature engineering: the paper’s feature generators (group-by aggregates, random-subset compression, arithmetic and categorical interactions, out-of-fold target encoding) are now built in, and models can declare their own preprocessing pipelines via
ag.model_specific_feature_generator_kwargs, applied per model rather than globally. This is what powers the TabPrep LightGBM in the new presets. @atschalz @Innixma @LennartPurucker (#5618, #5588, #5665, #5278)
General¶
Dependencies¶
Update scikit-learn to
>=1.4.0,<1.10.0. @shchur (#5731, #5769)Update numpy to
>=1.25.0,<2.6.0. @celestinoxp (#5615, #5514)Update typing-extensions to
>=4.14.0,<5. @celestinoxp (#5589)Minor dependency fixes and improvements (raise lower bounds, fix fastai dependency, fix macOS + torch compat issue). @shchur (#5734, #5528, #5790, #5792)
Bump transitive dependencies in
uv.lock(aiohttp, cryptography, msgpack, pyasn1, pydantic-settings) to satisfy Dependabot. @shchur @dependabot (#5759, #5742, #5745, #5743, #5800)
Fixes and Improvements¶
PEP 621 + uv workspace for the full monorepo. @Innixma (#5688, #5536)
Lazy-import networkx, requests, tqdm to speed up
import TabularPredictor(~25% faster). @Innixma (#5677)Fix remote filesystem collision on artifact directory creation. @Innixma (#5653)
Fix memory hog: remove
pickle.dumpsfor DataFrame size estimation. @celestinoxp (#5563)Fix
get_bool_true_valfailing on category dtype. @shchur (#5595)Minor fixes and improvements. @celestinoxp @shchur (#5562, #5561, #5560, #5557, #5479)
Tabular¶
New Models¶
New Features¶
Express the auto-selected validation method as size curves. @Innixma (#5789)
Report constraint misses as skips, and add
min_features/min_cells/max_cells. @Innixma (#5798)Remove the feature cap on TabPFN-2.6 and TabPFN-3. @Innixma (#5797)
Lift Nori and TabDPT-Turbo feature caps, clamp Nori’s GPU estimate. @Innixma (#5801)
Apply TabICL’s pinned checkpoint, add a batch tier, lower the row cap. @Innixma (#5802)
Add support for quantile problem type in TabPFNv2. @colesussmeier (#5571)
Support loading Mitra from a local checkpoint path. @shchur (#5765)
Reduce feature importance mem usage by 25x. @Innixma (#5645)
GPU memory estimation plumbing + calibrated CPU/GPU memory estimates for foundation models. @Innixma (#5757)
Simplify the memory-estimate API: derive capability tags, default the instance wrappers. @Innixma (#5768)
Account for GPU memory when budgeting parallel bagging folds. @Innixma (#5791)
[experimental] Prototype GPU support for
fit_strategy='parallel'(behindAG_PARALLEL_GPU). @Innixma (#5702)Support xgboost v3.3: shared fit/predict category space for
enable_categorical. @Innixma (#5784)TabDPT: default to sequential fold fitting. @Innixma (#5785)
Minor changes for expert/experimental usage. @LennartPurucker (#5629)
API Changes and Deprecations¶
Make params immutable after construction (deprecation, raises in 1.7). @Innixma (#5776)
AuxiliaryParamstyped schema; makeparams_auximmutable after construction (deprecation, raises in 1.7). @Innixma (#5775)Declare supported problem types via
_supported_problem_typesclass attribute. @Innixma (#5771)Declare auxiliary-param overrides via
_default_auxiliary_params_extraclass attribute. @Innixma (#5772)Declare ensemble-args overrides and fit-resource defaults as class attributes. @Innixma (#5777)
Validate
_default_auxiliary_params_extrakeys inverify_model. @Innixma (#5773)
Fixes and Improvements¶
__init__.pyis missingTabPFNV2Model. @zhaozhiqiang200207 (#5511)Fix flash attention check for TabDPT. @colesussmeier (#5516)
Refactor TabularNeuralNetTorch to use
state_dictfor persistence. @celestinoxp (#5485)Share the categorical label-encoding preprocess step across models. @Innixma (#5778)
Share the
_fitdevice-resolution block onAbstractTorchModel. @Innixma (#5780)Fix TabPrep running the feature generator twice. @Innixma (#5650)
Disable text and datetime feature types in unrelated preprocessors. @Innixma (#5644)
Small fixes to AutoGluon code from TabArena benchmarks. @LennartPurucker (#5668)
Workaround for not enough samples per class. @LennartPurucker (#5613)
Add tests and a sanity check for custom split. @LennartPurucker (#5633)
Allow fit helper to use large test datasets. @LennartPurucker (#5548)
Validate invalid
feature_generatorinputs early. @bluehyena (#5635)Silence spurious warnings on degenerate (constant / all-NaN) columns during fit. @Innixma (#5701)
Fix IndexError in GroupByFeatureGenerator on all-NaN categorical columns. @Innixma (#5700)
Fix typos and bugs in feature generators. @celestinoxp (#5577)
Fix mutable default argument in DatetimeFeatureGenerator. @celestinoxp (#5558)
Fix incorrect NaN comparisons in feature importance logic. @celestinoxp (#5555)
Fix feature importance p-value calculation and optimize batch size. @celestinoxp (#5584)
Refactor greedy ensemble selection to use
np.isclosefor floating point comparisons. @celestinoxp (#5556)EnsembleSelection hygiene: no caller mutation, predict
problem_typeoverride. @Innixma (#5720)Fix OOF alignment for the weighted ensemble; size curves override
auto_stackand gain dynamic stacking. @Innixma (#5804)Resolve the structure holdout before feature generation. @Innixma (#5799)
Disable
use_child_oofwhencustom_splitsare given. @Innixma (#5795)Do not give up the requested fold count over a rare stratification value. @Innixma (#5806)
Stop losing missing categorical values in the TabPFN wrappers. @Innixma (#5809)
Keep missing values and lift the class cap for TabDPT. @Innixma (#5810)
Optimize
augment_rare_classeswith single concat. @celestinoxp (#5564)Optimize category counting in TabularTorchDataset using numpy. @celestinoxp (#5566)
Support
pd.SparseArrayin simulation_utils.py. @Innixma (#5602)Add check that models can predict single samples. @Innixma (#5542)
Safe rmtree for dystack on Windows. @celestinoxp (#5616)
Fix misleading
augment_methodindistill()log. @petervanwylen (#5656)
TimeSeries¶
Highlights¶
Add Toto-2 pretrained forecasting model. @shchur (#5740, #5760)
New forecasting metrics:
MAEBandWAPEB(bias-penalized),BIAS(to check for forecast bias), andMQL(mean quantile loss). @shchur (#5782, #5779)New
TimeSeriesPredictor.export_modelmethod to export a trained model to a standalone checkpoint that loads without AutoGluon. @shchur (#5767)New presets, achieving a 65% win rate vs. AutoGluon v1.5. @shchur (#5786, #5811)
New Features¶
API Changes and Deprecations¶
Fixes and Improvements¶
Use new Chronos-2 preprocess API for fine-tuning. @shchur (#5739)
Respect user-provided device for Chronos models. @shchur (#5764)
Align timeseries
eval_metricformat with tabular. @Mateusz-Switala (#5661)Fix Chronos2 covariate unit tests for chronos-forecasting 2.3.1. @shchur (#5706)
Silence noisy model loading logs for Chronos and TFT. @shchur (#5805, #5807)
Multimodal¶
Fixes and Improvements¶
Documentation and CI¶
Documentation fixes and improvements. @Innixma @shchur @biefan @jwu7778 @celestinoxp @MaximAliev @felixkosmalla (#5534, #5667, #5686, #5612, #5621, #5174, #5574, #5575, #4709, #5554, #5813, #5814)
CI, linting, and tooling fixes and improvements. @shchur @celestinoxp @Innixma @prateekdesai04 @github-actions (#5531, #5532, #5530, #5543, #5559, #5592, #5585, #5758, #5572, #5669, #5672, #5586, #5674, #5728, #5736, #5738, #5507)
Auto-update ruff pre-commit hook. @github-actions (#5607, #5610, #5614, #5624, #5626, #5630, #5636, #5639, #5651, #5659, #5670, #5675, #5696, #5699, #5703, #5704, #5719, #5733, #5755, #5787)
Contributors¶
Full Contributor List (ordered by # of commits):
@Innixma @shchur @celestinoxp @LennartPurucker @Atharva-Rajan-Kale @prateekdesai04 @jalencato @colesussmeier @atschalz @zhaozhiqiang200207 @petervanwylen @minkyu-choi07 @jwu7778 @felixkosmalla @eyh002 @bluehyena @biefan @MaximAliev @Mateusz-Switala
New Contributors¶
@zhaozhiqiang200207 @jwu7778 @felixkosmalla @MaximAliev @biefan @bluehyena @Mateusz-Switala @jalencato @Atharva-Rajan-Kale @petervanwylen @minkyu-choi07 @eyh002
Acknowledgements¶
AutoGluon’s continued development is made possible by the support of Amazon and Prior Labs. The project was created at Amazon, which has supported it since the very first release. With this release, Prior Labs joins in supporting AutoGluon’s core development, and the maintainer team now spans both organizations. We are grateful to both companies for investing in open source machine learning and enabling AutoGluon to keep pushing the state of the art.