Skip to content

v0.6.0

Compare
Choose a tag to compare
@gradientsky gradientsky released this 17 Nov 04:52
· 994 commits to master since this release
2dd1534

Version 0.6.0

We're happy to announce the AutoGluon 0.6 release. 0.6 contains major enhancements to Tabular, Multimodal, and Time Series
modules, along with many quality of life improvements and fixes.

As always, only load previously trained models using the same version of AutoGluon that they were originally trained on.
Loading models trained in different versions of AutoGluon is not supported.

This release contains 263 commits from 25 contributors!

See the full commit change-log here: v0.5.2...v0.6.0

Special thanks to @cheungdaven, @suzhoum, @BingzhaoZhu, @liangfu, @Harry-zzh, @gidler, @yongxinw, @martinschaef,
@giswqs, @Jalagarto, @geoalgo, @lujiaying and @leloykun who were first time contributors to AutoGluon this release!

Full Contributor List (ordered by # of commits):

@shchur, @yinweisu, @zhiqiangdon, @Innixma, @FANGAreNotGnu, @canerturkmen, @sxjscience, @gradientsky, @cheungdaven,
@bryanyzhu, @suzhoum, @BingzhaoZhu, @yongxinw, @tonyhoo, @liangfu, @Harry-zzh, @Raldir, @gidler, @martinschaef,
@giswqs, @Jalagarto, @geoalgo, @lujiaying, @leloykun, @yiqings

This version supports Python versions 3.7 to 3.9. This is the last release that will support Python 3.7.

Changes

AutoMM

AutoGluon Multimodal (a.k.a AutoMM) supports three new features: 1) object detection, 2) named entity recognition, and 3) multimodal matching. In addition, the HPO backend of AutoGluon Multimodal has been upgraded to ray 2.0. It also supports fine-tuning billion-scale FLAN-T5-XL model on a single AWS g4.2x-large instance with improved parameter-efficient finetuning. Starting from 0.6, we recommend using autogluon.multimodal rather than autogluon.text or autogluon.vision and added deprecation warnings.

New features

Other Enhancements

Experimental Features

Tabular

New features

  • New experimental model FT_TRANSFORMER. @BingzhaoZhu, @Innixma (#2085, #2379, #2389, #2410)

    • You can access it via specifying the FT_TRANSFORMER key
      in the hyperparameters dictionary or via presets="experimental_best_quality".
    • It is recommended to use GPU to train this model, but CPU training is also supported.
    • If given enough training time, this model generally improves the ensemble quality.
  • New experimental model compilation support via predictor.compile_models(). @liangfu, @Innixma (#2225, #2260, #2300)

    • Currently only Random Forest and Extra Trees have compilation support.
    • You will need to install extra dependencies for this to work: pip install autogluon.tabular[all,skl2onnx].
    • Compiling models dramatically speeds up inference time (~10x) when processing small batches of samples (<10000).
    • Note that a known bug exists in the current implementation: Refitting models after compilation will fail
      and cause a crash. To avoid this, ensure that .compile_models is called only at the very end.
  • Added predictor.clone(...) method to allow perfectly cloning a predictor object to a new directory.
    This is useful to preserve the state of a predictor prior to altering it
    (such as prior to calling .save_space, .distill, .compile_models, or .refit_full. @Innixma (#2071)

  • Added simplified num_gpus and num_cpus arguments to predictor.fit to control total resources.
    @yinweisu, @Innixma (#2263)

  • Improved stability and effectiveness of HPO functionality via various refactors regarding our usage of ray.
    @yinweisu, @Innixma (#1974, #1990, #2094, #2121, #2133, #2195, #2253, #2263, #2330)

  • Upgraded dependency versions: XGBoost 1.7, CatBoost 1.1, Scikit-learn 1.1, Pandas 1.5, Scipy 1.9, Numpy 1.23.
    @Innixma (#2373)

  • Added python version compatibility check when loading a fitted TabularPredictor.
    Will now error if python versions are incompatible. @Innixma (#2054)

  • Added fit_weighted_ensemble argument to predictor.fit. This allows the user to disable the weighted ensemble.
    @Innixma (#2145)

  • Added cascade ensemble foundation logic. @Innixma (#1929)

Other Enhancements

Time Series

New features

  • TimeSeriesPredictor now supports static features (a.k.a. time series metadata, static covariates) and **
    time-varying covariates** (a.k.a. dynamic features or related time series). @shchur @canerturkmen (#1986, #2238,
    #2276, #2287)
  • AutoGluon-TimeSeries now uses PyTorch by default (for DeepAR and SimpleFeedForward), removing the dependency
    on MXNet. @canerturkmen (#2074, #2205, #2279)
  • New models! AutoGluonTabular relies on XGBoost, LightGBM and CatBoost under the hood via the autogluon.tabular
    module. Naive and SeasonalNaive forecasters are simple methods that provide strong baselines with no increase in
    training time. TemporalFusionTransformerMXNet brings the TFT transformer architecture to AutoGluon. @shchur (#2106,
    #2188, #2258, #2266)
  • Up to 20x faster parallel and memory-efficient training for statistical (local) forecasting models like ETS, ARIMA
    and Theta, as well as WeightedEnsemble. @shchur @canerturkmen (#2001, #2033, #2040, #2067, #2072, #2073, #2180,
    #2293, #2305)
  • Up to 3x faster training for GluonTS models with data caching. GPU training enabled by default on PyTorch models.
    @shchur (#2323)
  • More accurate validation for time series models with multi-window backtesting. @shchur (#2013, #2038)
  • TimeSeriesPredictor now handles irregularly sampled time series with ignore_index. @canerturkmen, @shchur (#1993,
    #2322)
  • Improved and extended presets for more accurate forecasting. @shchur (#2304)
  • 15x faster and more robust forecast evaluation with updates to TimeSeriesEvaluator @shchur (#2147, #2150)
  • Enabled Ray Tune backend for hyperparameter optimization of time series models. @shchur (#2167, #2203)

More tutorials and examples

Improved documentation and new tutorials:

@shchur (#2120, #2127, #2146, #2174, #2187, #2354)

Miscellaneous

@shchur

  • Deprecate passing quantile_levels to TimeSeriesPredictor.predict (#2277)
  • Use static features in GluonTS forecasting models (#2238)
  • Make sure that time series splitter doesn't trim training series shorter than prediction_length + 1 (#2099)
  • Fix hyperparameter overloading in HPO for time series models (#2189)
  • Clean up the TimeSeriesDataFrame public API (#2105)
  • Fix item order in GluonTS models predictions (#2092)
  • Implement hash_ts_dataframe_items (#2060)
  • Speed up TimeSeriesDataFrame.slice_by_timestep (#2020)
  • Speed up RandomForestQuantileRegressor and ExtraTreesQuantileRegressor (#2204)
  • Various backend enhancements / refactoring / cleanup (#2314, #2294, #2292, #2278, #1985, #2398)

@canerturkmen

  • Increase the number of samples used by DeepAR at prediction time (#2291)
  • revise timeseries presets to minimum context length of 10 (#2065)
  • Fix timeseries daily frequency inferred period (#2100)
  • Various backend enhancements / refactoring / cleanup (#2286, #2302, #2240, #2093, #2098, #2044, #2385, #2355, #2405)