了解模型合并如何将多个预训练模型组合成一个。学习如何融合 Ultralytics YOLO26 权重以在不增加额外延迟的情况下提升性能。
模型合并是 机器学习 (ML) 中的一种创新技术,它将多个预训练模型的学习参数(权重)组合成一个统一的模型。与传统的多模型设置不同,合并直接在参数空间中融合 模型权重。这使得实践者能够结合在不同任务或数据集上微调的多个模型的专业知识,而无需承担同时运行多个模型的内存和计算成本。
通过直接对权重进行操作,模型合并保持了单个网络的架构足迹。这在将先进的 计算机视觉 (CV) 流水线部署到边缘设备时尤其有价值,因为在边缘设备上,减少 推理延迟 和节省内存至关重要。
将模型合并与 模型集成 和 迁移学习 等相关概念区分开来是有帮助的。
研究人员已经开发出几种有效结合权重而不破坏网络底层能力的方法,正如最近 arXiv 上的学术研究 所探讨的。
模型合并对于无需从头开始重新训练即可构建通用系统非常有效。
您可以使用 PyTorch 轻松执行基本的模型合并。以下示例演示了如何平均两个结构相同的模型的状态字典。
import torch
# Load the weights (state dicts) from two identical architectures
weights_a = torch.load("yolo26_task1.pt")["model"].state_dict()
weights_b = torch.load("yolo26_task2.pt")["model"].state_dict()
# Perform simple weight averaging
merged_weights = {k: (weights_a[k] + weights_b[k]) / 2.0 for k in weights_a.keys()}
# Save the newly merged model weights
torch.save({"model": merged_weights}, "yolo26_merged.pt")
对于希望简化数据集标注、训练和部署复杂工作流程的团队,Ultralytics Platform 提供了一个直观的界面,可轻松管理端到端视觉AI项目。
开启您的机器学习未来之旅