Task Arithmetic
发现任务算术如何利用权重更新来编辑模型行为。学习在不完全重新训练的情况下合并任务或在 Ultralytics YOLO26 中取消学习特征。
任务算术是一种先进的机器学习技术,它通过增加或减去特定的权重更新来修改预训练神经网络的行为。开发者无需从零开始全面重新训练模型,而是可以提取基础模型与微调模型之间学到的差异。这些差异本质上是体现特定能力或行为的方向性更新。通过对这些更新应用基本的加减数学运算,开发者可以动态地编辑深度学习系统。这种范式在最近关于任务算术的 arXiv 研究中获得了极大的关注,为使大规模模型适应新需求提供了一种轻量级且计算效率高的方法。
Link to this section概念原理#
The foundation of this technique relies on calculating the difference in model weights between a base pre-trained model and a version that has undergone fine-tuning on a specific dataset. This isolated difference becomes a localized representation of the new skill. By directly manipulating PyTorch state dictionaries or utilizing TensorFlow training methodologies, engineers can scale and combine these weight differences. For instance, subtracting a specific weight update can force a model to "forget" a learned behavior, a concept heavily explored in Anthropic research on model safety.
Link to this section实际应用#
任务算术为现代计算机视觉和自然语言处理流水线开启了多种高效的工作流程:
- 多任务能力合并:工程师可以分别在两个独立的数据集上训练Ultralytics YOLO26基础模型——一个用于专业的目标检测,另一个用于图像分类。通过计算这两个任务的权重差异并将其加回到基础模型中,最终的网络可以在不产生灾难性遗忘的情况下同时执行这两项任务。
- 针对性遗忘以保障 AI 安全:如果视觉模型无意中从训练数据中学到了有偏差的特征,研究人员可以对该模型的副本进行微调以专门针对偏差数据,提取出特定的权重差异,并将其从原始模型中减去。正如各种Google DeepMind 的发现中所指出的,这有效地清除了不需要的行为,同时保留了模型通用的人工智能能力。
Link to this section区分相关概念#
在浏览 IEEE Xplore 档案或 ACM 数字图书馆时,很容易将任务算术与相关方法混淆:
- 任务向量:这些是在算术过程中使用的实际数学张量(即计算出的权重差异)。任务算术是加减这些向量的总体框架。
- 模型合并:这是组合多个模型的更广泛术语。虽然算术是合并模型的一种方式,但合并还可以涉及复杂的路由网络或集成学习。
- 迁移学习:根据 Wikipedia 迁移学习概念,这涉及将一个任务的知识作为另一个任务的起点,这通常需要进一步的训练循环。任务算术则纯粹通过直接的权重计算来修改行为,而无需额外的训练循环。
Link to this section实现算术运算#
在实践中应用这些模型优化策略需要谨慎管理模型的内部状态。下面是一个使用 PyTorch 计算和应用更新的示例,这是一种在近期计算机视觉论文中经常讨论的技术。
import torch
# Load the state dictionaries of the pre-trained base and fine-tuned models
base_weights = torch.load("yolo26_base.pt")
tuned_weights = torch.load("yolo26_tuned.pt")
# Calculate the task vector and add it back to the base model with a scaling factor
scaling_factor = 0.5
for key in base_weights.keys():
task_vector = tuned_weights[key] - base_weights[key]
base_weights[key] += scaling_factor * task_vector对于管理复杂数据标注流水线和多个微调模型版本的团队来说,Ultralytics Platform 提供了一个简化的环境来监管云端训练和无缝部署,从而使迭代模型改进的管理变得更加高效。






