AutoGluon 1.4.0 深度解析:extreme 预设、五大全新 Tabular 模型与 MLZero 自动化智能体
2026/9/15 22:44:55 网站建设 项目流程

AutoGluon 1.4.0 深度解析:extreme 预设、五大全新 Tabular 模型与 MLZero 自动化智能体

【免费下载链接】autogluonFast and Accurate ML in 3 Lines of Code项目地址: https://gitcode.com/GitHub_Trending/au/autogluon

AutoGluon 1.4.0 是面向表格(Tabular)与时间序列(TimeSeries)两大模块的一次里程碑式发布:引入全新的extreme预设(TabularPredictor),一次性新增 RealMLP、TabM、TabPFNv2、TabICL、Mitra 五个表格模型家族,并正式发布端到端数据科学智能体 AutoGluon Assistant(MLZero 1.0)。本文基于官方发布说明(docs/whats_new/v1.4.0.md),结合仓库源码逐一拆解各新特性的实现原理、配置细节与迁移要点,帮助读者在理解版本内容的同时掌握实际使用方法。

版本总览

AutoGluon 1.4.0 的核心主题是「把表格机器学习做到极致,把 AutoML 自动化做到零人工」:

  • Tabular 模块:推出extreme预设(别名extreme_qualityeq),官方称其为「AutoGluon 包历史上对预测性能最大的一次单一改进」,并新增 5 个模型家族:RealMLP、TabM、TabPFNv2、TabICL、Mitra。
  • TimeSeries 模块:核心数据结构TimeSeriesDataFrame的大幅性能优化、新模型PerStepTabular、以及DirectTabular/RecursiveTabular的 API 重构。
  • AutoGluon Assistant(MLZero 1.0):基于 LLM 的多智能体系统,将 AutoGluon 从「3 行代码」进一步推向「0 行代码」。

该版本共包含 69 个提交、由 18 位贡献者完成(见 v1.4.0 发布说明),支持Python 3.9、3.10、3.11、3.12。需要注意的是:AutoGluon 1.4.0 不再支持加载旧版本训练的模型,升级后需使用 1.4.0 重新训练。

Tabular 核心更新:extreme 预设

3 行代码体验新预设

extreme(全称extreme_quality)是 1.4.0 为 TabularPredictor 引入的全新预设,使用方式与既有预设完全一致:

from autogluon.tabular import TabularPredictor predictor = TabularPredictor(label="class").fit("train.csv", presets="extreme") predictions = predictor.predict("test.csv")

底层模型组合:TabArena 元学习组合

extreme预设依赖一个元学习得到的模型组合(portfolio),它是 TabArena 论文中「TabArena ensemble」的改进版本。在当前仓库中,对应配置位于 zeroshot_portfolio_2025.py,文件头部注释明确其适用范围为「≤10000 样本、≤500 特征、且存在 GPU」的小数据场景。该组合包含:

