版本 1.0.0

今天终于到了这一天……AutoGluon 1.0 已经到来!! 经过超过四年的开发来自111位贡献者的2061次提交, 我们很高兴与您分享我们努力的成果,创建并普及世界上最强大、易于使用且功能丰富的自动化机器学习系统。 AutoGluon 1.0 带来了预测质量的变革性提升,这是多种新颖的集成创新相结合的结果,下面将重点介绍。 除了性能提升外,还进行了许多其他改进,这些改进在各个模块部分中有详细说明。

注意:不支持加载在旧版本AutoGluon上训练的模型。请使用AutoGluon 1.0重新训练模型。

此版本支持 Python 3.8、3.9、3.10 和 3.11 版本。

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

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

@shchur, @zhiqiangdon, @Innixma, @prateekdesai04, @FANGAreNotGnu, @yinweisu, @taoyang1122, @LennartPurucker, @Harry-zzh, @AnirudhDagar, @jaheba, @gradientsky, @melopeo, @ddelange, @tonyhoo, @canerturkmen, @suzhoum

Join the community:
Get the latest updates: Twitter

聚光灯

表格性能增强

AutoGluon 1.0 具有预测质量的重大改进,在表格建模中确立了新的最先进水平。 据我们所知,AutoGluon 1.0 标志着自2020年3月原始AutoGluon论文以来,表格数据领域最大的飞跃。 这些改进主要来自两个特性: 动态堆叠减轻堆叠过拟合, 以及通过Zeroshot-HPO获得的新学习模型超参数组合,该组合来自新发布的TabRepo集成模拟库。 它们共同带来了与AutoGluon 0.8相比75%的胜率,同时具有更快的推理速度、更低的磁盘使用率和更高的稳定性。

AutoML 基准测试结果

OpenML于2023年11月16日发布了2023年AutoML基准测试的官方结果。 他们的结果显示,AutoGluon 0.8在各种任务中都是AutoML系统的最先进技术: “总体而言,在模型性能方面,AutoGluon在我们的基准测试中始终具有最高的平均排名。” 我们现在展示的是,AutoGluon 1.0甚至比AutoGluon 0.8取得了更优异的结果!

以下是在OpenML AutoML Benchmark上对1040个任务的比较。 LightGBM、XGBoost和CatBoost的结果是通过AutoGluon获得的,其他方法来自官方AutoML Benchmark 2023结果。 AutoGluon 1.0对传统表格模型的胜率超过95%,包括对LightGBM的99%胜率和对XGBoost的100%胜率。 AutoGluon 1.0对其他AutoML系统的胜率在82%到94%之间。 对于所有方法,AutoGluon能够实现>10%的平均损失改进(例如:从90%的准确率提高到91%的准确率是10%的损失改进)。 AutoGluon 1.0在63%的任务中获得了第一名,lightautoml以12%的比例位居第二(AutoGluon 0.8之前以48%的比例获得第一名)。 AutoGluon 1.0甚至比AutoGluon 0.8实现了7.4%的平均损失改进!

方法

AG胜率

AG损失改进

重新调整的损失

排名

冠军

AutoGluon 1.0(最佳,4小时8核)

-

-

0.04

1.95

63%

lightautoml (2023, 4小时8核心)

84%

12.0%

0.2

4.78

12%

H2OAutoML (2023, 4小时8核心)

94%

10.8%

0.17

4.98

1%

FLAML (2023, 4小时8核心)

86%

16.7%

0.23

5.29

5%

MLJAR (2023, 4小时8核心)

82%

23.0%

0.33

5.53

6%

autosklearn (2023, 4小时8核心)

91%

12.5%

0.22

6.07

4%

GAMA (2023, 4小时8核心)

86%

15.4%

0.28

6.13

5%

CatBoost (2023, 4小时8核心)

95%

18.2%

0.28

6.89

3%

TPOT (2023, 4小时8核心)

91%

23.1%

0.4

8.15

1%

LightGBM (2023, 4小时8核)

99%

23.6%

0.4

8.95

0%

XGBoost (2023, 4小时8核)

100%

24.1%

0.43

9.5

0%

随机森林 (2023, 4h8c)

97%

25.1%

0.53

9.78

1%

AutoGluon 在 1.0 版本中不仅更准确,而且由于我们在低内存训练期间新使用了 Ray 子进程,它也更加稳定,从而在 AutoML 基准测试中实现了0 任务失败

