版本 1.3.0

我们很高兴地宣布 AutoGluon 1.3.0 版本发布!

AutoGluon 1.3 主要关注稳定性和可用性改进、错误修复以及依赖项升级。

此版本包含 来自 20 位贡献者的 142 次提交!在此处查看完整的提交更改日志:https://github.com/autogluon/autogluon/compare/v1.2.0…v1.3.0

加入社区: 获取最新动态:Twitter

不支持加载使用旧版本 AutoGluon 训练的模型。请使用 AutoGluon 1.3 重新训练模型。


亮点

AutoGluon-Tabular 在 AutoML Benchmark 2025 中处于最先进水平!

AutoML Benchmark 2025 是一项对表格 AutoML 框架进行的独立大规模评估,展示了 AutoGluon 1.2 作为最先进的 AutoML 框架!亮点包括

  • AutoGluon 的排名在所有时间限制下通过 Nemenyi 后续检验,统计学上显著优于所有 AutoML 系统。

  • AutoGluon 在 5 分钟训练预算下表现优于所有其他 AutoML 系统在 1 小时训练预算下的表现。

  • AutoGluon 在所有评估的预设和时间限制下,质量和速度都达到帕累托效率。

  • 带有 presets="high", infer_limit=0.0001 (图中 HQIL) 的 AutoGluon 实现了每秒 >10,000 个样本的推理吞吐量,同时优于所有其他方法。

  • AutoGluon 是最稳定的 AutoML 系统。对于“best”和“high”预设,AutoGluon 在所有 >5 分钟的时间预算下都没有失败。

https://raw.githubusercontent.com/Innixma/autogluon-doc-utils/refs/heads/main/docs/whats_new/v1.3.0/amlb2025_fig1.png

AutoGluon 多模态的“技巧集合”更新

我们很高兴地宣布 AutoGluon 多模态 (AutoMM) 集成了一项全面的“技巧集合”更新。这项重要增强显著提高了处理图像、文本和表格数据组合时的多模态 AutoML 性能。该更新实现了各种策略,包括多模态模型融合技术、多模态数据增强、跨模态对齐、表格数据序列化、更好地处理缺失模态,以及一个整合这些技术的集成学习器以实现最佳性能。

用户现在可以通过初始化 MultiModalPredictor 时设置一个简单参数来访问这些功能,具体请遵循此处的说明下载检查点。

from autogluon.multimodal import MultiModalPredictor
predictor = MultiModalPredictor(label="label", use_ensemble=True)
predictor.fit(train_data=train_data)

我们感谢 @zhiqiangdon 做出这一重大贡献,增强了 AutoGluon 处理复杂多模态数据集的能力。此处是描述技术细节的相应研究论文:Bag of Tricks for Multimodal AutoML with Image, Text, and Tabular Data

弃用和重大变更

以下已弃用的 TabularPredictor 方法已在 1.3.0 版本中移除(在 1.0.0 中弃用,在 1.2.0 中引发警告,在 1.3.0 中移除)。请使用新名称

  • persist_models -> persist, unpersist_models -> unpersist, get_model_names -> model_names, get_model_best -> model_best, get_pred_from_proba -> predict_from_proba, get_model_full_dict -> model_refit_map, get_oof_pred_proba -> predict_proba_oof, get_oof_pred -> predict_oof, get_size_disk_per_file -> disk_usage_per_file, get_size_disk -> disk_usage, get_model_names_persisted -> model_names(persisted=True)

