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