AutoGluon 1.0 能够在任何 AutoML 系统中实现最快的推理吞吐量,同时仍能获得最先进的结果。 通过指定 infer_limit 拟合参数,用户可以在准确性和推理速度之间进行权衡,以满足他们的需求。

如下图所示,AutoGluon 1.0 在质量和推理吞吐量方面设定了帕累托前沿,与所有其他 AutoML 系统相比实现了帕累托优势。 AutoGluon 1.0 High 实现了比 AutoGluon 0.8 Best 更优越的性能,推理速度快了 8 倍,磁盘使用量减少了 8 倍!

AutoGluon 1.0 AutoML Benchmark Plot

您可以在这里获取更多关于结果的详细信息。

我们很高兴看到我们的用户能够利用AutoGluon 1.0的增强性能实现什么。一如既往,我们将在未来的版本中继续改进AutoGluon,以推动AutoML的边界向前发展。

AutoGluon 多模态 (AutoMM) 亮点一览图

AutoMM highlights

AutoMM 独特性

AutoGluon Multimodal (AutoMM) 与其他开源的AutoML工具箱如AutosSklearnLightAutoMLH2OAutoMLFLAMLMLJARTPOTGAMA不同,这些工具箱主要关注分类或回归的表格数据。 AutoMM 旨在跨多种模态(图像、文本、表格和文档)微调基础模型,无论是单独还是组合使用。 它提供了广泛的功能,用于分类、回归、目标检测、命名实体识别、语义匹配和图像分割等任务。 相比之下,其他AutoML系统通常对图像或文本的支持有限,通常使用一些预训练模型如EfficientNet或手工规则如词袋模型作为特征提取器。 它们通常依赖于传统模型或简单的神经网络。 AutoMM 提供了一种独特且全面的AutoML方法,是唯一支持灵活多模态和广泛任务范围的AutoML系统。 下面提供了一个详细的比较表,列出了对各种数据模态、任务和模型类型的支持情况。

数据

任务

模型

图片

文本

表格

文档

任何组合

分类

回归

目标检测

语义匹配

命名实体识别

图像分割

传统模型

深度学习模型

基础模型

LightAutoML

H2O自动机器学习

FLAML

MLJAR

自动Sklearn

GAMA

TPOT

AutoMM

特别感谢

我们希望通过感谢Pieter Gijsbers、Sébastien Poirier、Erin LeDell、Joaquin Vanschoren以及AutoML Benchmark的其他作者来结束这个亮点,他们在提供一个共享且广泛的基准以监控AutoML领域的进展中发挥了关键作用。他们的支持对AutoGluon项目的持续增长至关重要。

我们还要感谢Frank Hutter,他一直是AutoML领域的领导者,组织了2022年和2023年的AutoML会议,将社区聚集在一起分享想法并对一个引人注目的愿景达成一致。

最后,我们要感谢Alex Smola和Mu Li在亚马逊倡导开源软件,使这个项目成为可能。

特别感谢

  • 特别感谢@LennartPurucker领导动态堆栈的开发

  • 特别感谢 @geoalgo 共同编写了 TabRepo 以实现 Zeroshot-HPO

  • 特别感谢 @ddelange 帮助添加 Python 3.11 支持

  • 特别感谢 @mglowacki100 提供了大量的反馈和建议

  • 特别感谢 @Harry-zzh 贡献了新的语义分割问题类型

General

