Model Soups
探索 Model Soups 如何通过平均化 Ultralytics YOLO 模型的权重来提高准确性和鲁棒性。学习在不增加延迟的情况下提升性能。
Model Soups 指的是一种机器学习技术,通过将使用不同超参数从同一个预训练基础模型微调出的多个神经网络权重进行平均,从而创建一个单一且更稳健的模型。这种方法使开发者能够在不增加推理阶段计算成本的情况下,提高整体准确率和泛化能力。
在微调模型时,从业者通常会运行广泛的 hyperparameter tuning 扫描来寻找性能最佳的配置。传统做法是选择单一最佳模型并丢弃其余模型。然而,创建 Model Soups 可以充分利用扫描中所有模型所学习到的多样化特征。通过直接对其 model weights 进行平均,所得出的网络通常优于单一最佳模型,在最大限度减少 overfitting 的同时有效地结合了它们的优势。这一过程效率极高,并且可以在 Ultralytics Platform 等协作环境中轻松管理。
Link to this section实际应用#
Model Soups 在计算资源受限但又需要高准确性和稳健性的场景中非常有效。
- 自动驾驶视觉: 在自动驾驶汽车中部署 object detection 系统时,模型必须在不同的光照和天气条件下保持泛化能力。通过对使用不同数据增强和学习率训练出的多个模型进行平均,工程师可以创建一个高度稳健的“汤”(soup),并保持较低的 inference latency。这确保了 autonomous navigation 所需的实时处理速度不受影响。
- 移动端医学诊断: 在边缘 AI 应用中,例如在智能手机上运行 image classification 进行初步皮肤科筛查时,计算能力受到严重限制。Model Soup 提供了临床可靠性所需的准确率提升,同时确保最终占用空间能轻松适应 mobile edge devices,而不会耗尽电池或需要云连接。
Link to this section区分相关概念#
为了理解 deep learning optimization 的全貌,将 Model Soups 与类似技术区分开来很重要:
- Model Ensemble: 集成学习结合了多个独立模型的 预测(输出)结果。虽然这提高了准确率,但它需要在推理过程中运行每一个模型,从而倍增了计算成本。Model Soups 在推理前平均了 权重,使计算成本与单一模型保持一致。
- Model Merging: 这是一个更广泛的术语,指结合可能在完全不同任务或数据集上训练的模型。Model Soups 是合并中的一个特定子集,其中所有模型都源自完全相同的 pre-trained base architecture,并且都在同一个目标任务上进行了微调。
Link to this section实现示例#
Creating a uniform model soup involves accessing the PyTorch state dictionary of multiple trained models and mathematically averaging their tensors. Below is a concise example of how this can be achieved using an Ultralytics YOLO26 workflow natively backed by the PyTorch framework.
import torch
# Load the PyTorch state dictionaries from two fine-tuned YOLO26 models
model1 = torch.load("yolo26_run1.pt")["model"].state_dict()
model2 = torch.load("yolo26_run2.pt")["model"].state_dict()
# Create a uniform model soup by averaging the model weights
soup_dict = {key: (model1[key] + model2[key]) / 2.0 for key in model1.keys()}
# The resulting soup_dict can now be loaded into a new YOLO26 instanceBy leveraging this technique, computer vision practitioners can easily boost performance metrics like zero-shot learning capabilities and general robustness without sacrificing the deployment speed required for modern, edge-first AI architectures.






