返回 Ultralytics 术语表
Model Merging
了解模型合并如何将多个预训练模型组合为一个模型。了解如何融合 Ultralytics YOLO26 权重,在不增加额外延迟的情况下提升性能。
模型合并是机器学习 (ML)中的一种创新技术,可将多个预训练模型学习到的参数(权重)组合成一个统一的模型。与传统的多模型设置不同,模型合并会直接在参数空间中融合模型权重。这样,开发者无需承担同时运行多个模型所带来的内存和计算成本,即可结合多个在不同任务或数据集上微调的模型所掌握的专业知识。
通过直接对权重执行操作,模型合并能够保持单个网络的架构规模。这对于将先进的计算机视觉 (CV)流水线部署到边缘设备尤其有价值,因为降低推理延迟和节省内存至关重要。
区分模型合并#
- 模型合并与模型集成的区别:模型集成会保留各个网络的独立性,在推理期间分别运行每个网络并对其输出取平均值。这会提高准确率,但也会成倍增加计算开销。模型合并会在推理之前组合实际权重,最终得到一个无需额外运行时计算的模型。
- 模型合并与迁移学习的区别:迁移学习需要在基础模型上继续使用新数据集进行训练。模型合并无需额外的微调,而是使用数学运算来融合已经训练好的模型。
常见技术#
研究人员已经开发出多种方法,在不破坏网络底层能力的情况下有效组合权重,相关方法已在近期的arXiv 学术研究中得到探讨。
- 权重平均:最简单的方法,对多个具有相同架构的模型的权重取平均值。
- 任务算术:一种通过加减“任务向量”(微调模型与其基础模型之间的差异)来组合或移除特定行为的技术。
- TIES-Merging:一种先进方法,通过裁剪冗余值并在各模型之间选择一致的符号来解决参数干扰,从而在多种任务中保持性能。
实际应用#
模型合并对于构建无需从头开始重新训练的通用系统非常有效。
- 自动驾驶车辆:自动驾驶汽车可能会使用Ultralytics YOLO26基础模型。工程师可以独立训练一个模型版本来检测细微的行人动作,再训练另一个模型来识别复杂的道路标志。合并这两个模型后,可创建一个功能强大的检测器,同时处理这两项任务,而不会使推理时间翻倍。
- 医疗保健领域的 AI:在医学影像领域,由于严格的数据隐私法规,不同的研究医院可能会在各自的专用本地数据集上微调模型(例如,一个模型用于 MRI 扫描,另一个模型用于 CT 扫描)。通过安全地合并这些模型,研究人员可以创建一个综合诊断工具,从多样化的数据分布中获益。
示例:简单的权重平均#
你可以使用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 项目。









