版本 0.8.0

我们很高兴宣布 AutoGluon 0.8 版本发布。

注意:不支持加载在不同版本的 AutoGluon 中训练的模型。

此版本包含来自 20 位贡献者的 196 次提交!

查看完整的提交更改日志:https://github.com/autogluon/autogluon/compare/0.7.0…0.8.0

特别感谢 @geoalgo 在本次版本中共同生成实验性的表格 Zeroshot-HPO 组合!

全部贡献者列表(按提交次数排序)

@shchur, @Innixma, @yinweisu, @gradientsky, @FANGAreNotGnu, @zhiqiangdon, @gidler, @liangfu, @tonyhoo, @cheungdaven, @cnpgs, @giswqs, @suzhoum, @yongxinw, @isunli, @jjaeyeon, @xiaochenbin9527, @yzhliu, @jsharpna, @sxjscience

AutoGluon 0.8 支持 Python 版本 3.8、3.9 和 3.10。

变更

亮点

  • AutoGluon TimeSeries 引入了多项重大改进,包括新模型、提升预测准确性的升级预设,以及加速训练和推理的优化。

  • AutoGluon Tabular 现在支持**二元分类中的决策阈值校准** (API),这极大地提升了 f1balanced_accuracy 等评估指标。例如,f1 分数从 0.70 提升到 0.73 并非罕见。我们**强烈**建议所有使用这些指标的用户尝试新的决策阈值校准逻辑。

  • AutoGluon MultiModal 引入了两项新功能:1) **PDF 文档分类**,以及 2) **开放词汇目标检测**。

  • AutoGluon MultiModal 升级了目标检测的预设,现在提供 medium_qualityhigh_qualitybest_quality 选项。经验结果表明,在使用相同预设的情况下,mAP(平均精度均值)指标相对提升了约 20%。

  • AutoGluon Tabular 添加了一个实验性的 **Zeroshot HPO 配置**,在提供至少一小时训练时间的情况下,该配置在小于 10000 行的小型数据集上表现良好(相对于 best_quality,胜率约为 60%)。要尝试此配置,请在调用 fit() 时指定 presets="experimental_zeroshot_hpo_hybrid"

  • AutoGluon EDA 添加了对**异常检测**和**局部依赖图**的支持。

  • AutoGluon Tabular 添加了对预训练的表格 Transformer 模型 **TabPFN** 的实验性支持。当推理速度不是主要考虑因素且训练数据行数小于 10000 时,TabPFN 是一个可行的模型选项。通过 pip install autogluon.tabular[all,tabpfn] 来尝试(超参数键为“TABPFN”)!

通用

多模态

AutoGluon MultiModal(也称为 AutoMM)引入了两项新功能:1) PDF 文档分类,以及 2) 开放词汇目标检测。此外,我们升级了目标检测的预设,现在提供 medium_qualityhigh_qualitybest_quality 选项。经验结果表明,在使用相同预设的情况下,mAP(平均精度均值)指标相对提升了约 20%。

新功能

性能改进

  • 将检测引擎从 mmdet 2.x 升级到 mmdet 3.x,并升级我们的预设 @FANGAreNotGnu (#3262)

    • medium_quality: yolo-s -> yolox-l

    • high_quality: yolox-l -> DINO-Res50

    • best_quality: yolox-x -> DINO-Swin_l

  • 使用 deepspeed 策略加速融合模型训练。 @liangfu (#2932)

  • 启用检测骨干网络冻结以提高微调速度并节省 GPU 使用 @FANGAreNotGnu (#3220)

其他增强功能

Bug 修复 / 代码和文档改进

表格数据

新功能

  • 添加了 calibrate_decision_threshold (教程),允许优化给定评估指标的预测决策阈值,从而显著提高指标分数。 @Innixma (#3298)

  • 我们添加了一个实验性的 Zeroshot HPO 配置,在提供至少一小时训练时间的情况下,该配置在小于 10000 行的小型数据集上表现良好(相对于 best_quality,胜率约为 60%)。要尝试此配置,请在调用 fit() 时指定 presets="experimental_zeroshot_hpo_hybrid" @Innixma @geoalgo (#3312)

  • 通过 pip install autogluon.tabular[all,tabpfn] 来尝试(超参数键为“TABPFN”)! @Innixma (#3270)

  • 分布式训练的后端支持,将在下一个 Cloud 模块发布时提供。 @yinweisu (#3054, #3110, #3115, #3131, #3142, #3179, #3216)

性能改进

其他增强功能

Bug 修复 / 代码和文档改进

时间序列

在 v0.8 版本中,我们对时间序列模块引入了多项重大改进,包括新模型、提升预测准确性的升级预设,以及加速训练和推理的优化。

亮点

  • 新模型:来自 GluonTS 的 PatchTSTDLinear,以及基于与 mlforecast 库集成的 RecursiveTabular 模型 @shchur (#3177, #3184, #3230)

  • 由于预设更新,预测准确性提高,整体训练时间缩短 @shchur (#3281, #3120)

  • AutoARIMAAutoETSThetaDirectTabularWeightedEnsemble 等模型的训练和推理速度提高了 3-6 倍 @shchur (#3062, #3214, #3252)

新功能

  • 由于预测缓存,重复调用 predict()leaderboard()evaluate() 的速度显著加快 @shchur (#3237)

  • 通过在 fit() 方法中使用 num_val_windows 参数来使用多个验证窗口,减少过拟合 @shchur (#3080)

  • 通过在 fit() 方法中使用 excluded_model_types 参数,从预设中排除某些模型 @shchur (#3231)

  • 新方法 refit_full(),用于在合并的训练和验证数据上重新训练模型 @shchur (#3157)

  • 通过在 hyperparameters 参数中提供列表,训练同一模型的多种配置 @shchur (#3183)

  • time_limit 设置的时间限制现在对所有模型生效 @shchur (#3214)

增强功能

  • DirectTabular 模型(先前称为 AutoGluonTabular)的改进:特征提取更快,如果将 eval_metric 设置为 "mean_wQuantileLoss" 则作为分位数回归模型进行训练 @shchur (#2973, #3211)

  • 计算 MASE 评估指标时使用正确的季节周期 @shchur (#2970)

  • 从磁盘加载 TimeSeriesPredictor 时检查 AutoGluon 版本 @shchur (#3233)

次要改进 / 文档 / Bug 修复

探索性数据分析 (EDA) 工具

在 0.8 版本中,我们引入了一些新工具来帮助进行数据探索和特征工程

  • 异常检测 @gradientsky (#3124, #3137) - 帮助识别数据中显著偏离常规的异常模式或行为。最适用于查找异常值、罕见事件或可能表明欺诈、缺陷或系统故障的可疑活动。请查看异常检测教程以探索其功能。

  • 局部依赖图 @gradientsky (#3071, #3079) - 可视化数据集中每个个体实例的特征与模型输出之间的关系。双向变体可以可视化任意两个特征之间的潜在交互。有关更多详细信息,请参阅此教程:使用交互图了解数据信息

Bug 修复 / 代码和文档改进