模型键说明组合内配置数量
REALTABPFN-V2表格基础模型(TabPFNv2)1 个默认配置
GBMLightGBM 树模型3 个调参副本(_r33/_r21/_r11
CATCatBoost 树模型5 个调参副本(默认/_r51/_r10/_r24/_r91
TABMTabM 深度模型6 个调参副本
TABICLTabICL 基础模型1 个默认配置
XGBXGBoost 树模型2 个调参副本(_r171/_r40
MITRAMitra 基础模型(含 50 步微调)1 个配置(fine_tune_steps: 50

从配置文件中可以看到,每个副本都携带了从 TabArena 基准上学习到的完整超参数(如 GBM 的bagging_fractionlearning_ratenum_leaves,CAT 的depthl2_leaf_reggrow_policy,TABM 的arch_typed_blockd_embedding等),并通过ag_args.priority控制训练先后顺序。这正是官方所称「88% win-rate 对比 1.3 版best_quality(<10000 样本数据集)、TabArena 上整体 Elo 提升 290」的性能来源(数据引自官方发布说明)。

预设配置解析

在 presets_configs.py 中可以看到与 v1.4.0 相关的两条配置:

  • tabarena预设(hyperparameters: "zeroshot_2025_tabfm"):即 v1.4.0 的extreme核心配置,包含auto_stackdynamic_stacking: "auto"num_stack_levels: 0num_bag_sets: 1、默认time_limit: 3600
  • extreme_quality_v140(别名extreme_v140experimental_quality_v140):在tabarena基础上开启_experimental_dynamic_hyperparameters,且不锁定静态组合,由 fit 时动态决定超参。

当前仓库的tabular_presets_alias字典中,extremeeq均映射到extreme_quality(新版组合),而extreme_v140仍指向extreme_quality_v140,可供需要复现 1.4.0 行为的用户使用。

使用前提与限制

官方文档明确了extreme预设的适用边界,实践中必须注意:

  • GPU 强推荐:为获得最佳效果需要 CUDA 兼容 GPU,理想情况 32 GB 以上显存;推理时间可能长于best,但在 GPU 上依然可接受。
  • 样本量阈值extreme组合仅用于样本量不超过30000的数据集;更大数据集仍沿用best_quality组合。
  • 需要联网下载权重:fit 过程中需要下载 TabPFNv2、TabICL、Mitra 的基础模型权重。离线环境需提前预下载这些权重,否则无法在 fit 时使用。
  • 实验性状态:官方声明该预设在本版本中视为实验性功能,未来版本可能在没有警告的情况下变更。
  • 训练效率:官方指出extreme训练 5 分钟即可超过best运行 4 小时的结果(引自官方发布说明)。

TabArena 与新增的五个 Tabular 模型

v1.4.0 同时将 TabArena 基准的研究结论直接落地为产品能力。TabArena 是一个面向 IID 表格数据的在线基准:拥有接受提交的在线排行榜、经过精心筛选的真实数据集(具备预测性、表格型、IID、许可宽松)、覆盖树模型/深度学习/基础模型三类强基线,并在评估上遵循内层 CV、外层 CV、早停等最佳实践。其核心洞察包括:RealMLP 与 TabM 在加权集成下略超提升树但训练+推理更慢;TabPFNv2、TabICL 这类基础模型仅适用于部分数据集但在其上表现极强;「赢家通吃」并不成立——对不同模型类型做加权集成可显著超越当时的 SOTA(AutoGluon 1.3)。这些结论直接催生了extreme预设。

五个新模型在仓库中的实现位置与使用方式如下:

模型模型键仓库实现安装方式论文主题
Mitra"MITRA"mitra_model.pypip install autogluon.tabular[all,mitra]autogluon全量安装自带)混合合成先验的表格基础模型
TabPFNv2"TABPFNV2"tabpfnv2 目录pip install autogluon.tabular[all,tabpfn]autogluon[tabarena]小数据上的表格基础模型
TabICL"TABICL"tabicl 目录pip install autogluon.tabular[all,tabicl]autogluon[tabarena]大规模数据的上下文学习基础模型
RealMLP"REALMLP"realmlp 目录pip install autogluon.tabular[all,realmlp]autogluon[tabarena]预调优 MLP 与提升树
TabM"TABM"tabm 目录pip install autogluon.tabular[all,tabm]autogluon全量安装自带)参数高效集成推进表格深度学习

若只需使用这批新模型而不跑整个extreme预设,可通过pip install autogluon[tabarena]一键安装全部相关依赖。

Mitra:AutoGluon 团队自研的表格基础模型

Mitra 是五个新模型中唯一由 AutoGluon 团队(AWS AI)原生自研的表格基础模型,从源码(mitra_model.py)可以确认以下关键事实:

  • 模型定位:完全在合成数据上预训练,目标是「优化微调性能优于上下文学习性能」;模型注释注明其默认超参在小数据集上超越了 TabArena v0.1 上所有非集成方法。
  • 支持任务_supported_problem_types = ["binary", "multiclass", "regression"],即分类与回归均可使用。
  • 硬件偏好gpu_strongly_recommended = True(官方标注 CPU 上上下文推理慢 12–63 倍),default_num_gpus = 1;同时支持 GPU 与 CPU 运行。
  • 使用边界:默认_default_auxiliary_params_extra限制max_rows: 10000max_features: 500max_classes: 10,与「擅长小样本」的定位一致。
  • 两种模式:支持零样本(zero-shot)与微调(fine-tune),在extreme组合中即配置为fine_tune: True, fine_tune_steps: 50
  • 开源与授权:权重采用 Apache-2.0 协议完全开源,对关心数据共享与托管的企业更友好。

使用方式同样是三行代码:

from autogluon.tabular import TabularPredictor predictor = TabularPredictor(label="class").fit( train_data, hyperparameters={"MITRA": {}}, )

模型移除与组合调整

1.4.0 同时移除/调整了部分旧能力,升级用户需注意:

  • TabPFNv1 被移除:因其与 TabPFNv2 不兼容(对应 PR #5191);
  • KNN 退出预设:KNN 模型从best_qualityhigh_quality预设组合中移除,原因是「通常不会带来整体提升」(对应 PR #5211)。

AutoGluon Assistant(MLZero 1.0):从 3 行代码到 0 行代码

定位与架构

AutoGluon Assistant 1.0 与学术框架MLZero(端到端零人工干预的 AutoML 智能体框架)合而为一,从 v0.1 的纯表格能力扩展为支持图像、文本、表格、音频及混合数据流水线的多模态全流程自动化。其核心是一套基于 LLM 的多智能体架构,涵盖感知(perception)、记忆(语义记忆与情景记忆)、代码生成、执行与迭代调试,可将原始多模态输入直接转化为高质量的 ML/DL 流水线。

官方强调的设计原则包括:

  • 零代码:用户仅用自然语言描述任务(如「用自定义标签对猫狗图像分类」),无需任何手动配置或专业知识;
  • 站在成熟库之上:MLZero 基于已有高性能 ML 库生成代码而非重新造轮子,保证方案稳健,同时便于接入新库;
  • 模块化可扩展:每个智能体与提示词独立设计与实现,由中心化管理者协调,便于后续增改智能体、提示词与工作流;
  • 配套 WebUI 与 MCP:v1.0 重新设计了聊天机器人风格的 WebUI,并引入 MCP(Model Control Protocol)集成,可通过标准化协议远程编排 AutoML 流水线。

(文中 MLZero 的性能对比表格与成功率数据均出自官方发布说明引用的 MLZero 论文,v1.4.0 发布说明 中可查看原始对照表。)

安装与使用

AutoGluon Assistant 支持Python 3.8–3.11与 Linux:

pip install uv uv pip install autogluon.assistant>=1.0

CLI 方式:

mlzero -i <input_data_dir>

WebUI 方式(分别启动前后端,前端默认端口 8509):

mlzero-backend # 启动后端 mlzero-frontend # 启动前端

MCP 方式(服务端与客户端):

# server mlzero-backend # 启动后端 bash ./src/autogluon/mcp/server/start_services.sh # 在新终端中启动服务 # client python ./src/autogluon/mcp/client/server.py

如何进一步了解

AutoGluon Assistant 的独立仓库维护(autogluon-assistant),本仓库中可结合 tabular-foundational-models 教程 了解表格基础模型(Mitra、TabPFNv2、TabICL)的使用细节。

Tabular 模块的其它改进

除新预设与新模型外,1.4.0 对 Tabular 的使用体验做了多项修补(详见 v1.4.0 发布说明):

  • 资源控制sequential_localfit 策略开始尊重num_cpus/num_gpus参数;CPU 核数探测全面改用 loky(get_cpu_count)。
  • 参数化约束:新增max_rowsmax_featuresmax_classesproblem_types等支持,便于在 fit 时对数据规模做约束。
  • 快捷语法:新增ag.ens.作为ag_args_ensemble的快捷写法(对应 PR #5143),例如在超参中直接使用ag.ens.ensemble_size: 40这类字典写法。
  • 模型修复:修复 CatBoost 在problem_type="quantile"len(quantile_levels)==1时的崩溃;修复 CatBoost 回归任务默认loss_function错误;Softclass 中移除fobj
  • 基础模型缓存:新增从 S3 缓存表格基础模型权重到 benchmark 的能力,避免 HuggingFace 限流。
  • 蒸馏增强:增强spunge_augmentmunge_augment函数(并对其做加速),服务模型蒸馏场景。

TimeSeries 模块更新

核心数据结构性能大幅提升

官方指出TimeSeriesDataFrame核心方法经重构后,在大数据集(>1000 万行)上端到端predictor.fit()predict()时间最多可降低 7 倍。实现层面,对应 PR #5159 用基于indptr的高效替代方案替换了groupby,显著降低了各类TimeSeriesDataFrame操作的运行时开销。

新模型:PerStepTabular

PerStepTabular(per_step.py)为预测时域中的每一步单独训练一个表格回归模型。从源码可以看到:

  • 每步模型可用的特征包括:滞后特征(lag,基于数据频率)、时间特征(如星期几)、已知协变量(known covariates)、以及每个序列的静态特征(static features)。
  • 训练与推理均按核数并行化(源码使用joblibParallel实现),官方称其为开源 Python 包中该模型类型最高效、最准确的实现之一。
  • 其超参数包括trailing_lags(默认[1, 2, ..., 12])、seasonal_lags(按频率自动确定)、date_featurestarget_scaler(默认"mean_abs")、model_name(默认"CAT")、model_hyperparametersvalidation_fraction等。
  • 若评估指标需要分位数(eval_metric.needs_quantile),底层表格模型以"quantile"问题类型训练;否则以"regression"训练,并通过「残差服从零均值正态分布」的假设生成虚拟分位数。
  • 实现上复用 mlforecast 做高效预处理,但逐步骤预测策略与 mlforecast 的max_horizon不同。

DirectTabular / RecursiveTabular API 重构(重要迁移点)

v1.4.0 将DirectTabularRecursiveTabular的内部实现从「构建整个TabularPredictor」重构为「底层拟合单个autogluon.tabular回归模型」,带来更低的磁盘占用,并使 API 与timeseries模块其它部分保持一致(实现位于 mlforecast.py,model_name通过ag_model_registry.key_to_cls解析为具体的表格模型类)。

相应地,两个超参数被废弃:

版本API
新 API(≥ v1.4.0){"RecursiveTabular": {"model_name": "CAT", "model_hyperparameters": {"iterations": 100}}}
旧 API(≤ v1.3.1){"RecursiveTabular": {"tabular_hyperparameters": {"CAT": {"iterations": 100}}}}

迁移规则(官方明确):

  • 在 v1.4.0 中若仍传入tabular_hyperparameters且只包含单个模型,会记录警告并自动转换为新 API;
  • 若传入 ≥2 个模型,因无法自动转换会直接报错,需手动改写为新 API;
  • tabular_fit_kwargs同样被model_hyperparameters取代。

完整对照示例:

# New API: >= v1.4.0 predictor.fit( ..., hyperparameters={ "RecursiveTabular": {"model_name": "CAT", "model_hyperparameters": {"iterations": 100}} } ) # Old API: <= v1.3.1 predictor.fit( ..., hyperparameters={ "RecursiveTabular": {"tabular_hyperparameters": {"CAT": {"iterations": 100}}} } )

其它 TimeSeries 变更

  • lag_transforms支持RecursiveTabular新增lag_transforms超参数,可对滞后特征做变换。
  • Chronosoptimization_strategy超参数(v1.3.0 起已废弃)在 v1.4.0 中被正式移除;同时改进了 Chronos-Bolt 在长期预测(prediction_length > 64)展开时的启发式策略。
  • gluonts命名空间重组autogluon.timeseries.models.gluonts命名空间被重新组织。
  • 训练失败诊断:单个模型训练失败时现在会记录完整堆栈轨迹;修复refit_fullquantile_levels=[]时集成预测失败的问题。
  • Python 3.9 兼容性修复

Multimodal 与通用改进

  • 多语言预设精度修复:多语言(multilingual)预设改用 FP32,以避免 DeBERTa 的 BFloat16 问题(对应 PR #5139)。
  • 安全修复:NLTK 依赖约束更新为<3.10,以解决 CVE-2024-39705。
  • CPU 探测:新增 CPU 工具函数,提升 docker、slurm 等受限环境下的 CPU 探测准确性(改用 joblib 替代 loky 的探测方式),并支持 Apple Silicon 的系统信息记录。
  • 数据 I/O:默认使用 pyarrow 读写 parquet,移除 fastparquet;新增从 URL 加载 pickle 的支持,并修复save_str在根路径下保存的问题。
  • 依赖版本:numpy 上限更新(允许 2.3.0)、PyTorch 上限更新至 2.8(启用 2.7);优先使用 PyTorch wheel 自带的 CUDA 库而非系统/DLC 的;pkg_resources.parse_version替换为packaging.version.parse
  • RAPIDS 兼容:修复 LinearModel 使用 RAPIDS cuML 模型时的 AttributeError;upload_file新增 kwargs 选项。

升级与兼容性建议

  1. 重新训练:1.4.0 不支持加载旧版本训练的模型,升级后所有模型需重新训练。
  2. 表格模型安装:使用 Mitra、TabPFNv2、TabICL、RealMLP、TabM 时,按上文表格选择对应 extras;autogluon[tabarena]可一次装齐。
  3. TimeSeries 迁移:若代码中使用tabular_hyperparameters/tabular_fit_kwargs,请改为model_name/model_hyperparameters,避免升级后报错。
  4. extreme 预设:确认具备 GPU(32 GB+ 显存最佳)与网络(可下载基础模型权重),且数据集样本量不超过 30000,否则该预设不会启用其专属组合。

总结

AutoGluon 1.4.0 通过extreme预设与五大新模型的组合,将表格数据的预测能力带上新的台阶,同时以 MLZero 智能体把 AutoML 的自动化边界从「三行代码」推进到「自然语言描述」;TimeSeries 侧则通过性能重构与新模型、新 API 持续打磨工程体验。对于开发者而言,理解extreme预设的模型组合与硬件前提、掌握新模型的安装方式、及时完成DirectTabular/RecursiveTabular的 API 迁移,是落地本版本价值最直接的三个切入点。

【免费下载链接】autogluonFast and Accurate ML in 3 Lines of Code项目地址: https://gitcode.com/GitHub_Trending/au/autogluon

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询