任务算术(Task Arithmetic)是一种在模型权重上做“加减法”的后处理技术:先取某个任务微调后的权重,减去预训练权重,得到一个“任务向量”(task vector);再把任务向量加回、相减或按系数缩放,就能让同一个模型获得、削弱或组合相应能力。
为什么加减能生效
设预训练权重为 θ₀,在任务 i 上微调后为 θᵢ,任务向量就是 τᵢ = θᵢ − θ₀。它不是单个数字,而是一整组参数偏移,方向指向“把通用模型推向任务 i”的那条路。
可以打个调音台的比方:θ₀ 是一套已经调好的乐队原声,微调某个任务相当于给某件乐器拧了一组旋钮;任务向量就是“这组旋钮相对初始位置的偏移记录”。多份偏移记录可以叠加,是因为单个任务的微调通常只改动参数空间中相对有限的一块,不同任务的偏移方向在经验上不容易全面冲突。于是 θ₀ + λ₁τ₁ + λ₂τ₂ 可能同时具备任务 1 和任务 2 的能力;θ₀ − λτ 则可能压低某种不良行为或“忘掉”某个任务。
代价是:任务之间会互相干扰,缩放系数 λ 往往要调;任务向量最好来自同一个基座模型的微调版本,否则“坐标系”对不上。
和相邻概念的区别
| 对比项 | 任务算术 | 多任务学习 | LoRA 等适配器 |
|---|---|---|---|
| 是否需要联合训练数据 | 否 | 是 | 否,但需训练适配器 |
| 产物 | 可加减的任务向量,最终合并成一个权重 | 一个联合训练的多任务模型 | 可插拔模块,也可合并 |
| 推理开销 | 合并后就是普通模型,无额外开销 | 无额外开销 | 不合并则需加载切换 |
| 典型用途 | 能力组合、机器遗忘、去偏 | 一个模型覆盖多任务 | 低成本微调与快速切换 |
任务算术也常被看作模型合并(model merging)中的一种做法:权重平均、TIES 等是它的邻居,区别在于任务算术以“任务向量”为运算单位。它也和激活引导(activation steering)不同:后者在推理时改激活,任务算术直接改权重。
对从业者和普通人的意义
对从业者,任务算术提供了一种“免联合训练数据”的能力拼装方式,也可用于机器遗忘(machine unlearning):减掉某个任务向量来削弱特定能力,部署时仍只有一个模型文件。对普通职场人,它提示:在基础模型上沉淀的专用能力,可以被当作可复用的“资产模块”来管理和组合。但组合效果必须用评测验证,不能想当然——加减法是近似的,不是魔法。
