ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

AutoGluon 0.5.1 技术解析:AutoMM 多模态模型库与 AutoGluon-TimeSeries 时序预测的里程碑更新

2026/9/15 19:50:24 拓冰建站 浏览量
AutoGluon 0.5.1 技术解析:AutoMM 多模态模型库与 AutoGluon-TimeSeries 时序预测的里程碑更新 AutoGluon 0.5.1 技术解析AutoMM 多模态模型库与 AutoGluon-TimeSeries 时序预测的里程碑更新【免费下载链接】autogluonFast and Accurate ML in 3 Lines of Code项目地址: https://gitcode.com/GitHub_Trending/au/autogluonAutoGluon 0.5.1 是 v0.5 系列的重要迭代版本它一方面将原 AutoMM 深度学习框架正式迁移至autogluon.multimodal命名空间成为集单模态 多模态 模型融合于一体的深度学习模型库另一方面为 v0.5 新引入的 AutoGluon-TimeSeries 模块补齐了早停、季节性周期自动推断等关键能力。本文以 v0.5.1 发布说明 为核心骨架结合当前仓库中 AutoMM 与 TimeSeries 的源码实现、默认配置与示例代码逐项剖析这两大模块的能力边界与底层原理帮助读者理解 0.5.1 版本能做什么、为什么这样设计、源码如何支撑。一、AutoMM 更名为autogluon.multimodal一个模型库的模型库v0.5.1 最核心的结构性变化是 AutoMM 采用全新的autogluon.multimodal命名空间。发布说明将其定位为 a deep learning model zoo of model zoos模型库的模型库其能力分为三个层面单模态自动训练自动训练纯图像image-only、纯文本text-only或纯表格tabular-only问题的深度模型多模态自动求解通过融合多个深度学习模型自动解决图像、文本、表格任意组合的多模态问题可作为 AutoGluon Tabular 的基模型AutoMM 训练出的模型可以无缝嵌入 AutoGluon Tabular 的模型集成中参与整体 ensemble。从当前仓库源码结构看这一设计直接体现在 multimodal/src/autogluon/multimodal 目录的划分上models/下注册了timm_image、hf_text、clip、fusion_mlp、fusion_transformer、ft_transformer、document_transformer、sam等二十余类模型见 模型默认配置data/、optim/、learners/、utils/分别承载数据处理、优化器/训练逻辑、学习器与工具函数构成一个可插拔的模型工厂。其中fusion_transformer与fusion_mlp是多模态融合的关键它们接收来自各单模态模型的column features含 mask通过多层 Transformer/MLP 做跨模态交互与融合这正是融合多个深度学习模型的源码级落地。二、CLIP 零样本学习图像分类与图文检索的免训练方案v0.5.1 通过 [PR #1922] 引入基于 CLIP 的零样本学习能力零样本图像分类用户无需任何训练样本直接用 CLIP 模型对图像做分类嵌入提取与检索提取图像与文本的 embedding用于 image-to-text 或 text-to-image 检索。源码实现CLIPForImageText核心实现在 CLIP 模型实现。CLIPForImageText封装了 Hugging Face Transformers 的 CLIP 预训练权重关键设计点包括按需裁剪分支has_image/has_text参数控制是否保留视觉/文本编码器。当is_matchingTrue检索/匹配任务时两者强制都开启见 clip.py#L79-L82缺图处理use_learnable_imageTrue时会用可学习的nn.Parameter图像替换缺失图像clip.py#L108-L111保证 batch 中部分样本缺图时训练仍可进行特征归一化与相似度图像/文本特征均做 L2 归一化无分类头时输出logit_scale.exp()与余弦相似度 logits直接支撑匹配/检索任务clip.py#L279-L283分层 id 分配get_layer_ids()按text_model/vision_model/ 外层三类前缀为每层分配 id用于 layer-wise learning rate decayclip.py#L287-L328。默认配置在 模型默认配置 中CLIP 段的默认参数为checkpoint 默认openai/clip-vit-base-patch32image_size: 224image_norm: clipmax_text_len: 77CLIP 的最大序列长度text_segment_num: 1insert_sep: Falsetokenizer_name: clip。零样本场景下可直接复用该预训练分支不经过分类头训练。实战路径仓库内的相关教程可直接上手路径均已转换为仓库根目录相对路径零样本图像分类教程clip_zeroshot.ipynbCLIP embedding 图文检索教程位于 multimodal 教程索引 的 semantic_matching 目录如 image_text_matching.ipynb三、高效微调Efficient Finetuning用 0.5% 的参数微调大模型v0.5.1 显著强化了参数高效微调能力正式支持五种策略bit_fit、norm_fit、lora、lora_bias、lora_norm。发布说明披露的实验结论基于 xnli、stsb_multi_mt、paws-x、amazon_reviews_multi 四个多语言数据集是lora_biasLoRA 与 BitFit 的组合综合表现最佳相比全网络微调lora_bias仅微调0.5%的网络参数即可在stsb_multi_mt上取得可比性能。策略的源码定义与参数选择五种策略在 constants.py 中统一定义并在 optim/utils.py 的 get_peft_param_names 中映射为可训练参数的正则模式策略可训练参数模式含义bit_fit.*bias*.仅微调所有偏置项BitFit 思路norm_fit.*bias*. norm 层参数偏置 LayerNorm 等归一化层参数lora.*lora_*.仅微调低秩分解的 A/B 矩阵lora_bias.*lora_*..*bias*.LoRA 与 BitFit 的组合lora_norm.*lora_*..*bias*. norm 层参数LoRA 偏置 归一化层底层 LoRA 算子LoRA 系列算子在 adaptation_layers.py 中实现其代码基于微软 LoRA 官方库改写文件头注明了出处与 MIT 许可。核心类包括LoRALinearL218-L308将权重矩阵冻结self.weight.requires_grad False引入lora_Ar×in与lora_Bout×r两个可训练低秩矩阵前向计算result (x A^T B^T) * (lora_alpha / r)支持在 eval 时把低秩增量合并回权重矩阵以降低推理延迟merge_weightsLoRAEmbeddingL311-L395将 LoRA 应用于 Embedding 层词嵌入同样被冻结LoRAMergedLinearL398-L516适配注意力中 Q/K/V 投影合并为一个线性层的情形通过enable_lora掩码控制哪些子投影使用 LoRALoRAConv2dL519-L603与ConvLoRALinearL606-L727面向视觉/分割模型的卷积 LoRA 变体其中ConvLoRALinear还引入了 MoE 专家路由MoEGateSparseDispatcher。初始化遵循标准做法A 用 kaiming_uniform 初始化B 初始化为 0从而保证训练开始时低秩增量不破坏预训练权重见reset_parameters如 L273-L278。mT5-XL单卡微调 17 亿参数模型v0.5.1 的另一项高效微调能力是支持在单张 NVIDIA G4 GPU 上微调mT5-XL17 亿参数。实现思路与 Sentence-T5 一致仅使用 T5 编码器1.7B 参数配合上述参数高效微调策略将显存与可训练参数控制在单卡可承载范围。这一能力与当前仓库中 examples/automm/text_prediction 等示例构成完整闭环。四、数据增强三件套Mixup、TrivialAugment 与 EDAv0.5.1 为 AutoMM 新增三类数据增强技术Mixup图像在图像样本间做线性插值混合增强模型对样本间过渡区域的鲁棒性。仓库中的实现位于 data/mixup.py并在 多模态数据预处理 中与多图列multi-image column机制协同工作TrivialAugment图像 文本一种零超参的自动增强策略从增广操作空间中随机采样单一操作并随机幅度应用。实现见 data/trivial_augmenter.py并已接入 模型默认配置 的train_transforms例如timm_image段的resize_shorter_sidecenter_croptrivial_augmentEasy Text AugmentationsEDA文本即随机交换random_swap、随机删除random_delete、同义词替换syn_replacement、标点插入insert_punc等轻量文本增强。在 模型默认配置 的text_train_augment_types字段中保留了完整的候选空间默认注释关闭可按需取消注释启用如random_swap(0.05)并附注释提示 0.05 的概率依据来自 EDA 论文。文本增强还配套了text_aug_detect_length: 10仅对长度超过 10 的文本做增强用于区分文本列与被当作文本处理的表格列和text_trivial_aug_maxscale增广幅度上限两个精细控制参数见 模型默认配置。五、教师-学生知识蒸馏的增强v0.5.1 增强了教师-学生蒸馏能力支持将单模态或多模态教师模型的知识蒸馏到学生模型对应 [PR #1670]、[PR #1895]。蒸馏场景在仓库中有独立实现蒸馏训练核心逻辑位于 optim/lit_distiller.py学生模型在训练中同时拟合真实标签与教师模型的软标签输出配套的多语言蒸馏示例见 examples/automm/distillation其中 automm_distillation_glue.py 演示 GLUE 基准上的蒸馏、automm_distillation_pawsx.py 演示 PAWS-X 多语言数据上的蒸馏eval_pawsx.py 提供对应评估入口。蒸馏与高效微调结合可在保持精度的同时大幅压缩推理成本是生产环境中部署大模型的常用链路。六、更丰富的教程与实战示例v0.5.1 同步补全了大量面向初学者的资料仓库中对应资源如下路径均为仓库根目录相对路径多模态入门教程docs/tutorials/multimodal/index.md 汇总了图像、文本、多模态含表格的全部入门教程例如 beginner_multimodal.ipynb、beginner_image_cls.ipynb、beginner_text.ipynb零样本分类教程clip_zeroshot.ipynbCLIP 嵌入提取教程图文检索场景参考 image_text_matching.ipynbAutoMM 全量配置说明教程customization.ipynbAutoMM 表格数据示例examples/automm/tabular_dl含 README.md、dataset.py 与 example_tabular.py演示将 AutoMM 深度模型直接用于结构化表格数据AutoMM 蒸馏示例examples/automm/distillation。此外发布说明还记录了一个 Kaggle 实战案例使用 AutoMM 预测宠物领养意愿的 notebook 在 kernel-only 竞赛测试数据仅在无网络的 kernel 内可得中取得了约 top 1%20th/3537的成绩说明 AutoMM 在小样本、受限环境下的实际可用性。七、AutoGluon-TimeSeries面向概率预测的时序 AutoMLv0.5 起AutoGluon 正式支持时序预测 AutoMLv0.5.1 为其补齐了多项关键能力。该模块统一通过TimeSeriesPredictor类提供 AutoGluon 一贯的简洁接口支持两类模型路线统计/经典方法ETS、ARIMA 等现代深度学习方法经由 GluonTS 接入的深度序列模型如 DeepAR、TemporalFusionTransformer、DLinear、PatchTST 等见 gluonts 模型注册。模块特色包括时序模型的加权集成weighted ensemble以及面向概率分位数预测的设计可覆盖需求预测、供应链预测到金融场景的广泛用途。快速上手入口见 timeseries 入门教程。v0.5.1 的修复与增强发布说明逐条列出的 v0.5.1 时序模块改进如下为时序模型加入早停early stopping[PR #1917]在验证窗口上监控指标指标不再提升时提前终止训练节省算力季节性周期自动推断[PR #1914]AutoETS可从TimeSeriesDataFrame索引的频率自动推断seasonal_period智能设置 ETS 模型默认使用的季节周期。从当前源码看AutoETSModel的seasonal_period参数在设为None时会从训练数据频率推断且当推断或给定的周期为 1 时自动禁用季节性见 statsforecast.py 中 AutoETSModel 定义其中 ETS 模型字符串形如 AAA将最后一个字符改为 N 即关闭季节性模型 preset 变更[PR #1914]默认启用ARIMA与 GluonTS 的Transformer模型移除MQCNN模型。注意当前仓库的时序超参数 preset 已随版本演进进一步调整最新defaultpreset 见 hyperparameter_presets.py阅读时需留意版本差异修复自定义目标列名问题[PR #1901]修复使用TimeSeriesPredictor时自定义 target 列名导致的数据集处理缺陷版本封顶[PR #1914]、[PR #1916]对gluonts、sktime依赖版本进行上限约束保证模块兼容性与可复现性。八、总结AutoGluon 0.5.1 完成了两件承上启下的事一是把 AutoMM 重塑为autogluon.multimodal这一融合了 CLIP 零样本、五类参数高效微调策略、三类数据增强与增强版知识蒸馏的多模态模型库二是把 AutoGluon-TimeSeries 从可用打磨到更好用补上早停、季节周期推断、preset 调优等工程细节。对于开发者而言0.5.1 意味着多模态任务可以直接复用 models/clip.py 与 adaptation_layers.py 中的成熟实现时序预测则可通过TimeSeriesPredictor一行式接口快速落地是理解 AutoGluon 多模态与时序架构演进的关键版本节点。【免费下载链接】autogluonFast and Accurate ML in 3 Lines of Code项目地址: https://gitcode.com/GitHub_Trending/au/autogluon创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考