以下逻辑从 1.3.0 版本开始已弃用,并将记录 FutureWarning。功能将在未来版本中更改

  • (未来警告) TabularPredictor.delete_models() 在未来版本中将默认为 dry_run=False(当前默认为 dry_run=True)。请确保明确指定 dry_run=True 以便现有逻辑在未来版本中保持不变。 @Innixma (#4905)

通用

改进

依赖项

文档

修复和改进


表格数据

移除的模型

  • 移除了 vowpalwabbit 模型 (key: VW) 和可选依赖项 (autogluon.tabular[vowpalwabbit]),因为 AutoGluon 中实现的该模型使用不广泛,且基本处于无人维护状态。 @Innixma (#4975)

  • 移除了 TabTransformer 模型 (key: TRANSF),因为 AutoGluon 中实现的该模型已严重过时,自 2020 年以来无人维护,并且通常性能不如 FT-Transformer (key: FT_TRANSFORMER)。 @Innixma (#4976)

  • 移除了 autogluon.tabular[tests] 安装中的 tabpfn,为未来支持 tabpfn>=2.x 做准备。 @Innixma (#4974)

新功能

  • 添加通过分箱实现回归分层分割的支持。 @Innixma (#4586)

  • 添加 TabularPredictor.model_hyperparameters(model) 方法,该方法返回模型的超参数。 @Innixma (#4901)

  • 添加 TabularPredictor.model_info(model) 方法,该方法返回模型的元数据。 @Innixma (#4901)

  • (实验性) 添加 plot_leaderboard.py 以可视化预测器在训练时间上的性能。 @Innixma (#4907)

  • (主要) 添加内部 ag_model_registry 以改进对支持的模型族及其功能的跟踪。 @Innixma (#4913, #5057, #5107)

  • 添加 raise_on_model_failure TabularPredictor.fit 参数,默认为 False。如果设置为 True,当模型在训练过程中抛出异常时将立即抛出原始异常,而不是继续下一个模型。在调试时,将此参数设置为 True 对于找出模型失败原因非常有帮助,因为否则异常会由 AutoGluon 处理,这在调试时不是期望的行为。 @Innixma (#4937, #5055)

文档

修复和改进

  • (主要) 确保 refit_full 中的 bagged refits 正常工作(在 v1.2.0 中由于错误而崩溃)。 @Innixma (#4870)

  • 改进 XGBoost 和 CatBoost 的内存估算。 @Innixma (#5090)

  • 改进 LightGBM 的内存估算。 @Innixma (#5101)

  • 修复了 plot_tabular_models 的保存路径。 @everdark (#4711)

  • 修复了 balanced_accuracy 指标的边缘情况异常 + 添加了单元测试以确保未来不会出现错误。 @Innixma (#4775)

  • 修复了 HPO 日志记录的详细程度。 @Innixma (#4781)

  • 改进了 use_child_oof=True 时的日志记录。 @Innixma (#4780)

  • 修复了 NN_TORCH 在少于 8 个样本时训练崩溃的问题。 @Innixma (#4790)

  • 改进了 CatBoost memory_check 回调中的日志记录和文档。 @celestinoxp (#4802)

  • 改进了代码格式以满足 PEP585。 @celestinoxp (#4823)

  • 移除已弃用的 TabularPredictor 方法: @Innixma (#4906)

  • (未来警告) TabularPredictor.delete_models() 在未来版本中将默认为 dry_run=False(当前默认为 dry_run=True)。请确保明确指定 dry_run=True 以便现有逻辑在未来版本中保持不变。 @Innixma (#4905)

  • 通过各种优化将表格数据单元测试速度提高了 4 倍 (3060 秒 -> 743 秒)。 @Innixma (#4944)

  • 对表格数据单元测试进行重大重构,以避免使用 fixtures。 @Innixma (#4949)

  • 修复 XGBoost GPU 警告。 @Innixma (#4866)

  • 修复了当存在 categorical features 时 TabularPredictor.refit_full(train_data_extra) 失败的问题。 @Innixma (#4948)

  • convert_simulation_artifacts_to_tabular_predictions_dict 创建的 artifact 内存使用量减少了 4 倍。 @Innixma (#5024)

  • 细微的修复。 @shchur (#5030)

  • 确保在留出模型训练期间尊重最大模型资源限制。 @Innixma (#5067)

  • 移除 LightGBM 模型训练期间意外设置全局随机种子的问题。 @Innixma (#5095)


时间序列

新的 v1.3 版本为时间序列模块带来了许多可用性改进和错误修复。在内部,我们完成了对核心类的重大重构,并引入了静态类型检查,以简化未来的贡献、加速开发并及早发现潜在错误。

API 变更和弃用

  • 作为重构的一部分,我们对内部 AbstractTimeSeriesModel 类进行了一些更改。如果您维护着 自定义模型 的实现,您可能需要进行更新。请参考 自定义预测模型教程 了解详细信息。

    仅依赖 timeseries 模块公共 API(TimeSeriesPredictorTimeSeriesDataFrame)的用户无需执行任何操作。

新功能

  • @shchur 贡献的新增自定义预测模型的教程 #4749

  • @abdulfatir 贡献的在 evaluateleaderboard 中添加 cutoff 支持 #5078

  • @shchur 贡献的为 TimeSeriesPredictor 添加 horizon_weight 支持 #5084

  • @shchur 贡献的为 TimeSeriesPredictor 添加 make_future_data_frame 方法 #5051

  • @canerturkmen 贡献的重构 ensemble 基类并添加新的 ensembles #5062

代码质量

修复和改进


多模态

新功能

AutoGluon 的 MultiModal 模块通过一项全面的“技巧集合”更新得到增强,该更新通过先进的融合技术、数据增强和集成的集成学习器,显著提高了处理图像、文本和表格数据组合时的性能。在遵循此处的说明下载检查点后,现在可以通过简单的 use_ensemble=True 参数访问这些功能。

文档

修复和改进

  • @suzhoum 贡献的更新 AutoMM 单元测试的 s3 路径为公共 URL #4809

  • @FANGAreNotGnu 贡献的修复目标检测教程和 predict 的默认行为 #4865

  • @k-ken-t4g 贡献的修复下载函数中的 NLTK tagger 路径问题 #4982

  • @tonyhoo 贡献的通过限制 transformer 范围来修复 AutoMM 模型保存逻辑 #5007

  • 修复:由 @tonyhoo 贡献的在学习率调度中考虑分布式训练 #5003


特别致谢

  • Zhiqiang Tang,他为 AutoGluon 的 MultiModal 实现了“技巧集合”,显著提升了多模态性能。

  • Caner Turkmen,他主导了时间序列模块 timeseries 内部逻辑的重构和改进工作。

  • Celestino,作为新贡献者提供了大量错误报告、建议和代码清理工作。

贡献者

完整贡献者列表(按提交数量排序)

@Innixma @shchur @canerturkmen @tonyhoo @abdulfatir @celestinoxp @suzhoum @FANGAreNotGnu @prateekdesai04 @zhiqiangdon @cheungdaven @LennartPurucker @abhishek-iitmadras @zkalson @nathanaelbosch @Killer3048 @FireballDWF @timostrunk @everdark @kbulygin @PGijsbers @k-ken-t4g

新贡献者