Highlights

  • Python 3.11 支持 @ddelange @yinweisu (#3190)

Other Enhancements

  • 添加了系统信息日志记录工具 @Innixma (#3718)

依赖更新

  • 将torch升级到>=2.0,<2.2 @zhiqiangdon @yinweisu @shchur (#3404, #3587, #3588)

  • 将numpy升级到>=1.21,<1.29 @prateekdesai04 (#3709)

  • 将Pandas升级到>=2.0,<2.2 @yinweisu @tonyhoo @shchur (#3498)

  • 升级了scikit-learn到>=1.3,<1.5 @yinweisu @tonyhoo @shchur (#3498)

  • 升级了Pillow到>=10.0.1,<11 @jaheba (#3688)

  • 升级了scipy到>=1.5.4,<1.13 @prateekdesai04 (#3709)

  • 将LightGBM升级到>=3.3,<4.2 @mglowacki100 @prateekdesai04 @Innixma (#3427, #3709, #3733)

  • 升级XGBoost到>=1.6,<2.1 @Innixma (#3768)

  • 各种次要依赖更新 @jaheba (#3689)

Tabular

Highlights

AutoGluon 1.0 在预测质量方面进行了重大改进,确立了表格建模的新技术水平。更多详情请参阅上面的亮点部分!

New Features

  • 添加了dynamic_stacking预测器拟合参数,以减轻堆叠过拟合 @LennartPurucker @Innixma (#3616)

  • 添加了zeroshot-HPO学习组合作为best_qualityhigh_quality预设的新超参数。@Innixma @geoalgo (#3750)

  • 为TabularPredictor添加了实验性的scikit-learn API兼容包装器。您可以通过from autogluon.tabular.experimental import TabularClassifier, TabularRegressor访问它们。@Innixma (#3769)

  • 添加了 predictor.model_failures() @Innixma (#3421)

  • 添加了增强的FT-Transformer @taoyang1122 @Innixma (#3621, #3644, #3692)

  • 添加了 predictor.simulation_artifact() 以支持与 TabRepo 的集成 @Innixma (#3555)

Performance Improvements

  • 通过输出裁剪增强FastAI模型在回归上的质量 @LennartPurucker @Innixma (#3597)

  • 添加了跳过连接加权集成 @LennartPurucker (#3598)

  • 通过使用ray进程进行顺序拟合来修复内存泄漏 @LennartPurucker (#3614)

  • 添加了动态并行折叠支持,以在低内存场景中更好地利用计算 @yinweisu @Innixma (#3511)

  • 修复了在HPO期间线性模型崩溃的问题,并为线性模型添加了搜索空间 @Innixma (#3571, #3720)

Other Enhancements

  • 多层堆叠现在产生确定性结果 @LennartPurucker (#3573)

  • 各种模型依赖更新 @mglowacki100 (#3373)

  • 各种代码清理和日志记录改进 @Innixma (#3408, #3570, #3652, #3734)

Bug Fixes / Code and Doc Improvements

  • 修复了不正确的模型内存使用计算 @Innixma (#3591)

  • 修复了在bagging @Innixma时错误使用infer_limit的问题 (#3467)

  • 修复了罕见的边缘情况 FastAI 模型崩溃 @Innixma (#3416)

  • 各种小错误修复 @Innixma (#3418, #3480)

AutoMM

AutoGluon Multimodal (AutoMM) 旨在简化基础模型在下游应用中的微调,只需三行代码即可完成。 它无缝集成了流行的模型库,如 HuggingFace TransformersTIMMMMDetection, 支持多种数据模态,包括图像、文本、表格和文档数据,无论是单独使用还是组合使用。

New Features

  • 语义分割

    • 介绍新的问题类型 semantic_segmentation,用于通过三行代码微调 Segment Anything Model (SAM)。@Harry-zzh @zhiqiangdon (#3645, #3677, #3697, #3711, #3722, #3728)

    • 添加了来自不同领域的综合基准,包括自然图像、农业、遥感和医疗保健。

    • 利用参数高效微调(PEFT)LoRA,展示了在广泛的基准测试中优于其他方法(VPTadaptor, BitFit, SAM-adaptor, 和 LST)的持续优越性能。

    • 添加了一个语义分割教程 @zhiqiangdon (#3716)。

    • 默认使用 SAM-ViT Huge(需要 GPU 内存大于 25GB)。

  • 少样本分类

    • 新增了few_shot_classification问题类型,用于在图像或文本上训练少样本分类器。@zhiqiangdon (#3662, #3681, #3695)

    • 利用图像/文本基础模型提取特征并训练SVM分类器。

    • 添加了一个少样本分类教程。@zhiqiangdon (#3662)

  • 支持 torch.compile 以加速训练(实验性功能,需要 torch >=2.2)@zhiqiangdon (#3520)。

Performance Improvements

  • 改进了默认的图像骨干网络,在图像基准测试中实现了100%的胜率。@taoyang1122 (#3738)

  • 将MLPs替换为FT-Transformer作为默认的表格骨干网络,在文本+表格基准测试中获得了67%的胜率。@taoyang1122 (#3732)

  • 使用改进的默认图像骨干和FT-Transformer在文本+表格+图像基准测试中实现了62%的胜率。@taoyang1122 (#3732, #3738)

稳定性增强

  • 启用了严格的多GPU CI测试。@prateekdesai04 (#3566)

  • 修复了多GPU问题。@FANGAreNotGnu (#3617 #3665 #3684 #3691, #3639, #3618)

增强的可用性

  • 支持自定义评估指标,允许定义自定义的指标对象并将其传递给eval_metric参数。@taoyang1122 (#3548)

  • 在笔记本中支持多GPU训练(实验性)。@zhiqiangdon (#3484)

  • 改进了包含系统信息的日志记录。@zhiqiangdon (#3735)

改进的可扩展性

  • 新学习者类设计的引入使得在AutoMM中更容易支持新任务和数据模式,从而增强了整体的可扩展性。@zhiqiangdon (#3650, #3685, #3735)

Other Enhancements

  • 添加了选项 hf_text.use_fast 用于自定义 hf_text 模型中的快速分词器使用。@zhiqiangdon (#3379)

  • 添加了备用评估/验证指标,支持 f1_macro f1_microf1_weighted。@FANGAreNotGnu (#3696)

  • 支持使用DDP策略进行多GPU推理。@zhiqiangdon (#3445, #3451)

  • 升级了torch到2.0。@zhiqiangdon (#3404)

  • 升级了lightning到2.0 @zhiqiangdon (#3419)

  • 升级了torchmetrics到1.0 @zhiqiangdon (#3422)

代码改进

  • 使用学习者类重构了AutoMM,以改进设计。@zhiqiangdon (#3650, #3685, #3735)

  • 重构了FT-Transformer。@taoyang1122 (#3621, #3700)

  • 重构了目标检测、语义分割和NER的可视化工具。@zhiqiangdon (#3716)

  • 其他代码重构/清理:@zhiqiangdon @FANGAreNotGnu (#3383 #3399 #3434 #3667 #3684 #3695)

错误修复/文档改进

  • 修复了焦点损失的HPO。@suzhoum (#3739)

  • 修复了一个ONNX导出问题。@AnirudhDagar (#3725)

  • 改进了AutoMM的介绍以提高清晰度。@zhiqiangdon (#3388 #3726)

  • 改进了AutoMM API文档。@zhiqiangdon @AnirudhDagar (#3772 #3777)

  • 其他错误修复 @zhiqiangdon @FANGAreNotGnu @taoyang1122 @tonyhoo @rsj123 @AnirudhDagar (#3384, #3424, #3526, #3593, #3615, #3638, #3674, #3693, #3702, #3690, #3729, #3736, #3474, #3456, #3590, #3660)

  • 其他文档改进 @zhiqiangdon @FANGAreNotGnu @taoyang1122 (#3397, #3461, #3579, #3670, #3699, #3710, #3716, #3737, #3744, #3745, #3680)

TimeSeries

Highlights

AutoGluon 1.0 在 TimeSeries 模块中引入了许多可用性和性能改进。这些改进包括自动处理缺失数据和不规则时间序列、新的预测指标(包括自定义指标支持)、高级时间序列交叉验证选项以及新的预测模型。AutoGluon 在预测准确性方面取得了最先进的结果,与其他流行的预测框架相比,实现了 70%+ 的胜率

New features

  • 支持自定义预测指标 @shchur (#3760, #3602)

  • 新的预测指标 WAPE, RMSSE, SQL + 改进的 指标文档 @melopeo @shchur (#3747, #3632, #3510, #3490)

  • 改进的鲁棒性:TimeSeriesPredictor 现在可以处理具有所有 pandas 频率、不规则时间戳或由 NaN 表示的缺失值的数据 @shchur (#3563, #3454)

  • 新模型:基于保形预测的间歇需求预测模型(ADIDA, CrostonClassic, CrostonOptimized, CrostonSBA, IMAPA);来自GluonTS的WaveNetNPTS;新的基线模型(Average, SeasonalAverage, Zero)@canerturkmen @shchur (#3706, #3742, #3606, #3459)

  • 高级交叉验证选项:使用refit_every_n_windows避免为每个验证窗口重新训练模型,或使用val_step_size参数调整验证窗口之间的步长,传递给TimeSeriesPredictor.fit @shchur (#3704, #3537)

Enhancements

  • 为深度学习预测模型启用Ray Tune @canerturkmen (#3705)

  • 支持将多个评估指标传递给 TimeSeriesPredictor.evaluate @shchur (#3646)

  • 现在可以将静态特征直接传递给 TimeSeriesDataFrame.from_pathTimeSeriesDataFrame.from_data_frame 构造函数 @shchur (#3635)

性能改进

  • 由于新的预设和更新的逻辑,用于在模型之间分配训练时间,因此在较短的时间限制下,预测更加准确 @shchur (#3749, #3657, #3741)

  • 更快的训练和预测 + 更低的内存使用,适用于 DirectTabularRecursiveTabular 模型 (#3740, #3620, #3559)

  • 启用早期停止并提高GluonTS模型的推理速度 @shchur (#3575)

  • 通过将导入语句移动到模型类内部,减少autogluon.timeseries的导入时间(#3514)

Bug Fixes / Code and Doc Improvements

  • 改进日志消息 @shchur (#3721)

  • 在README中添加对AutoGluon-TimeSeries出版物的引用 @shchur (#3482)

  • TimeSeriesPredictor的API与TabularPredictor对齐,移除已弃用的方法 @shchur (#3714, #3655, #3396)

  • 一般错误修复和改进 @shchur(#3758, #3756, #3755, #3754, #3746, #3743, #3727, #3698, #3654, #3653, #3648, #3628, #3588, #3560, #3558, #3536, #3533, #3523, #3522, #3476, #3463)

探索性数据分析

EDA模块将在稍后发布,因为它需要额外的开发工作才能准备好1.0版本。 当EDA准备好发布时,我们将发布公告。目前,请继续使用"autogluon.eda==0.8.2"

Deprecations

General

  • autogluon.core.spaces 已被弃用。请改用 autogluon.common.spaces @Innixma (#3701)

Tabular

如果使用已弃用的方法,Tabular 将记录警告。已弃用的方法计划在 AutoGluon 1.2 @Innixma (#3701) 中移除。

  • autogluon.tabular.TabularPredictor

    • predictor.get_model_names() -> predictor.model_names()

    • predictor.get_model_names_persisted() -> predictor.model_names(persisted=True)

    • predictor.compile_models() -> predictor.compile()

    • predictor.persist_models() -> predictor.persist()

    • predictor.unpersist_models() -> predictor.unpersist()

    • predictor.get_model_best() -> predictor.model_best

    • predictor.get_pred_from_proba() -> predictor.predict_from_proba()

    • predictor.get_oof_pred_proba() -> predictor.predict_proba_oof()

    • predictor.get_oof_pred() -> predictor.predict_oof()

    • predictor.get_model_full_dict() -> predictor.model_refit_map()

    • predictor.get_size_disk() -> predictor.disk_usage()

    • predictor.get_size_disk_per_file() -> predictor.disk_usage_per_file()

    • predictor.leaderboard() silent 参数已弃用,替换为 display,默认值为 False

      • 同样适用于 predictor.evaluate()predictor.evaluate_predictions()

AutoMM

  • 弃用了FewShotSVMPredictor,转而使用新的few_shot_classification问题类型 @zhiqiangdon (#3699)

  • 弃用了AutoMMPredictor,改用MultiModalPredictor @zhiqiangdon (#3650)

  • autogluon.multimodal.MultiModalPredictor

    • 弃用了 fit API 中的 config 参数。@zhiqiangdon (#3679)

    • 弃用了init API中的init_scratchpipeline参数 @zhiqiangdon (#3668)

TimeSeries

  • autogluon.timeseries.TimeSeriesPredictor

    • 已弃用的参数 TimeSeriesPredictor(ignore_time_index: bool)。现在,如果数据包含不规则的时间戳,要么使用 data = data.convert_frequency(freq) 将其转换为规则的频率,要么在创建预测器时提供频率,如 TimeSeriesPredictor(freq=freq)

    • predictor.evaluate() 现在返回一个字典(之前返回一个浮点数)

    • predictor.score() -> predictor.evaluate()

    • predictor.get_model_names() -> predictor.model_names()

    • predictor.get_model_best() -> predictor.model_best

    • 指标 "mean_wQuantileLoss" 已更名为 "WQL"

    • predictor.leaderboard() silent argument deprecated, replaced by display, defaults to False

    • 当在predictor.fit()中将hyperparameters设置为字符串时,现在支持的值为"default""light""very_light"

  • autogluon.timeseries.TimeSeriesDataFrame

    • df.to_regular_index() -> df.convert_frequency()

    • 已弃用的方法 df.get_reindexed_view()。请参阅上面 TimeSeriesPredictor 下的 ignore_time_index 的弃用说明,了解如何处理不规则时间戳。

  • 模型

    • 所有基于MXNet的模型(DeepARMXNet, MQCNNMXNet, MQRNNMXNet, SimpleFeedForwardMXNet, TemporalFusionTransformerMXNet, TransformerMXNet)已被移除

    • 来自Statmodels的统计模型(ARIMA, Theta, ETS)已被StatsForecast中的对应模型替换(#3513)。请注意,这些模型现在具有不同的超参数名称。

    • DirectTabular 现在使用 mlforecast 后端实现(与 RecursiveTabular 相同),模型的大多数超参数名称已更改。

  • autogluon.timeseries.TimeSeriesEvaluator 已被弃用。请使用 autogluon.timeseries.metrics 中可用的指标。

  • autogluon.timeseries.splitter.MultiWindowSplitterautogluon.timeseries.splitter.LastWindowSplitter 已被弃用。请使用 num_val_windowsval_step_size 参数来替代 TimeSeriesPredictor.fit(或者使用 autogluon.timeseries.splitter.ExpandingWindowSplitter)。

论文

AutoGluon-TimeSeries: 用于概率时间序列预测的AutoML

我们在2023年AutoML会议上发表了一篇关于AutoGluon-TimeSeries的论文(论文链接, YouTube视频)。 在论文中,我们对AutoGluon和流行的开源预测框架(包括DeepAR、TFT、AutoARIMA、AutoETS、AutoPyTorch)进行了基准测试。 AutoGluon在点预测和概率预测方面取得了SOTA结果,甚至在与最佳模型组合的对比中取得了65%的胜率

TabRepo: 大规模表格模型评估库及其AutoML应用

我们已经在arXiv上发表了一篇关于表格零样本-HPO集成模拟的论文(论文链接, GitHub)。 这篇论文对于实现AutoGluon 1.0中看到的性能改进至关重要,我们计划继续开发代码库以支持未来的增强功能。

XTab: 用于表格Transformer的跨表预训练

我们在ICML 2023上发表了一篇关于表格Transformer预训练的论文(论文链接, GitHub)。 在论文中,我们展示了表格深度学习模型的最先进性能,包括能够匹配XGBoost和LightGBM模型的性能。 虽然预训练的Transformer尚未集成到AutoGluon中,但我们计划在未来的版本中集成它。

学习特征空间中的多模态数据增强

我们关于学习多模态数据增强的论文被ICLR 2023接受(论文链接, GitHub)。 这篇论文介绍了一个即插即用的模块,用于在特征空间中学习多模态数据增强, 对模态的身份或模态之间的关系没有任何限制。 我们展示了它可以(1)提高多模态深度学习架构的性能, (2)适用于以前未考虑过的模态组合, 以及(3)在由图像、文本和表格数据组成的广泛应用中实现最先进的结果。这项工作尚未纳入AutoGluon,但我们计划在未来的版本中集成它。

通过可控扩散模型进行目标检测的数据增强

我们关于生成式目标检测数据增强的论文已被WACV 2024接受(论文和GitHub链接将很快提供)。 本文提出了一种基于可控扩散模型和CLIP的数据增强流程, 通过视觉先验生成来指导生成,并通过类别校准的CLIP分数进行后过滤以控制其质量。 我们展示了在使用我们的增强流程与不同检测器时,各种任务和设置中的性能都有所提升。 尽管扩散模型目前尚未集成到AutoGluon中,但我们计划在未来的版本中纳入这些数据增强技术。

适应图像基础模型以进行视频理解

我们在ICLR 2023上发表了一篇关于如何高效地将图像基础模型应用于视频理解的论文(论文链接, GitHub)。这篇论文介绍了空间适应、时间适应和联合适应,逐步为冻结的图像模型赋予时空推理能力。所提出的方法在显著节省大型基础模型训练成本的同时,实现了与传统全微调相当甚至更好的性能。